1. 程式人生 > >總結程式設計師這些年的資料應用發展史:從搜尋引擎到人工智慧

總結程式設計師這些年的資料應用發展史:從搜尋引擎到人工智慧

我們對大資料技術的使用也經歷了一個發展過程。從最開始的Google在搜尋引擎中開始使用大資料技術,到現在無處不在的各種人工智慧應用,伴隨著大資料技術的發展,大資料應用也從曲高和寡走到了今天的遍地開花。

 

Google從最開始發表大資料劃時代論文的時候,也許自己也沒有想到,自己開啟了一個大資料的新時代。今天大資料和人工智慧的種種成就,離不開全球數百萬大資料從業者的努力,這其中也包括你和我。歷史也許由天才開啟,但終究還是由人民創造,作為大資料時代的參與者,我們正在創造歷史。

 

大資料應用的搜尋引擎時代

 

作為全球最大的搜尋引擎公司,Google也是我們公認的大資料鼻祖,它儲存著全世界幾乎所有可訪問的網頁,數目可能超過萬億規模,全部儲存起來大約需要數萬塊磁碟。為了將這些檔案儲存起來,Google開發了GFS(Google 檔案系統),將數千臺伺服器上的數萬塊磁碟統一管理起來,然後當作一個檔案系統,統一儲存所有這些網頁檔案。

 

你可能會覺得,如果只是簡單地將所有網頁儲存起來,好像也沒什麼太了不起的。沒錯,但是 Google得到這些網頁檔案是要構建搜尋引擎,需要對所有檔案中的單詞進行詞頻統計,然後根據PageRank演算法計算網頁排名。這中間,Google需要對這數萬塊磁碟上的檔案進行計算處理,這聽上去就很了不起了吧。當然,也正是基於這些需求,Google又開發了MapReduce大資料計算框架。

 

其實在Google之前,世界上最知名的搜尋引擎是Yahoo。但是Google憑藉自己的大資料技術和 PageRank演算法,使搜尋引擎的搜尋體驗得到了質的飛躍,人們紛紛棄Yahoo而轉投Google。所以當Google發表了自己的GFS和MapReduce論文後,Yahoo應該是最早關注這些論文的公司。

 

Doug Cutting率先根據Google論文做了Hadoop,於是Yahoo就把Doug Cutting挖了過去,專職開發Hadoop。可是Yahoo和Doug Cutting的蜜月也沒有持續多久,Doug Cutting不堪 Yahoo的內部鬥爭,跳槽到專職做Hadoop商業化的公司Cloudera,而Yahoo則投資了 Cloudera的競爭對手HortonWorks。

 

頂尖的公司和頂尖的高手一樣,做事有一種優雅的美感。你可以看Google一路走來,從搜尋引擎、Gmail、地圖、Android、無人駕駛,每一步都將人類的技術邊界推向更高的高度。而差一點的公司即使也曾經獲得過顯赫的地位,但是一旦失去做事的美感和節奏感,在這個快速變革的時代,隕落得比流星還快。

 

大資料應用的資料倉庫時代

 

Google的論文剛發表的時候,吸引的是Yahoo這樣的搜尋引擎公司和Doug Cutting這樣的開源搜尋引擎開發者,其他公司還只是吃瓜群眾。但是當Facebook推出Hive的時候,嗅覺敏感的科技公司都不淡定了,他們開始意識到,大資料的時代真正開啟了。

 

曾經我們在進行資料分析與統計時,僅僅侷限於資料庫,在資料庫的計算環境中對資料庫中的資料表進行統計分析。並且受資料量和計算能力的限制,我們只能對最重要的資料進行統計和分析。這裡所謂最重要的資料,通常指的都是給老闆看的資料和財務相關的資料。

 

而Hive可以在Hadoo上進行SQL操作,實現資料統計與分析。也就是說,我們可以用更低廉的價格獲得比以往多得多的資料儲存與計算能力。我們可以把執行日誌、應用採集資料、資料庫資料放到一起進行計算分析,獲得以前無法得到的資料結果,企業的資料倉庫也隨之呈指數級膨脹。

 

不僅是老闆,公司中每個普通員工比如產品經理、運營人員、工程師,只要有資料訪問許可權,都可以提出分析需求,從大資料倉庫中獲得自己想要了解的資料分析結果。

 

你看,在資料倉庫時代,只要有資料,幾乎就一定要進行統計分析,如果資料規模比較大,我們就會想到要用Hadoop大資料技術,這也是Hadoop在這個時期發展特別快的一個原因。技術的發展同時又促進了技術應用,這也為接下來大資料應用走進資料探勘時代埋下伏筆。

 

大資料應用的資料探勘時代

 

大資料一旦進入更多的企業,我們就會對大資料提出更多期望,除了資料統計,我們還希望發掘出更多資料的價值,大資料隨之進入資料探勘時代。

 

講個真實的案例,很早以前商家就通過資料發現,買尿不溼的人通常也會買啤酒,於是精明的商家就把這兩樣商品放在一起,以促進銷售。啤酒和尿不溼的關係,你可以有各種解讀,但是如果不是通過資料探勘,可能打破腦袋也想不出它們之間會有關係。在商業環境中,如何解讀這種關係並不重要,重要的是它們之間只要存在關聯,就可以進行關聯分析,最終目的是讓使用者儘可能看到想購買的商品。

 

