內容簡介
本書是一本機器學習算法方面的理論+實踐讀物,主要包含機器學習基礎理論、回歸模型、分類模型、聚類模型、降維模型和深度學習模型六大部分。機器學習基礎理論部分包含第1、2章,主要介紹機器學習的理論基礎和工程實踐基礎。第3章是回歸模型部分,主要包括模型的建立、學習策略的確定和最佳化算法的求解過程,最後結合三種常見的線性回歸模型實現了一個房價預測的案例。第4至11章詳細介紹了幾種常見的分類模型,包括樸素貝葉斯模型、K近鄰模型、決策樹模型、Logistic回歸模型、支持向量機模型、隨機森林模型、AdaBoost模型和提升樹模型,每一個模型都給出了較為詳細的推導過程和實際套用案例。
圖書目錄
第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 特徵工程與模型調優 47
2.3.1 數據挖掘項目流程 47
2.3.2 特徵工程 50
2.3.3 模型選擇與模型調優 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 分類決策規則 104
5.2.4 K近鄰分類算法過程 105
5.3 K近鄰回歸原理 106
5.3.1 回歸決策規則 106
5.3.2 K近鄰回歸算法過程 106
5.4 搜尋最佳化——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回歸最佳化算法 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 感知機最佳化算法 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模型的優缺點 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模型的優缺點 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算法最佳化 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 深度學習發展歷史 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 幾種常用的最佳化算法 358
15.3 神經網路套用實例 363
15.4 小結 366