本書一開始就立足于軟件編寫、算法測試的實踐指導,為讀者理解示例代碼、動手編寫自己的程序做必要的鋪墊。
然后,作者才開始簡明扼要地介紹機器學習算法的定義,以及讀者必須知道的算法類別、這些算法又各自有何神通,并輕輕點出:每個算法也有它的死穴。
第三章到第九章,作者深入詳實地講解了幾種有代表性的機器學習算法:K-最近鄰,樸素貝葉斯分類,決策樹和隨機森林,隱馬爾可夫模型,支持向量機,神經網絡,以及聚類。在這些章節中,不但講解了算法核心部分的數學表達,也用機智、形象的語言描述了算法如何在實際生活中解決問題,并給出了關鍵的Python代碼示例和算法訓練、測試過程。
Matthew Kirk是一名軟件咨詢師、作者和國際演講者,擅長機器學習和數據科學,使用Ruby和Python編程。現居于西雅圖,他喜歡幫助軟件工程師將數據科學融入到他們的技術棧中。
前言 1
第1章 5
可能近似正確的軟件 5
正確地編寫軟件 6
編寫正確的軟件 10
本書計劃 16
第2章 快速介紹機器學習 18
什么是機器學習 18
有監督學習 18
無監督學習 19
強化學習 20
機器學習能完成什么 20
本書中使用的數學符號 21
結論 22
第3章 K最近鄰算法 23
如何確定是否想購買一棟房子 23
房子的價格究竟幾何 24
愉悅回歸 24
什么是鄰域 25
K最近鄰算法簡介 26
K先生最近的鄰居 26
距離 27
維度災難 33
如何選擇K 34
給西雅圖的房子估價 37
結論 43
第4章 樸素貝葉斯分類 44
通過貝葉斯定理來發現欺詐訂單 44
條件概率 45
概率符號 45
反向條件概率(又名貝葉斯定理) 47
樸素貝葉斯分類器 47
貝葉斯推理之樸素 48
偽計數 49
垃圾郵件過濾器 50
標記化和上下文 55
結論 67
第5章 決策樹和隨機森林 68
蘑菇的細微差別 69
使用民間定理實現蘑菇分類 70
找到最佳切換點 71
修剪樹 74
結論 83
第6章 隱馬爾可夫模型 84
使用狀態機來跟蹤用戶行為 84
輸出/觀測隱含狀態 86
使用馬爾可夫假設化簡 87
隱馬爾可夫模型 88
評估: 前向-后向算法 89
通過維特比算法解碼 93
學習問題 94
詞性標注與布朗語庫 94
結論 105
第7章 支持向量機 106
客戶滿意度作為語言的函數 107
SVM背后的理論 108
情緒分析器 113
聚合情緒 124
將情緒映射到底線 126
結論 127
第8章 神經網絡 128
什么是神經網絡 129
神經網絡史 129
布爾邏輯 129
感知器 130
如何構建前饋神經網絡 130
構建神經網絡 144
使用神經網絡來對語言分類 145
結論 154
第9章 聚類 155
無任何偏差的研究數據 155
用戶群組 156
測試群集映射 157
K均值聚類 159
最大期望(EM)聚類 161
不可能性定理 163
案例:音樂歸類 164
結論 174
第10章 模型改進與數據提取 175
辯論俱樂部 175
選擇更好的數據 176
最小冗余最大相關性的特征選擇 181
特征變換與矩陣分解 183
結論 189
第11章 將這些方法融合在一起:結論 191
機器學習算法回顧 191
如何使用這些信息來解決問題 193
下一步做什么 193