本書是一本機器學習算法方面的理論+實踐讀物,主要包含機器學習基礎理論、回歸模型、分類模型、聚類模型、降維模型和深度學習模型六大部分。機器學習基礎理論部分包含第1、2章,主要介紹機器學習的理論基礎和工程實踐基礎。第3章是回歸模型部分,主要包括模型的建立、學習策略的確定和優(yōu)化算法的求解過程,最后結合三種常見的線性回歸模型實現了一個房價預測的案例。第4至11章詳細介紹了幾種常見的分類模型,包括樸素貝葉斯模型、K近鄰模型、決策樹模型、Logistic回歸模型、支持向量機模型、隨機森林模型、AdaBoost模型和提升樹模型,每一個模型都給出了較為詳細的推導過程和實際應用案例。第12章系統(tǒng)介紹了五種常見的聚類模型,包括K-Means聚類、層次聚類、密度聚類、譜聚類和高斯混合聚類,每一個模型的原理、優(yōu)缺點和工程應用實踐都給出了較為詳細的說明。第13章系統(tǒng)介紹了四種常用的降維方式,包括奇異值分解、主成分分析、線性判別分析和局部線性嵌入,同樣給出了詳細的理論推導和分析。最后兩章分別是詞向量模型和深度神經網絡模型,其中,詞向量模型詳細介紹了Word2Vec和Doc2Vec模型的原理推導和應用;深度神經網絡模型系統(tǒng)介紹了深度學習相關的各類基礎知識。本書適合對人工智能和機器學習感興趣的學生、求職者和已工作人士,以及想要使用機器學習這一工具的跨行業(yè)者(有最基本的高等數學、線性代數、概率基礎即可),具體判別方法建議您閱讀本書的前言。
胡歡武,畢業(yè)于上海交通大學電子與通信工程專業(yè),研究機器學習和數據挖掘方面近4年。運營有數據科學方面的知乎專欄和微信公眾號,在過去3個月期間累計關注者已經超過3000人,F就職于阿里巴巴。
第1章 機器學習概述 1
1.1 機器學習介紹 1
1.1.1 機器學習的特點 1
1.1.2 機器學習的對象 2
1.1.3 機器學習的應用 4
1.2 機器學習分類 5
1.2.1 按任務類型分類 5
1.2.2 按學習方式分類 7
1.2.3 生成模型與判別模型 9
1.3 機器學習方法三要素 11
1.3.1 模型 11
1.3.2 策略 13
1.3.3 算法 14
1.3.4 小結 23
第2章 機器學習工程實踐 24
2.1 模型評估指標 24
2.1.1 回歸模型的評估指標 24
2.1.2 分類模型的評估指標 25
2.1.3 聚類模型的評估指標 33
2.1.4 常用距離公式 37
2.2 模型復雜度度量 40
2.2.1 偏差與方差 40
2.2.2 過擬合與正則化 42
2.3 特征工程與模型調優(yōu) 47
2.3.1 數據挖掘項目流程 47
2.3.2 特征工程 50
2.3.3 模型選擇與模型調優(yōu) 57
第3章 線性回歸 63
3.1 問題引入 63
3.2 線性回歸模型 64
3.2.1 模型建立 64
3.2.2 策略確定 65
3.2.3 算法求解 66
3.2.4 線性回歸模型流程 67
3.3 線性回歸的scikit-learn實現 67
3.3.1 普通線性回歸 68
3.3.2 Lasso回歸 69
3.3.3 嶺回歸 70
3.3.4 ElasticNet回歸 71
3.4 線性回歸實例 73
3.5 小結 75
第4章 樸素貝葉斯 77
4.1 概述 77
4.2 相關原理 77
4.2.1 樸素貝葉斯基本原理 77
4.2.2 原理的進一步闡述 79
4.2.3 后驗概率最大化的含義 82
4.2.4 拉普拉斯平滑 83
4.3 樸素貝葉斯的三種形式及scikit-learn實現 84
4.3.1 高斯型 84
4.3.2 多項式型 85
4.3.3 伯努利型 86
4.4 中文文本分類項目 87
4.4.1 項目簡介 87
4.4.2 項目過程 87
4.4.3 完整程序實現 94
4.5 小結 100
第5章 K近鄰 102
5.1 概述 102
5.2 K近鄰分類原理 102
5.2.1 K值的選擇 103
5.2.2 距離度量 103
5.2.3 分類決策規(guī)則 104
5.2.4 K近鄰分類算法過程 105
5.3 K近鄰回歸原理 106
5.3.1 回歸決策規(guī)則 106
5.3.2 K近鄰回歸算法過程 106
5.4 搜索優(yōu)化——KD樹 107
5.4.1 構造KD樹 107
5.4.2 搜索KD樹 108
5.5 K近鄰的scikit-learn實現 110
5.5.1 K近鄰分類 110
5.5.2 K近鄰回歸 112
5.6 K近鄰應用實例 112
5.7 小結 115
第6章 決策樹 117
6.1 概述 117
6.2 特征選擇 119
6.2.1 信息增益 119
6.2.2 信息增益比 122
6.2.3 基尼指數 123
6.3 決策樹生成 124
6.3.1 ID3決策樹 124
6.3.2 C4.5決策樹 125
6.3.3 CART決策樹 126
6.4 決策樹剪枝 131
6.5 決策樹的scikit-learn實現 133
6.6 決策樹應用于文本分類 135
6.7 小結 138
第7章 Logistic回歸 140
7.1 Logistic回歸概述 140
7.2 Logistic回歸原理 140
7.2.1 Logistic回歸模型 140
7.2.2 Logistic回歸學習策略 141
7.2.3 Logistic回歸優(yōu)化算法 142
7.3 多項Logistic回歸 144
7.4 Logistic回歸的scikit-learn實現 144
7.5 Logistic回歸實例 146
7.6 小結 153
第8章 支持向量機 155
8.1 感知機 155
8.1.1 感知機模型 155
8.1.2 感知機學習策略 157
8.1.3 感知機優(yōu)化算法 159
8.1.4 感知機模型整體流程 159
8.1.5 小結 160
8.2 硬間隔支持向量機 160
8.2.1 引入 160
8.2.2 推導 161
8.3 軟間隔支持向量機 169
8.4 合頁損失函數 176
8.5 非線性支持向量機 177
8.6 SVM的scikit-learn實現 180
8.6.1 線性SVM 180
8.6.2 非線性SVM 181
8.7 SVM實例 182
8.8 小結 184
第9章 隨機森林 186
9.1 Bagging 186
9.2 隨機森林概念 188
9.3 RF的推廣——extra trees 188
9.4 RF的scikit-learn實現 189
9.5 RF的scikit-learn使用實例 192
9.5.1 程序 193
9.5.2 結果及分析 195
9.5.3 擴展 198
9.6 小結 200
第10章 AdaBoost 202
10.1 AdaBoost的結構 202
10.1.1 AdaBoost的工作過程 203
10.1.2 AdaBoost多分類問題 204
10.1.3 AdaBoost回歸問題 208
10.2 AdaBoost的原理 210
10.3 AdaBoost的scikit-learn實現 212
10.4 AdaBoost應用實例 214
10.5 AdaBoost模型的優(yōu)缺點 217
第11章 提升樹 218
11.1 提升樹的定義 218
11.2 梯度提升樹 223
11.2.1 梯度提升樹的原理推導 224
11.2.2 GBDT和GBRT模型的處理過程 226
11.2.3 梯度提升模型的scikit-learn實現 227
11.2.4 梯度提升模型的scikit-learn使用實例 230
11.2.5 GBDT模型的優(yōu)缺點 236
11.3 XGBoost 236
11.3.1 XGBoost的原理 236
11.3.2 XGBoost調參 239
11.3.3 XGBoost與GBDT的比較 241
第12章 聚類 243
12.1 聚類問題介紹 243
12.2 K-Means聚類 244
12.2.1 K-Means聚類過程和原理 244
12.2.2 K-Means算法優(yōu)化 247
12.2.3 小結 248
12.2.4 K-Means應用實例 248
12.3 層次聚類 252
12.3.1 層次聚類的過程和原理 252
12.3.2 小結 254
12.3.3 層次聚類應用實例 254
12.4 密度聚類算法 256
12.4.1 密度聚類算法過程和原理 256
12.4.2 密度聚類小結 258
12.4.3 密度聚類應用實例 259
12.5 譜聚類 262
12.5.1 譜聚類的過程和原理 262
12.5.2 譜聚類小結 269
12.5.3 譜聚類應用實例 270
12.6 高斯混合模型 272
12.6.1 高斯混合聚類過程和原理 272
12.6.2 EM算法 274
12.6.3 小結 279
12.6.4 GMM應用實例 279
第13章 降維 282
13.1 奇異值分解 282
13.1.1 矩陣的特征分解 282
13.1.2 奇異值分解 283
13.2 主成分分析 286
13.2.1 PCA原理推導 287
13.2.2 核化PCA 293
13.2.3 PCA/KPCA的scikit-learn實現 293
13.3 線性判別分析 300
13.3.1 LDA原理推導 300
13.3.2 LDA與PCA的比較 305
13.3.3 LDA應用實例 306
13.4 局部線性嵌入 309
13.4.1 局部線性嵌入介紹 309
13.4.2 局部線性嵌入過程和原理 309
13.4.3 LLE應用實例 314
第14章 Word2Vec和Doc2Vec詞向量模型 317
14.1 Word2Vec 317
14.1.1 Word2Vec概述 317
14.1.2 基于Hierarchical Softmax方法的CBOW模型 318
14.1.3 基于Hierarchical Softmax方法的Skip-Gram模型 322
14.1.4 基于Negative Sampling方法的CBOW模型 323
14.1.5 基于Negative Sampling方法的Skip-Gram模型 326
14.1.6 Word2Vec應用實例 327
14.2 Doc2Vec模型 329
14.2.1 Doc2Vec模型原理 329
14.2.2 Doc2Vec應用實例 331
第15章 深度神經網絡 335
15.1 深度學習 335
15.1.1 概述 335
15.1.2 深度學習發(fā)展歷史 336
15.2 神經網絡原理 341
15.2.1 前向傳播 341
15.2.2 反向傳播 343
15.2.3 實例 347
15.2.4 幾種常用激活函數 354
15.2.5 梯度消失與梯度爆炸 357
15.2.6 幾種常用的優(yōu)化算法 358
15.3 神經網絡應用實例 363
15.4 小結 366