內容簡介
本書是機器學習領域的入門教材,詳細闡述了機器學習的基本理論和方法。全書由15章組成,包括機器學習概論、數學基礎知識、線性模型與邏輯斯諦回歸、支持向量機、人工神經網路、決策樹算法、貝葉斯算法、k近鄰算法、數據降維算法、聚類算法、高斯混合模型與EM算法、集成學習算法、最大熵算法、機率圖算法以及強化學習算法等。對每一種機器學習算法,均從算法原理的理論推導和MATLAB實現兩方面進行介紹。本書既注意保持理論分析的嚴謹性,又注重機器學習算法的實用性,同時強調機器學習算法的思想和原理在計算機上的實現。全書內容選材恰當,系統性強,行文通俗流暢,具有較強的可讀性。
目錄
第1章 機器學習概論 1
1.1 機器學習的基本定義 1
1.2 機器學習的基本術語 2
1.3 機器學習算法的分類 3
1.3.1 監督學習與無監督學習 3
1.3.2 分類問題與回歸問題 4
1.3.3 生成模型與判別模型 5
1.3.4 強化學習 6
1.4 機器學習模型的評價指標 6
1.4.1 模型的泛化能力 6
1.4.2 模型的評估方法 7
1.4.3 精度與召回率 8
1.4.4 ROC 曲線與 AUC 9
1.5 機器學習模型的選擇 10
1.5.1 正則化技術 10
1.5.2 偏差-方差分解 12
1.6 機器學習套用的基本流程 13
1.7 機器學習的用途及發展簡史 14
第2章 數學基礎知識 16
2.1 矩陣與微分 16
2.1.1 矩陣的基本運算 16
2.1.2 矩陣對標量的導數 17
2.1.3 矩陣變數函式的導數 18
2.1.4 向量函式的導數 20
2.1.5 矩陣和向量的微分 21
2.1.6 特徵值分解和奇異值分解 22
2.2 最最佳化方法 24
2.2.1 無約束最佳化方法 24
2.2.2 約束最佳化與 KKT 條件 27
2.2.3 二次規劃 29
2.2.4 半定規劃 30
2.3 機率與統計 31
2.3.1 隨機變數與機率 31
2.3.2 條件機率與獨立性 33
2.3.3 期望、馬爾可夫不等式和矩生成函式 34
2.3.4 方差與切比雪夫不等式 35
2.3.5 樣本均值與樣本方差 37
2.3.6 極大似然估計 39
2.3.7 熵與 KL 散度 39
第3章 線性模型與邏輯斯諦回歸 41
3.1 線性模型的基本形式 41
3.1.1 線性回歸模型的理論基礎 41
3.1.2 線性回歸模型的 MATLAB 實現 44
3.2 邏輯斯諦回歸模型 46
3.2.1 邏輯斯諦回歸的基本原理 46
3.2.2 邏輯斯諦回歸的 MATLAB 實現 50
3.3 線性判別分析 53
3.3.1 線性判別分析的基本原理 54
3.3.2 線性判別分析的 MATLAB 實現 58
第4章 支持向量機 64
4.1 支持向量機的算法原理 64
4.1.1 線性可分問題 65
4.1.2 線性不可分問題 69
4.2 核映射 (核函式) 支持向量機 71
4.3 SMO 算法原理及推導 73
4.3.1 子問題的求解 75
4.3.2 最佳化變數的選擇 78
4.4 支持向量回歸模型 79
4.5 支持向量機的 MATLAB 實現 82
第5章 人工神經網路 89
5.1 前饋神經網路簡介 89
5.1.1 M-P 神經元 89
5.1.2 感知器模型 91
5.1.3 多層前饋網路 95
5.2 誤差逆傳播算法 98
5.2.1 一個單隱層網路實例 99
5.2.2 誤差逆傳播 (BP) 算法 103
5.3 神經網路的數學性質與實現細節 109
5.3.1 神經網路的數學性質 109
5.3.2 全局最小與局部極小 110
5.3.3 面臨的問題與實現細節 111
5.4 神經網路的 MATLAB 實現 115
第6章 決策樹算法 124
6.1 決策樹算法的基本原理 124
6.1.1 樹模型決策過程 124
6.1.2 決策樹算法的基本框架 125
6.1.3 決策樹的剪枝 127
6.2 基本決策樹算法的改進 130
6.2.1 信息增益與 ID3 決策樹 130
6.2.2 增益率與 C4.5 決策樹 133
6.2.3 基尼指數與 CART 決策樹 135
6.3 連續值處理與屬性缺失 137
6.3.1 連續值的處理 137
6.3.2 屬性缺失問題 139
6.4 決策樹算法的 MATLAB 實現 141
第7章 貝葉斯算法 148
7.1 貝葉斯算法的原理 148
7.1.1 貝葉斯決策 148
7.1.2 樸素貝葉斯算法 149
7.1.3 正態貝葉斯算法 154
7.2 貝葉斯算法的改進 155
7.2.1 半樸素貝葉斯算法 156
7.2.2 TAN 貝葉斯算法 157
7.2.3 貝葉斯網與樸素貝葉斯樹 159
7.2.4 加權樸素貝葉斯算法 161
7.3 貝葉斯算法的 MATLAB 實現 162
第8章 k 近鄰算法 167
8.1 k 近鄰算法的原理 167
8.1.1 k 近鄰算法的流程 167
8.1.2 k 近鄰的距離函式 169
8.2 k 近鄰改進算法簡介 171
8.3 k 近鄰算法的 MATLAB 實現 173
第9章 數據降維算法 182
9.1 主成分分析法 182
9.1.1 主成分分析的基本原理 182
9.1.2 核主成分分析算法 189
9.1.3 PCA 算法的 MATLAB 實現 190
9.1.4 快速 PCA 算法及其實現 194
9.2 流形學習算法 196
9.2.1 局部線性嵌入及其 MATLAB 實現 197
9.2.2 等距映射與 MDS 算法及其實現 203
第10章 聚類算法 209
10.1 聚類的基本理論 209
10.1.1 問題定義 209
10.1.2 距離計算 210
10.1.3 性能指標 211
10.2 k 均值算法 213
10.2.1 k 均值算法基本原理 213
10.2.2 k 均值算法的 MATLAB 實現 214
10.3 k 中心點算法 217
10.3.1 k 中心點算法基本原理 217
10.3.2 k 中心點算法的 MATLAB 實現 220
10.4 密度聚類算法 221
10.4.1 DBSCAN 算法的基本原理 222
10.4.2 DBSCAN 算法的 MATLAB 實現 224
10.5 層次聚類算法 230
10.5.1 AGNES 算法的基本原理 230
10.5.2 AGNES 算法的 MATLAB 實現 231
第11章 高斯混合模型與 EM 算法 237
11.1 高斯混合模型 237
11.2 EM 算法的理論推導 238
11.3 EM 算法的套用 242
11.4 GMM 的 MATLAB 實現 251
11.4.1 高斯混合模型的生成 251
11.4.2 GM 模型的參數擬合 253
11.4.3 高斯混合聚類實例 255
11.5 高斯混合聚類的改進方法 261
11.5.1 擬合初始值的設定問題 261
11.5.2 聚類簇數 k 值的選擇問題 264
11.5.3 高斯混合聚類的正則化 267
第12章 集成學習算法 270
12.1 集成學習概述 270
12.1.1 集成學習的基本概念 270
12.1.2 集成模型的並行生成 271
12.1.3 集成模型的串列生成 272
12.1.4 集成模型的組合策略 273
12.2 Bagging 與隨機森林 276
12.2.1 Bagging 算法 276
12.2.2 隨機森林算法 278
12.2.3 隨機森林的 MATLAB 實現 279
12.3 Boosting 算法 283
12.3.1 AdaBoost 算法的基本原理 283
12.3.2 AdaBoost 的 MATLAB 實現 291
第13章 最大熵算法 298
13.1 熵的來源及相關定義 298
13.2 最大熵模型的定義 300
13.2.1 最大熵原理 300
13.2.2 最大熵模型 302
13.3 最大熵模型的學習算法 304
13.3.1 最大熵算法的基本原理 304
13.3.2 最大熵模型的極大似然估計 308
13.4 模型參數學習的最最佳化方法 310
13.4.1 梯度下降法和擬牛頓法 310
13.4.2 改進的疊代尺度法 312
13.5 最大熵模型的 MATLAB 實現 316
第14章 機率圖算法 322
14.1 隱馬爾可夫模型 323
14.1.1 隱馬爾可夫模型的定義 323
14.1.2 觀測序列機率的計算方法 326
14.1.3 計算模型參數的鮑姆-韋爾奇算法 336
14.1.4 預測隱藏狀態序列的維特比算法 343
14.2 條件隨機場模型 348
14.2.1 條件隨機場的定義 349
14.2.2 線性鏈條件隨機場 350
14.2.3 線性鏈條件隨機場的機率計算 355
14.2.4 線性鏈條件隨機場的學習算法 358
14.2.5 線性鏈條件隨機場的解碼算法 360
第15章 強化學習算法 366
15.1 強化學習的模型基礎 366
15.1.1 強化學習的基本特徵 366
15.1.2 強化學習的建模 367
15.2 強化學習的理論模型 369
15.2.1 探索與利用 369
15.2.2 ε-貪心算法 370
15.2.3 Softmax 算法 371
15.3 馬爾可夫決策過程 375
15.4 求解最優策略的動態規划算法 378
15.4.1 策略疊代算法 379
15.4.2 價值疊代算法 381
15.5 求解最優策略的蒙特卡羅法 383
15.5.1 無模型強化學習的定義 383
15.5.2 蒙特卡羅法求解預測問題 384
15.5.3 蒙特卡羅法求解控制問題 386
15.6 求解最優策略的時序差分法 387
15.6.1 時序差分法的基本原理 387
15.6.2 SARSA 算法及 MATLAB 實現 390
15.6.3 Q-學習算法及 MATLAB 實現 397
參考文獻 407