推薦序一
我與本書作者素不相識,讀完作者寄來的電子書稿後,感受到以往在讀技術類書籍時從未有過的驚喜。國內外已有不少介紹大數據和機器學習的教科書和參考書,但這本書與眾不同,它的重點不是傳統教科書式的概念導入和各種機器學習演算法的羅列,而是強調統計學、機器學習和電腦科學此3門學科的融會貫通,試圖呈現給讀者關於資料科學較全面的知識系統。特別是對常用的統計和機器學習軟體的詳細說明,對提升在校大學生、研究生的實作能力和企業科技人員解決實際問題的能力大有裨益。
李國傑
中國工程院院士,第三世界科學院院士,曾任中國科學院計算技術研究所所長
推薦序二
回首30年來新興產業的發展過程,我們看到的或許是遵循著莫爾定律高速增長的積體電路,或許是從網際網路到行動網際網路,再到物聯網等更廣泛的互連互通。但其背後,資料作為新興產業的血液,其價值獲得了廣泛的認知和關注。早在2011年,我們完成了4篇大數據企業的前瞻報告,撰寫《大數據時代的歷史機遇》分析大數據時代的產業機會與變革。後來又與申萬宏源的電腦首席分析師劉洋一起勾勒了大數據產業的版圖和發展路徑。
如今作為一個大數據產業的實作者,我們看到大數據產業正如我們所預期的那樣,成為了人工智慧、虛擬實境以及區塊鏈等新一代新興產業浪潮的核心、傳統產業轉型升級的必備資源,以及企業保持領先抑或實現彎道超車的必爭之地。然而資料資源怎麼用,資料模型如何建立,演算法模型如何運用,亦成為了學界、產業界、資本界所關注的焦點。
本書站在資料科學的角度,融合了數學、電腦科學、計量經濟學的精髓。不僅從「道」的層面為讀者闡釋了資料科學所要解決的核心問題—資料模型、演算法模型的理論內涵和適用範圍,而且從「術」的層面以常用的IT工具—Python為基礎,教會讀者如何建模以及透過演算法實現資料模型,具有很強的實作性。在此基礎之上,本書還為讀者詳解了分散式機器學習、神經網路、深度學習等大數據和人工智慧的前端技術。相信本書將成為資料科學工作者、資料工程師、資料產業實作者的必備手冊,以及想要了解和學習資料科學的人員之首選教材。
易歡歡
易選股金融智能證券董事長,鍵橋通訊董事
前言
和武俠世界裡有少林和武當兩大門派一樣,資料科學領域也有兩個不同的學派:以統計分析為基礎的統計學派,以及以機器學習為基礎的人工智慧派。雖然這兩個學派的目的都是從資料中採擷價值,但彼此「都不服氣」。注重模型預測效果的人工智慧派認為統計學派「固步自封」,研究和使用的模型都只是一些線性模型,太過簡單,根本無法處理複雜的現實資料。而注重假設和模型解釋的統計學派則認為,人工智慧派架設的模型缺乏理論依據、無法解釋,很難幫助我們透過模型去了解資料。
從歷史上來看,一門學科出現相互對立的學派,通常表示這門學科處於爆發的前夕,例如20世紀初的經濟學,凱恩斯學派和新古典經濟學派的長期論戰大幅促進了巨觀經濟學的發展,並深刻影響了各國政府的經濟政策,並由此改變人們的生活方式。現在資料科學也正處於這樣相似的位置和時間點,它已經開始並將持續改變我們的世界。拋開這些學術上的紛爭,在實際工作中,應該採用哪個學派的方法來解決資料採擷的問題呢?答案是兩者都需要,而且兩者都重要。在某些應用場景中,例如影像識別領域,人工智慧模型有非常驚豔的表現。雖然人們還沒弄清楚這些模型的工作原理,但這並不妨礙它們在現實中所發揮的作用。事實上,人類在很多其他領域裡也是採取這種實作先行的做法。
但在更多的應用場景中,統計學派的方法則顯得更為重要。筆者曾在歐洲的一家保險公司裡參與過一個車險定價的專案,在此專案裡,資料科學家們主要嘗試了兩種模型,一種是很容易解釋的邏輯迴歸和決策樹模型,另一種則是較為複雜的隨機森林模型。隨機森林模型的預測效果較好,如果將其投入生產中,僅在法國每年就能產生數千萬歐元的利潤。但問題是,隨機森林模型難以解釋,監管部門根本不接受,所以只能退而求其次,使用效果較差但更易解釋的決策樹模型。拋開監管層的要求不說,模型的可解釋性也是非常重要的。試想一下,顧客去保險公司購買車險時,被告知需要比別人花更多的錢,而對方提供的理由是,有一個不好解釋的模型預測出顧客需要付更多錢,我想大部分顧客都會難以接受這樣的理由和做法吧。
上述的兩種建模方式雖然在處理資料的方法上有很大差異,但它們有一個共同的「物質基礎」—電腦。只有借助電腦強大的運算能力,我們才能在專案上實現架設好的模型,使之發揮作用。因此,資料科學是統計學、機器學習以及電腦科學3門學科的交叉,相關的基礎知識和技能點很龐大且複雜。如果能將此3門學科融會貫通,那麼就能描繪出有關資料科學的全景圖,進而架設起一個完整的知識系統,而這正是筆者撰寫本書的初衷。
✤本書內容
本書按照結構共分為13 章,主要內容如下。
第1~3章主要介紹資料科學要解決的問題、常用的IT工具Python以及資料科學所相關的數學基礎。
第4~7章主要討論資料模型,包含3部分內容:一是統計中經典的線性迴歸和邏輯迴歸模型;二是電腦估算模型參數的隨機梯度下降法,這是模型專案實現的基礎;三是來自計量經濟學的啟示,主要有關特徵分析的方法以及模型的穩定性。
第8~10章主要討論演算法模型,也就是機器學習領域比較經典的模型,各章依次討論了監督式學習、生成式模型以及非監督式學習。
目前資料科學的兩個前端領域分別是大數據和人工智慧。
第11章介紹大數據中很重要的分散式機器學習。
第12~13章討論人工智慧領域的神經網路和深度學習。
本書除基礎知識外,按照主題亦可分為3部分。
第1部分主要討論統計學派的模型和對資料的處理方法,分別在第4、5、7章。
第2部分主要討論人工智慧學派的方法,分別在第8、9、10、12、13章。
第3部分主要介紹資料科學的專案實現,分別在第6、11章。
在每一章的討論中,一般會透過一個簡單的實例引出模型,然後說明模型的理論基礎,接著展示模型實現的核心程式,最後討論模型的優缺點以及與其他模型的比較。這樣既能很直觀地展示模型,也能結合實際程式較深入地討論它的細節,幫助讀者更進一步地掌握和使用模型。
✤搭配程式
為維持程式碼之可執行完整性,以及確保程式碼是最新版本,本書讀者請直接至github.com/GenTang/intro_ds下載簡體版原始程式碼,本公司官網不再另行提供繁體中文版原始程式碼。需要注意的是,為了在正文中節省篇幅,突顯重點,本書所展示的程式是以Linux系統下為基礎的Python 2.7,而提供下載的搭配程式則是相容Python 3和Windows系統的。
✤插圖語言說明
本書中部分插圖中含有未翻譯的英文專有名詞,原因如下。
一方面,目前相關的參考文獻中沒有明確且權威的中文名稱與之對應,如強行翻譯,難保準確,且易給讀者造成誤解。另一方面,對於資料科學這門學科,英文名詞可能更為大家所熟悉,翻譯為中文後也許會讓讀者在了解上更加困難。在此說明,望各位讀者了解和支持。
✤讀者回饋
由於作者功力有限,書中難免存在紕漏之處,敬請各位讀者朋友批評指正。請發送郵件到作者的電子郵件tgbaggio@hotmail.com或本書編輯的電子郵件zhangshuang@ptpress.com.cn。
✤致謝
感謝潘健輝博士,他從行文風格和數學細節上為我提出了很多寶貴的意見。感謝我的太太安愷業女士以及我的父母,他們在本書撰寫期間給了我很多鼓勵。感謝李國傑院士、林曉東教授、楊衛東教授、張溪夢(Simon Zhang)先生、易歡歡先生、賈真先生、張益軍先生、彭耀先生、謝佳女士以及趙甘晶女士為本書提供的幫助。感謝我的國中數學老師吳獻女士對我的諄諄教誨。感謝本書的編輯張爽女士為本書的順利出版所做的付出。需要感謝的人還有很多,限於篇幅,這裡就不一一列舉了。