除了商品和商品有關係,還可以利用人和人之間的關係推薦商品。如果兩個人購買的商品有很多都是類似甚至相同的,不管這兩個人天南海北相隔多遠,他們一定有某種關係,比如可能有差不多的教育背景、經濟收入、興趣愛好。根據這種關係,可以進行關聯推薦,讓他們看到自己感興趣的商品。

 

更進一步,大資料還可以將每個人身上的不同特性挖掘出來,打上各種各樣的標籤:90 後、生活在一線城市、月收入 1~2 萬、宅……這些標籤組成了使用者畫像,並且只要這樣的標籤足夠多,就可以完整描繪出一個人,甚至比你最親近的人對你的描述還要完整、準確。

 

除了商品銷售,資料探勘還可以用於人際關係挖掘。你聽過“六度分隔理論”嗎,它認為世界上兩個互不認識的人,只需要很少的中間人就能把他們聯絡起來。這個理論在美國的實驗結果是,通過六步就能聯絡上兩個不認識的美國人。也是基於這個理論,Facebook研究了十幾億使用者的資料,試圖找到關聯兩個陌生人之間的數字,答案是驚人的3.57。你可以看到,各種各樣的社交軟體記錄著我們的好友關係,通過關係圖譜挖掘,幾乎可以把世界上所有的人際關係網都描繪出來。

 

現代生活幾乎離不開網際網路,各種各樣的應用無時不刻不在收集資料,這些資料在後臺的大資料叢集中一刻不停地在被進行各種分析與挖掘。這些分析和挖掘帶給我們的是美好還是恐懼,依賴大資料從業人員的努力。但是可以肯定,不管最後結果如何,這個程序只會加速不會停止,你我只能投入其中。

 

大資料應用的機器學習時代

 

我們很早就發現,資料中蘊藏著規律,這個規律是所有資料都遵循的,過去發生的事情遵循這個規律,將來要發生的事情也遵循這個規律。一旦找到了這個規律,對於正在發生的事情,就可以按照這個規律進行預測。

 

在過去,我們受資料採集、儲存、計算能力的限制,只能通過抽樣的方式獲取小部分資料,無法得到完整的、全域性的、細節的規律。而現在有了大資料,可以把全部的歷史資料都收集起來,統計其規律,進而預測正在發生的事情。

 

這就是機器學習。

 

把歷史上人類圍棋對弈的棋譜資料都儲存起來,針對每一種盤面記錄何種落子可以得到更高的贏面。得到這個統計規律以後,就可以利用這個規律和人下棋,每一步都計算落在何處將得到更大的贏面,於是我們就得到了一個會下棋的機器人,這就是前兩年轟動一時的AlphaGo,以壓倒性優勢下贏了人類的頂尖棋手。

 

再舉個和我們生活更近的例子。把人聊天的對話資料都收集起來,記錄每一次對話的上下文,如果上一句是是問今天過得怎麼樣,那麼下一句該如何應對,通過機器學習可以統計出來。將來有人再問今天過得怎麼樣,就可以自動回覆下一句話,於是我們就得到一個會聊天的機器人。Siri、天貓精靈、小愛同學,這樣的語音聊天機器人在機器學習時代已經滿大街都是了。

 

將人類活動產生的資料,通過機器學習得到統計規律,進而可以模擬人的行為,使機器表現出人類特有的智慧,這就是人工智慧 AI。

 

現在我們對待人工智慧還有些不理智的態度,有的人認為人工智慧會越來越強大,將來會統治人類。實際上,稍微瞭解一點人工智慧的原理就會發現,這只是大資料計算出來的統計規律而已,表現的再智慧,也不可能理解這樣做的意義,而有意義才是人類智慧的源泉。按目前人工智慧的發展思路,永遠不可能出現超越人類的智慧,更不可能統治人類。

 

寫在最後

 

大資料從搜尋引擎到機器學習,發展思路其實是一脈相承的,就是想發現數據中的規律併為我們所用。所以很多人把資料稱作金礦,大資料應用就是從這座蘊含知識寶藏的金礦中發掘中有商業價值的真金白銀出來。

 

資料中蘊藏著價值已經是眾所周知的事情了,那麼如何從這些龐大的資料中發掘出我們想要的知識價值,這正是大資料技術目前正在解決的事情,包括大資料儲存與計算,也包括大資料分析、挖掘、機器學習等應用。

 

美國的西部淘金運動帶來了美國的大拓荒時代,來自全世界各地的人湧向美國西部,將人口、資源、生產力帶到了荒蠻的西部地帶,一條條鐵路也將美國的東西海岸連線起來,整個美國也隨之繁榮起來。大資料這座更加龐大的金礦目前也正發揮著同樣的作用,全世界無數的政府、企業、個人正在關注著這座金礦,無數的資源正在向這裡湧來。

 

我們不曾生活在美國西部淘金的繁榮時代,錯過了那個光榮與夢想、自由與激情的個人英雄主義時代。但是現在,一個更具劃時代意義的大資料淘金時代正在到來,而你我正身處其中。

我自己是一名大資料架構師,目前辭職在做線上教育大資料講師,每天都會直播分享免費公開課,大家可以加群參加。以及我自己整理了一套最新的大資料學習系統教程,包括Hadoop,資料探勘,資料分析。送給正在學習大資料的小夥伴!這裡是大資料學習者聚集地,歡迎初學和進階中的小夥伴!加QQ群:584900118