統計學習即機器學習,是計算機及其應用領域的一門重要學科。此前,李航老師完成的《統計學習方法》是了解機器學習最好的教材之一,該書從 2005 年開始寫作一直到 2012 年完成,包含了眾多主要的監督學習算法與模型。最近,《統計學習方法》第二版正式發布,通過 6 年時間的努力,在第一版的基礎上又增加了無監督學習的主要算法與模型。
李航博士告訴機器之心,《統計學習方法》第二版新加了無監督學習方面的內容,並對第一版的監督學習方法做了一些修改。總體而言,第二版可以分為監督學習和無監督學習兩篇。從這兩大塊出發,基本上傳統機器學習的主要概念就能一步步掌握了。
具體而言,第一篇介紹了感知機、樸素貝葉斯法、決策樹、支持向量機、提升方法、EM 算法、隱馬爾可夫模型和條件隨機場等算法,它們都是非常經典的監督學習方法。第二篇主要討論了聚類方法、奇異值分解、主成分分析、潛在語義分析、馬爾可夫鏈蒙特卡羅法和潛在狄利克雷分配等算法,它們都是非常經典的無監督學習方法。
除有關統計學習、監督學習和無監督學習的概論和總結的四章外,每章介紹一種方法。敘述力求從具體問題或實例入手,由淺入深,闡明思路,給出必要的數學推導,便於讀者掌握統計學習方法的實質,學會運用。
為滿足讀者進一步學習的需要,書中還介紹了一些相關研究,給出了少量習題,列出了主要參考文獻。
站在經典之上的《統計學習方法》
在第一版中,很多同學會發現整本書的數學氣息非常濃厚,大部分算法都給出了推導過程。這些算法都是非常基礎與經典的機器學習方法,理解它們需要有比較堅實的數學基礎。但是在深度學習時代,這些經典算法被大家關注得比較少,反觀常見的深度學習方法與技巧,卻不一定有傳統方法那樣的理論。
在深度學習時代,我們更多的是根據經驗、實驗和「啟發式」方法理解模型。那麼,站在經典機器學習之上的《統計學習方法》,又能怎樣幫助我們學習前沿的算法與技巧呢?
李航老師表示他會繼續寫深度學習、強化學習相關的內容,包括前饋神經網絡和卷積、循環神經網絡等,他也會保留前面幾版的數學風格。但是對於傳統機器學習與深度學習之間的關係,李航老師表示:「它們兩者在技術上是一脈相承的,中間並不可以割裂。」理解經典 ML 的數學原理,也是為前沿 DL 提供新的背景知識或洞見。
李航老師說:「在我面試員工的時候,也會發現這樣的問題,大家對深度學習了解得很多,但對傳統機器學習了解得非常少。這種現象並不好,例如我們在 TensorFlow 上實現某個模型,然後就直接跑實驗,這樣對很多基本概念了解得都不夠。理想情況下,我們應該更全面地理解機器學習的概念與理論,再做深度學習實踐,也就是說對傳統 ML 的理解有助於更好地跑 DL 模型。」
當然每一個研究者或開發者的精力都是有限的,因此李航老師表示:「這本書的每一章都是相對比較獨立的,大家可以有選擇地閱讀相關章節。在以後加入深度學習與強化學習後,不同章節也應該是相互獨立的。當然還是把這些章節聯繫起來一起看,這樣就能掌握整個脈絡和發展。」
此外,儘管深度學習在眾多任務上都有極好的效果,但也不能說傳統機器學習就沒什麼用了。李航老師說:「例如在小數據集或簡單問題上,SVM 或 GBDT 這些方法在實踐中用得還是挺多的,我們對這些基礎方法最好有一個深入的理解。」
正確理解《統計學習方法》的定位
在第二版的序言中,上面描述到「本書是統計機器學習及相關課程的教學參考書,適用於高等院校文本數據挖掘、信息檢索及自然語言處理等的大學生、研究生,也可供從事計算機應用相關的研發人員參考。」
對於書本的整體定位,李航老師說:「這本書的內容本身是最基礎的,也就是機器學習領域大家都應該掌握的東西,從這種意義上來說確實是一本入門書籍。但是我並沒有從入門的角度寫這本書,而是更多地把一些最基本的概念,提綱挈領地整理出來。你也可以認為是從教材的角度來寫這些內容,因此這本書適合多次閱讀,需要經常查看,而不是看一遍就了事。」
很多讀者也會反饋這本書的閱讀體驗,有的認為數學太多、有的認為數學太少或不夠詳細等等。李航老師認為,如果沒有足夠的相關數學知識,那麼看這本書會比較吃力。他說:「聽到了一些概念,但又不了解細節,想要更詳細地從頭理解,那麼這個時候閱讀這本書是合適的。」
這本書比較適合有一定基礎的讀者,不論是 ML 基礎還是數學基礎。它不太適合特別入門的初學者,也不太適合概率論、統計學都不太了解的入門者,但這些基礎知識可以通過其它課程或教材快速補全,再來學習《統計學習方法》就非常合適了。當然,讀者也可以一邊閱讀《統計學習方法》,一邊補全基礎知識,這樣學習可能效率更高。
一步步走來的《統計學習方法》
其實《統計學習方法》第一版內容主要涵蓋的是監督學習,為大家提供了極為精煉的介紹。當時,李航博士完成這本書花費了 7 年時間,涵蓋了工業上最常見與最實用的各種算法。
如今又經過 6 年寫作,第二版上線,增加了經典無監督學習的相關內容。李航博士表示這其中有讀者的期待,他也希望這本新書能為大家提供更多的幫助。
而關於如今比較熱門的深度學習、強化學習等內容,李航博士可能會在未來的三至四年內加進來,發布新的版本。
「其實跟我當初設想的也不太一樣,也是陰差陽錯走到這一步。我本來沒計劃寫這麼多,就是有讀者的期待,還有這本書對大家有一定的幫助,所以下決心之後把深度學習和強化學習也再加上。因為我都是業餘時間寫的,所以花的時間比較多。」
總體而言,李航老師希望在未來的時間內把深度學習和強化學習寫完,希望國內讀者在了解機器學習基本方法時,有一本比較完善的參考書籍。李航說:「我知道這本書在工業界參考地比較多,因為我一直在業界工作,站在應用的角度可以了解哪些方法是重要的。」
所以,李航老師最後表示:「我希望《統計學習方法》不僅僅是教材,它還能為業界的工程師提供一些有用的幫助。」
目錄
《統計學習方法》第二版主要分為兩部分,目前在京東和淘寶等平臺上已經可以預訂了。第一部分的監督學習在內容主題上和第一版基本一致,這裡就只展示了大章節標題。第二部分的無監督學習是全新的內容,因此這裡展示了更多的細節。
第一篇監督學習
第 1 章統計學習及監督學習概論第 2 章感知機第 3 章近鄰法第 4 章樸素貝葉斯法第 5 章決策樹第 6 章邏輯斯諦回歸與最大熵模型第 7 章支持向量機第 8 章提升方法第 9 章 EM 算法及其推廣第 10 章隱馬爾可夫模型第 11 章條件隨機場第 12 章監督學習方法總結第二篇無監督學習
第 13 章無監督學習概論
13.1.1 無監督學習基本原理13.1.2 基本問題13.1.3 機器學習三要素13.1.4 無監督學習方法第 14 章聚類方法
14.1 聚類的基本概念14.1.1 相似度或距離14.1.2 類或簇14.1.3 類與類之間的距離14.2 層次聚類14.3 k 均值聚類14.3.1 模型14.3.2 策略14.3.3 算法14.3.4 算法特點本章概要繼續閱讀習題參考文獻第 15 章奇異值分解
15.1 奇異值分解的定義與性質15.1.1 定義與定理15.1.2 緊奇異值分解與截斷奇異值分解15.1.3 幾何解釋15.1.4 主要性質15.2 奇異值分解的計算15.3 奇異值分解與矩陣近似15.3.1 弗羅貝尼烏斯範數15.3.2 矩陣的優近似15.3.3 矩陣的外積展開式本章概要繼續閱讀習題參考文獻第 16 章主成分分析
16.1 總體主成分分析16.1.1 基本想法16.1.2 定義和導出16.1.3 主要性質16.1.4 主成分的個數16.1.5 規範化變量的總體主成分16.2 樣本主成分分析16.2.1 樣本主成分的定義和性質16.2.2 相關矩陣的特徵值分解算法16.2.3 數據局正的奇異值分解算法本章概要繼續閱讀習題參考文獻第 17 章潛在語義分析
17.1 單詞向量空間與話題向量空間17.1.1 單詞向量空間17.1.2 話題向量空間17.2 潛在語義分析算法17.2.1 矩陣奇異值分解算法17.2.2 例子17.3 非負矩陣分解算法17.3.1 非負矩陣分解17.3.2 潛在語義分析模型17.3.3 非負矩陣分解的形式化17.3.4 算法本章概要繼續閱讀習題參考文獻
第 18 章概率潛在語義分析
18.1 概率潛在語義分析模型18.1.1 基本想法18.1.2 生成模型18.1.3 共現模型18.1.4 模型性質18.2 概率潛在語義分析的算法本章概要繼續閱讀習題參考文獻第 19 章馬爾可夫鏈蒙特卡羅法
19.1 蒙特卡羅法19.1.1 隨機抽樣19.1.2 數學期望估計19.1.3 積分計算19.2 馬爾可夫鏈19.2.1 基本定義19.2.2 離散狀態馬爾可夫鏈19.2.3 連續狀態馬爾可夫鏈19.2.4 馬爾可夫鏈的性質19.3 馬爾可夫鏈蒙特卡羅法19.3.1 基本想法19.3.2 基本步驟19.3.3 馬爾可夫鏈蒙特卡羅法與統計學習19.4 Metropolis-Hastings 算法19.4.1 基本原理19.4.2 Metropolis-Hastings 算法19.4.3 單分量 Metropolis-Hastings 算法19.5 吉布斯抽樣19.5.1 基本原理19.5.2 吉布斯抽樣算法19.5.3 抽樣計算本章概要繼續閱讀習題參考文獻第 20 章潛在狄利克雷分配
20.1 狄利克雷分布20.1.1 分布定義20.1.2 共軛先驗20.2 潛在狄利克雷分配模型20.2.1 基本想法20.2.2 模型定義20.2.3 概率圖模型20.2.4 隨機變量序列的可交換性20.2.5 概率公式20.3 LDA 的吉布斯抽樣算法20.3.1 基本想法20.3.2 算法的主要部分20.3.3 算法的後處理20.3.4 算法20.4 LDA 的變分 EM 算法20.4.1 變分推理20.4.2 變分 EM 算法20.4.3 算法推導20.4.4 算法總結本章概要繼續閱讀習題參考文獻第 21 章 PageRank 算法
21.1 PageRank 的定義21.1.1 基本想法21.1.2 有向圖和隨機遊走模型21.1.3 PageRank 的基本定義21.1.4 PageRank 的一般定義21.2 PageRank 的計算21.2.1 迭代算法21.2.2 冪法21.3.3 代數算法本章概要繼續閱讀習題參考文獻第 22 章無監督學習方法總結
22.1 無監督學習方法的關係和特點22.1.1 各種方法之間的關係22.1.2 無監督學習方法22.1.3 基礎及其學習方法22.2 話題模型之間的關係和特點參考文獻附錄 A 梯度下降法
附錄 B 牛頓法和擬牛頓法
附錄 C 拉格朗日對偶性
附錄 D 矩陣的基本子空間
附錄 E KL 散度的定義和狄利克雷分布的性質
索引