1. 程式人生 > >如何評價《Big Data:大資料時代》這本書?

如何評價《Big Data:大資料時代》這本書?

花了三天的零碎時間大致看完了舍恩伯格的《大資料時代:生活、工作、思維的大變革》。我看推薦說這是“迄今為止最好的一本大資料專著”。目前公司在搞Hadoop、大資料應用,外面各類零碎的資料也非常多,那麼想我應該去看一下這“最好”的專著吧。

買回來看完的感覺是平平而已。個人看法,在五分制下,大概也就是最多打三分。這本書可以買來看看,寫得比較完整全面,案例比較多,有一定的參考意義,寫PPT吹牛用得上,但是有什麼巨大的意義就談不上了。很多觀點不能同意。

一、主要觀點上可以探討的地方
作者提出了關於大資料的“擲地有聲”的三個原則。這三個原則凡講大資料必被提及,很多人奉為圭臬。但是我覺得每一點都值得探討。這三點分別是:不是隨機樣本,而是全體資料;不是精確性,而是混雜性;不是因果關係,而是相關關係

看完之後感覺都有點不是那麼回事。
1.不是隨機樣本,而是全體資料
這個說得好像人類從來就不知道使用全體資料可以得到更全面的結論,而非要去煞費苦心發展出一套抽樣技術一樣。人類早就知道處理全量資料的好處,而之所以要進行抽樣分析,原因不外乎兩點:一是處理能力跟不上,二是資料收集能力跟不上。作者認為人類之前主要受限於資料的處理能力而不去處理全量資料,但在目前機器處理能力有了巨大的提升的時代,限制絕大多數應用的瓶頸不是計算能力而是資料採集能力(不要去提那些極少數需要超級計算機的場合,那個和多數人無關、和本書的商業主題也無關)。但是即便如此,抽樣所要針對的很多應用場景是不太可能收集全量資料的情況。比如人口普查,無論計算機力量如何強大,當前很多資料還是要人工去收集,所以這個普查還是要用抽樣的方式。有意思的是,作者用人口普查是抽樣分析來說明非“全量”時代我們被迫採用了抽樣,而最終也沒法說我們是否已經可以用全量資料來做人口普查了。實際上至少在目前,對於人口普查,抽樣還是必然的選擇(嗯,你可以設想,以後人人都裝一塊晶片,你可以在你的PPT裡講給你的客戶和老闆聽)。再比如我們統計裡的經典問題:怎麼估算一批零件的使用壽命?怎麼去分析一批奶品裡的三聚氰胺?以前我們不可能去做全量測試,因為這意味著這批零件就廢了,這批奶也全部用於測試了,這樣測出結果也沒啥意義了(嗯,你也可以說:我我們去收集歷史上所有此類零件的使用情況來進行分析吧.....嗯,加油吧,雄心勃勃的騷年)。現在 ?我們還是必須依賴抽樣,是必須。
即便不提這些例子,僅從邏輯而言:收集、處理資料的行為本身也在不斷產生著新的資料。我們又怎麼證明這些資料不是你需要的“全量”的一部分呢?
作者的行文中,關於什麼是“全量”,處於不斷的搖擺之中。有時指“我們需要的所有資料”,有時指“我們能收集到的所有資料”。作者舉了人口普查的例子,這個全量顯然指前者。而在很多商業案例中,又顯然指後者。我們有能力處理越來越多的、在以前不敢想象的大量資料,但是至少目前看,我們還沒可能說我們處理了“全量”。我們最多可以說我們能處理我們能蒐集到的“全量”,但如果據此產生了我們已經沒有遺漏資料了的感覺,認為所有資料盡在掌握了,那我認為是一種很可能導致錯誤的錯覺。

2.不是精確性,而是混雜性

這個麼,說得好像以前的人類在使用“抽樣”資料時竟然都認為取到的資料是“精確”的一樣。在使用抽樣資料的時候,我們就知道要容忍一定的誤差。我們甚至知道在就算取得了“全樣”資料的時候,也可能因為有各種原因而導致的不精確,統計實踐中對此有相當多的案例。人類從未奢望過我們通過資料分析取得的多數結論是精確的。我們從來都要在資訊混雜的情況下做出大多數的決策。

3.不是因果關係,而是相關關係
這是很多人(包括作者)認為最有價值、最重大的發現,而實際上卻也是最收到批評的一個觀點。連譯者周濤教授在序言裡都表示看不下去了,他至於認為如果放棄對因果關係的分析,是人類的墮落。我不說這麼高的哲學層面,只從邏輯和技術上討論一下。
計算機能夠提供給我們的結論(到目前為止以及在可見的未來),都是相關性。計算機從未提供過明確的因果關係給人類。是否因果關係,是人類在資料基礎上,進行的人為判斷。一直有相當多的應用,也是隻考慮相關性,不考慮因果關係的:確定因果關係,是需要更大的精力、更多的投入的。所以只看相關性而不看因果性也不是什麼新的結論(實際上已經是個很舊的結論了)。而這個相關性是不是可以作為決策的基礎呢?這個一樣離不開人的判斷。有一個這樣的故事:通過大量的資料分析,慈善組織得出結論:一個國家、地區的電視機的普及率與發達富裕程度很有關係(冰箱、洗衣機、空調、高跟鞋、牛仔褲,etc.,也會和發達程度有這樣的相關性),於是他們就向貧困國家贈送了很多電視,認為此舉可以促進該國的經濟發展。你可以鬼扯電視的普及與經濟文化的密切相關,但是實際上最終發現更可能是經濟發展導致了電視的普及,而不是反過來。所以,我們真的不需要因果分析嗎?說得玩笑一點:這個世界真的不需要腦子了嗎?
作者舉了一個例子:谷歌分析搜尋關鍵字來確定哪裡可能發生了流行病。認為這就是利用了相關性而不是因果性。這是沒有利用因果判斷嗎?現在在投入巨大的機器資源進行分析之前,分析師已經預計了得病的症狀可能會導致人們去網上進行相關搜尋(影響了搜尋行為)。谷歌儲存的使用者上網資訊肯定遠遠不止一個搜尋關鍵字,分析師為何不開足馬力把“全量”資料、各個指標都分析一遍呢?比如使用者上網地點?上網時間?上網頻率?上網語言?瀏覽器版本?客戶端作業系統?etc...為何會像導彈一樣精確地將機器資源投放到了關鍵字上呢?

