面向程序員的數(shù)據(jù)挖掘指南 : 第一章 介紹
- Finding stuff
- The format of the book
- What will you be able to do when you finish this book?
- Why does data mining matter? — What is in it for me?
- What’s with the Ancient Art of the Numerati in the title?
想象一下150年前的美國小鎮(zhèn)生活。人們之間互相非常了解和熟悉,當一箱布料被送到某個商店,商店的店員注意到這種特別的布匹圖案會是Mrs. Clancey的最愛,因為他知道Mrs. Clancey喜歡明亮的花卉圖案,因此他將記住下次當她來逛商店的時候把這種布料推薦給她。Chow Winkler跟酒吧老板Mr. Wilson聊到他打算賣掉他的備用雷明頓步槍,而Mr. Wilson知道Bud Barclay正在尋找一部優(yōu)質(zhì)步槍,因此他打算在下次Bud Barclay到來酒吧的時候告訴他這個消息。警長和他的副手們知道他們需要留意那個身強體壯、脾氣暴躁、嗜酒如命的Lee Pye。100多年前的小鎮(zhèn)生活充滿了各種各樣的聯(lián)系。
大家知道你喜歡什么不喜歡什么,知道你的健康、你的婚姻狀況。無論好與壞,這些都是個性化的體驗。這種高度個性化的社區(qū)生活在世界上大多數(shù)國家是真實存在的。
讓我們轉(zhuǎn)到二十世紀六十年代。個性化的互動變得貌似不太可能,但是他們?nèi)匀淮嬖凇.斈澄怀?蛠淼疆數(shù)匾患視昕赡軙牭降陠T跟他打招呼 說:“James Michener的新書到了”,因為店員知道他喜歡James Michener的書,同時店員可能會給他推薦Barry Goldwater的《保守派的良知》,因為店員知道他是一個堅定的保守主義者。一家飯店的??妥哌M飯店時,總能聽到服務員問他:“還是老樣子?”。
即便是在遍布個性化的當今社會。當我去Mesilla當?shù)氐囊患铱Х鹊?,咖啡師會? “超大杯拿鐵外帶?”,因為他已經(jīng)記住了我每天的購買習慣。我把我的貴婦犬帶到美容師那兒,她都不需要再問我喜歡做什么類型的修剪,因為她知道我喜歡沒有 多余裝飾運動型,并且喜歡德國風格的耳朵。
然而從100年前的小鎮(zhèn)開始,一切都在發(fā)生轉(zhuǎn)變。大型的雜貨商店和超市取代了鄰里的小賣部等傳統(tǒng)的商業(yè)。在轉(zhuǎn)變之初,可供的選擇是非常有限的。 Henry Ford曾經(jīng)說過:“任何顧客都可以選擇任何他所中意的汽車顏色,只要它是黑色的。”。 CD店只銷售種類有限的CD;書店只銷售種類有限的書本。如果你想吃冰淇淋,口味只有是香草味、巧克力味、或者草莓味。在1950年,想買一臺洗衣機?當 地的Sears百貨只有兩款供選擇: $55的標準版和$95的豪華版。
歡迎來到21世紀
在21世紀的今天,那些有限的選擇已然成為歷史。如今,想買音樂?iTunes有1100萬首歌可供選擇。1100萬!截止到2011年10月,銷售量達到160億之多。如果我還需要更多的選擇,Spotify上有超過1500萬的歌曲。
如果我想買本書,Amazon上有超過200萬的書籍可供選擇。
如果我想看視頻,這里有很多選擇:
如果想買筆記本電腦?在Amazon上搜索"筆記本電腦", 你會得到3811個結(jié)果;當搜索"電飯鍋",你會得到超過1000的搜索結(jié)果。
在不久的將來,你的選擇會越來越多:上百億的在線歌曲,各種各樣的視頻,已經(jīng)通過3D打印技術得到的個性化商品。
#p#
發(fā)現(xiàn)與自己相關的東西
以上所有的問題在于尋找相關的東西。iTunes上所有的1100萬首歌曲中,可能有相當數(shù)量的歌曲是我真正喜歡的,但我怎么把它們找出來。今晚我 想在Netflix上看一部電影,我應該看哪一部。我想通過P2P下載一部電影,可是我應該下載哪一部。問題還會變得更糟糕,因為每分鐘都有TB級別的內(nèi) 容(歌曲、視頻等)被上傳到網(wǎng)上。每分鐘都有100個新的文件在新聞組上發(fā)布。每分鐘都有時長24小時的視頻上傳到Y(jié)ouTube。每小時有180本新書 出版。在現(xiàn)實世界里,每天有越來越多的東西可以選擇購買。這使得在這些海量的可供選擇的東西中找出相關聯(lián)的東西變得越來越困難。
如果你是一個媒體制造商——比如說Malaysia的Zee Avi(馬拉西亞的爵士才女),危險不在于有人非法下載你的音樂,而是你的音樂因為信息過載變得無人問津。
如何找到與自己相關的東西?
在很多年前的那個小鎮(zhèn)上,我們的朋友會幫我們找到相關的東西:如那批新進的布料很對我的胃口;書店剛到的小說、唱片店新到的33 1/3 LP很適合我的偏好。直到今天,我們依然依靠朋友的幫助來找到與我相關的東西。
同時,專家會幫助我們找到與我們相關的東西。在過去,"消費者報告"能評估所有在售的那20款洗衣機,以及10 款電飯鍋,并作出推薦。如今亞馬遜提供了上幾百種電飯鍋,單個專家?guī)缀醪豢赡軐λ械倪@些電飯鍋進行評價。在過去,Roger Ebert(美國影評人、劇本作家,普利策獎獲得者)會評論幾乎所有的電影。而現(xiàn)如今全世界每年將出產(chǎn)大約25,000部電影。加上我們現(xiàn)在從各種渠道獲 得的視頻資源。Roger Ebert,或者任何一個專家,是不可能對我們所能看的所有的電影加以評論。
我們也可以用東西本身來幫助我們尋找相關的東西。例如,30年以來,我一直在使用一臺Sears洗衣機,我可能會打算再買一臺新款的Sears洗衣機。我喜歡披頭士樂隊的某張專輯——如果機會合適的話我還會再買一張他的專輯。
這些尋找相關東西的方法——朋友,專家,東西本身——在今天仍然適用,但是我們需要借助一些計算的方法來將這些方法遷移到擁有數(shù)以十億計的物品的二 十一世紀。在這本書里,我們將探索聚集用戶偏好、購買歷史以及其他數(shù)據(jù)的模型和方法,利用社交網(wǎng)絡(好友)的力量來幫助我們挖掘相關聯(lián)的東西。同時我們還 將運用事物本身的屬性。例如,我喜歡Phoenix樂隊,推薦系統(tǒng)可能知道Phoenix樂隊的屬性——使用電子搖滾樂器、有朋克影響力、巧妙的運用和 聲,系統(tǒng)因此會給我推薦具有類似屬性的樂隊,例如:The Strokes樂隊。
不僅僅只是東西
數(shù)據(jù)挖掘不僅僅是推薦東西給我們,或者幫助商人出售更多商品。請參考下面這些例子:
100多年前的那個小鎮(zhèn)鎮(zhèn)長熟知鎮(zhèn)上每一個人,當他再次參加競選的時候,他知道如何根據(jù)每個人的具體情況去說服他們?yōu)樽约和镀保?/p>
——Martha,我知道你喜歡上學,我會盡我的一切力量去為我們鎮(zhèn)再找一個老師。
——John,你的面包店最近怎么樣?我承諾你所在的城區(qū)將獲得更多的停車位
我的父親屬于United Auto Workers' Union。在競選期間,我記得工會代表來到我們的家里提醒我父親把票投給某個候選人:
——你好,Syl,你的妻子和孩子還好吧?... 現(xiàn)在我來告訴你為什么應該把票投給社會主義黨的市長候選人Frank Zeidler...
隨著電視的崛起,這種個性化的政治信息轉(zhuǎn)變成了類似的廣告,但每個人得到了幾乎相同的信息。有一個很好的例子是著名的支持Lyndon Johnson的菊花電視廣告(一個年輕的小女孩正在掰著菊花花瓣,背景是一顆原子彈爆炸)。如今,競選被小的利益和日益增長的數(shù)據(jù)挖掘決定,個性化已經(jīng) 回歸。你對婦女權利很感興趣嗎?你很有可能收到關于這個話題的機器人電話。
那個小鎮(zhèn)的警長對鎮(zhèn)上的搗蛋者非常清楚。如今,威脅被隱藏起來了,恐怖分子可能出現(xiàn)在任何地方。2001年10月11日,美國政府通過了USA Patriot Act(Uniting and Strengthening America by Providing Appropriate Tools Required to Intercept and Obstruct Terrorism的簡稱)。該法案使得調(diào)查者能夠獲得各種來源的記錄,包括圖書館(我們讀了什么書?)、酒店(誰待在哪兒?待了多長時間?)、信用卡公 司、公路費用登記記錄著我們曾經(jīng)經(jīng)過哪些地方。在很大程度上,政府利用私有公司來保存那些與我們有關的數(shù)據(jù)。像Seisint公司就有幾乎我們所有人的數(shù) 據(jù):我們的照片、我們的住址、我們的車,我們的收入,我們的消費行為,我們的朋友。Seisint采用超級計算機來進行數(shù)據(jù)挖掘,用以對人們進行預測。因 此他們的產(chǎn)品叫做... The Matrix。
#p#
數(shù)據(jù)挖掘擴展我們的能力
Stephen Baker在他的新書The Numerati是這樣開頭的:
想象一下你坐在正在某個咖啡廳,或許還有點吵。在你右邊的桌子,一位年輕的女士正在筆記本電腦上敲打著。你轉(zhuǎn)過頭看了下她的屏幕。她正在上網(wǎng), 你就這么看著。 幾個小時過去了,她正在看一篇在線文章。你注意到她看了三篇關于中國的文章。她尋找了周五晚上準備看的電影,并且看了功夫熊貓的預告片。她點擊了一個廣 告,廣告上承諾可以聯(lián)系到她的高中同學。你坐在那兒記著筆記。隨著每一分鐘過去,你都進一步地了解這位女士?,F(xiàn)在想象你可以同時關注1.5億人上網(wǎng)。
數(shù)據(jù)挖掘(Data Mining)關注于尋找數(shù)據(jù)中的模式。在小規(guī)模數(shù)據(jù)上,我們是構建心理模型并發(fā)現(xiàn)模式的專家。例如,我想和我妻子今晚一起看一部電影,我對她的喜好有一 個心理模型,我知道她不喜歡暴力影片(因為她不喜歡那一季的《第九街區(qū)》);她喜歡Charlie Kaufman的電影。我可以使用這個電影偏好相關的心理模型來預測她可能喜歡或者不喜歡的電影。
一個從歐洲遠道而來的朋友來訪。我知道她是一個素食主義者,利用這一信息,我可以預測她不會喜歡當?shù)氐呐殴?。人們很擅長構建模型和作出預測。數(shù)據(jù)挖 掘擴大了這個能力并且使我們能夠處理大量的信息——比如上面書中引用的1.5億人。數(shù)據(jù)挖掘技術使得Pandora可以根據(jù)個人的音樂偏好來構建個性化的 音樂電臺,也使得Netflix能為你提供個性化的電影推薦。
TB級的數(shù)據(jù)挖掘不是那些來自星級爭霸II的東西
20世紀末,100萬字的數(shù)據(jù)集被認為是很大。20世紀90年代,當我還是個研究生的時候(是的,我很老。),我作為一個程序員在《Greek New Testament》研究了一年,它僅僅只有20w個詞,但是數(shù)據(jù)分析時發(fā)現(xiàn),這數(shù)據(jù)還是太大以至于不能直接載入內(nèi)存,因此不得不將結(jié)果拆解到可以在后臺 處理的磁帶上。
如今,對TB級的信息量進行數(shù)據(jù)挖掘已經(jīng)非常常見了。谷歌就有超過5PB(5000TB)的網(wǎng)頁數(shù)據(jù)。2006年,谷歌在研究社區(qū)發(fā)布了一個基于億 萬字數(shù)的數(shù)據(jù)集。國家安全局(NSA)有億萬個通話記錄。Acxiom是一家收集美國2億成年人信息(信用卡消費、通話記錄、醫(yī)療記錄、汽車注冊等)的公 司,他收集了超過1PB的數(shù)據(jù)。
Robert O'Harrow, Jr. ——《No Place to Hide》的作者,他試圖幫助我們理解多少信息是1PB,他說1PB就相當于堆放了50000英里的King James Bible。我經(jīng)常開車從New Mexico到Virginia,那是2000英里。當我試著想象一路上堆滿的圣經(jīng),看起來像一個無法想象的數(shù)據(jù)。
國會的圖書館有大約20TB的文本。你可以將整個國會圖書館的文本存放在一個幾千美元就可以買到的硬盤上!作為對比,Walmart有超過570TB的數(shù)據(jù),所有的這些數(shù)據(jù)并非僅僅存在哪里——它被不停地挖掘,構建新的關聯(lián)關系,挖掘新的模式。這就是TB級的數(shù)據(jù)挖掘。
在這邊書中,我們將處理一些小的數(shù)據(jù)集,這是一件很幸福的事。我們不想讓我們的算法跑上一個星期以后,卻發(fā)現(xiàn)我們的算法出現(xiàn)邏輯錯誤。我們用到的最大的數(shù)據(jù)集在100MB以下,最小的也就幾十行數(shù)據(jù)。