總之,對於這些原則,作者為了顯出新意,說得過於絕對。而排除掉絕對的成分後,這些觀點也就不顯得是創新了。作者把三個資料分析人員一直秉持的原則,當做全新的東西講了出來。時代在變化,我們或許應該經常重新審視這些原則,來確認自己的思想是不是僵化了、是不是過時了。我贊同作者重新審視這些看法,但是我覺得沒必要講得這麼極端。

二、細節論據上可以探討的地方

除了三個大原則不足以令人完全信服,在一些細節上,作者的引證也不是很嚴謹。
如第51頁,對於拼寫檢查的演算法的優化。作者提到,通過輸入大量的資料,4種常見語法檢查演算法的準確率提高了很多,以此說明大資料發揮了作用。這確實是個很有啟發性的例子,可以去做更深入的分析和研究,但是.....僅僅4個例子,夠得出很有力的結論嗎?4個演算法,作者沒注意到這是一個非常小的樣本嗎?不能因為這是4個用了大資料的取樣,就認為這是一個支援大資料的有力結論了吧。(順便我很想問問他們:為什麼不測試個幾十上百的演算法呢?是不是面對如此“大量”的計算,也只好折中選擇了一個抽樣的小樣本呢?甚至連樣本數量是否合格都顧不上了嗎?)

三、這本書有什麼用處?
對於這樣的一本書,我不明白周濤教授在譯序裡為什麼要建議大家(以後)每個版本都應該買一本。為什麼要買?難道作者理清自己腦子的過程很值得我們關注嗎?

譯序裡說:“作者渴求立言立說的野心”,但是我恐怕作者是達不到這個目標的。關於作者的簡介為:“《大資料時代》是國外大資料系統研究的先河之作,本書作者維克托·邁爾·舍恩伯格被譽為‘大資料商業應用第一人’,....早在2010年就在《經濟學人》上釋出了長達14頁對大資料應用的前瞻性研究。”
總體感覺是作者有很多想法,見識過很多案例(這些案例都豐富地體現在書中了,也很有參考價值)。但並非是一個曾經和資料真正絞盡腦汁搏鬥過的人(這是我瞎猜的,沒有考證過他的經歷。考據者請不要告訴他做過什麼諮詢案例,這離真正體會資料的折磨還很遠。)。

第183頁說道:“...執行官們信任自己的直覺,所以由著它做決定。但是,隨著管理決策越來越受預測性分析和大資料分析的影響和控制,依靠直覺做決定的情況將會被徹底改變。..."真的會麼?如果你面對某一家企業做諮詢,那可以這樣講。一種新技術的採用很有可能大幅提升企業的戰鬥力,並超越競爭對手。但是作者是期望對行業立言的人,面對整個社會我們這樣講就不嚴謹了。引用一個例子:中國棋院的一次訓練會後,總教頭馬曉春對隔天要去各自的母隊參加圍甲的棋手們說:祝大家週末取勝。棋手們笑了:我們只有一半的人能贏啊。同樣,如果大家都採用了大資料技術,那麼也總有企業要在競爭中落於下風。而既然我們實際上無法真正分析“全量”資料,那CEO們還是會有很大的決策空間,哪怕很多決策實際上“不科學”。最起碼,他們需要決定將有限的企業資源投入到對什麼樣的大資料進行分析,並如何應用分析出來的結果。嗯....我認為,這多少還是要依賴一些直覺的。

那麼大家是否應該看一下這本書呢?我的答案是應該看一看。既然大資料是當前的潮流、相關的研究/商務活動層出不窮,那麼做IT工作、資料工作的人對於“最好的”專著無論如何都必須看一下。書中集中展示了很多案例,值得作為參考和啟發思維。此外,為了作為談資、為了在寫大資料PPT時有所依據,大家也得看看這本書。根據場合不同,可以對裡面的內容複製貼上、理解重寫。這些內容,我相信買一版也就夠了。需要提醒PPT人員的是,演示前請想清楚如何回答可能被提及的質疑。如果你對這本書的觀點都深信不疑,那麼你將會遇到很多的質疑。

對於下載網路版本擔心沒有圖的朋友,請不用擔心丟失資訊:除掉湛廬特別製作的一張本書思維導圖的彩頁。這本書沒有圖。是的,一張都沒有。大資料,大概太大了,大到作者無法用任何圖來闡明瞭。