近年來,隨著計算機技術(shù)及互聯(lián)網(wǎng)技術(shù)的發(fā)展,機器學(xué)習(xí)已經(jīng)廣泛應(yīng)用于多個領(lǐng)域。未來,
隨著信息技術(shù)的進(jìn)一步發(fā)展,機器學(xué)習(xí)技術(shù)將會更加深入地應(yīng)用到生產(chǎn)、生活的方方面面。
機器學(xué)習(xí)技術(shù)正處于朝陽時期,現(xiàn)階段對這方面人才的需求遠(yuǎn)遠(yuǎn)大于供給。機器學(xué)習(xí)發(fā)
展迅猛,應(yīng)用于多個領(lǐng)域。在自動駕駛領(lǐng)域,機器學(xué)習(xí)用于汽車控制系統(tǒng)的多方面;在金融
領(lǐng)域,機器學(xué)習(xí)用于預(yù)測股票市場;在醫(yī)療領(lǐng)域,機器學(xué)習(xí)用于醫(yī)療診斷;在執(zhí)法領(lǐng)域,機
器學(xué)習(xí)用于面部識別,在面部識別的輔助下可以解決若干犯罪行為的定罪問題;在自適應(yīng)控
制領(lǐng)域,機器學(xué)習(xí)用于自適應(yīng)控制系統(tǒng)操縱油輪。
將來,隨著信息技術(shù)的發(fā)展,機器學(xué)習(xí)將會在更多的領(lǐng)域得到應(yīng)用。
MATLAB 的主要功能主要包括:一般數(shù)值分析、矩陣運算、數(shù)字信號處理、建模和
系統(tǒng)控制與優(yōu)化等,以及集應(yīng)用程序和圖形于一體的集成環(huán)境,在此環(huán)境下所處理問題的
MATLAB 語言表述形式和其數(shù)學(xué)表達(dá)形式相同,無須按傳統(tǒng)的方法編程。MATLAB 語言降
低了對使用者的數(shù)學(xué)基礎(chǔ)和計算機語言知識的要求,提高了編程效率和計算效率,還可在計
算機上直接輸出結(jié)果和精美的圖形。
本書的目的是幫助讀者利用 MATLAB 的功能來解決各種機器學(xué)習(xí)的問題,適用于每個對
機器學(xué)習(xí)感興趣的人。
編寫本書具有如下特點。
1.由淺入深,循序漸進(jìn)
本書基于 MATLAB 平臺介紹相關(guān)編程知識,并在 MATLAB 上利用各種機器學(xué)習(xí)算法解
決實際問題,大大簡化了問題并提高了解決問題的效率。
2.內(nèi)容新穎,應(yīng)用全面
本書將理論與實踐相結(jié)合,結(jié)合機器學(xué)習(xí)算法的使用經(jīng)驗和實際領(lǐng)域應(yīng)用問題,介紹機
器學(xué)習(xí)算法的原理及其 MATLAB 實現(xiàn)方法。
3.輕松易學(xué),方便快捷
本書給出了大量典型的應(yīng)用實例,在講解過程中輔以相應(yīng)的圖片,使讀者在閱讀時一目
了然,從而輕松、快速掌握書中的內(nèi)容,提高學(xué)習(xí)效率。
全書共 12 章,主要包括如下內(nèi)容。
第 1 章介紹機器學(xué)習(xí),主要包括機器學(xué)習(xí)的分類、選擇正確的算法、常用的機器學(xué)習(xí)算法、
機器學(xué)習(xí)的應(yīng)用領(lǐng)域等內(nèi)容。
第 2 章介紹 MATLAB 軟件,主要包括 MATLAB 數(shù)據(jù)類型、MATLAB 作圖等內(nèi)容。
第 3 章介紹數(shù)學(xué)基礎(chǔ)知識,主要包括矩陣的微分、向量和矩陣積分、特征值分解和奇異
值分解、最優(yōu)化方法等內(nèi)容。
文前.indd 1 2025/4/23 15:19:25 II MATLAB 機器學(xué)習(xí)
第 4 章介紹線性回歸分析,主要包括線性回歸模型、多元線性回歸、廣義線性模型、多
重共線性、其他線性回歸等內(nèi)容。
第 5 章介紹邏輯回歸分析,主要包括邏輯回歸概述、模型表達(dá)式、損失函數(shù)、模型求解、
邏輯回歸的應(yīng)用等內(nèi)容。
第 6 章介紹 K- 均值聚類算法分析,主要包括 K- 均值聚類算法概述、K- 均值聚類算法
實現(xiàn)、K- 均值聚類改進(jìn)算法等內(nèi)容。
第 7 章介紹決策樹分析,主要包括決策樹的簡介、決策樹的原理、3 種算法的對比、剪樹
處理、決策樹的特點、決策樹的函數(shù)、決策樹的應(yīng)用等內(nèi)容。
第 8 章介紹主成分分析,主要包括降維方法、進(jìn)行 PCA 的原因、PCA 數(shù)學(xué)原理、PCA
涉及的主要問題、PCA 的優(yōu)化目標(biāo)、PCA 的求解步驟、PCA 的優(yōu)缺點與應(yīng)用場景,PCA 相
關(guān)函數(shù)、偏最小二乘回歸和主成分回歸等內(nèi)容。
第 9 章介紹支持向量機分析,主要包括線性分類、硬間隔、支持向量機的相關(guān)函數(shù)、用
于二類分類的支持向量機等內(nèi)容。
第 10 章介紹樸素貝葉斯算法分析,主要包括貝葉斯公式、樸素貝葉斯算法的原理、樸素
貝葉斯常用模型、拉普拉斯平滑、樸素貝葉斯算法的優(yōu)缺點、樸素貝葉斯算法的創(chuàng)建函數(shù)、
樸素貝葉斯算法的實現(xiàn)等內(nèi)容。
第 11 章介紹隨機森林算法分析,主要包括集成學(xué)習(xí)、集成學(xué)習(xí)的常見算法、隨機森林算
法等內(nèi)容。
第 12 章介紹神經(jīng)網(wǎng)絡(luò)分析,主要包括神經(jīng)網(wǎng)絡(luò)的概述、卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)等
內(nèi)容。
全書實用性強,應(yīng)用范圍廣,可作為廣大在校本科生和研究生的學(xué)習(xí)用書,也可以作為
廣大科研人員、學(xué)者、工程技術(shù)人員的參考用書。
本書主要由佛山大學(xué)鄧奮發(fā)編寫。
【配套資源】
本書提供教學(xué)課件、程序代碼等配套資源,可以在清華大學(xué)出版社官方網(wǎng)站本書頁面下載,
或者掃描封底的書圈二維碼在公眾號下載。
由于時間倉促,加之編者水平有限,書中疏漏之處在所難免。在此,誠懇地期望得到各
領(lǐng)域的專家和廣大讀者的批評指正。
編者
2025 年 1 月
文前.indd 2 2025/4/23 15:19:26
第 1 章 機器學(xué)習(xí) 1
1.1 機器學(xué)習(xí)的分類 . 1
1.1.1 用監(jiān)督學(xué)習(xí)預(yù)測未來 2
1.1.2 用無監(jiān)督學(xué)習(xí)發(fā)現(xiàn)隱藏結(jié)構(gòu) . 3
1.1.3 用強化學(xué)習(xí)解決交互問題 . 4
1.1.4 分類和回歸術(shù)語 4
1.2 選擇正確的算法 . 5
1.3 常用的機器學(xué)習(xí)算法 7
1.4 機器學(xué)習(xí)的應(yīng)用領(lǐng)域 8
第 2 章 MATLAB 軟件 .10
2.1 MATLAB 數(shù)據(jù)類型 10
2.1.1 矩陣 10
2.1.2 元胞數(shù)組 . 11
2.1.3 結(jié)構(gòu)體 12
2.1.4 數(shù)據(jù)存儲 . 14
2.1.5 tall 數(shù)組 17
2.1.6 稀疏矩陣 . 19
2.1.7 表與分類數(shù)組 . 22
2.1.8 大型 MAT 文件 . 25
2.2 MATLAB 作圖 . 27
2.2.1 二維線圖 . 27
2.2.2 通用二維圖形 . 31
2.2.3 三維點或線圖 . 32
2.2.4 通用三維圖形 . 34
第 3 章 數(shù)學(xué)基礎(chǔ)知識 36
3.1 矩陣的微分 36
3.1.1 標(biāo)量與矩陣求導(dǎo)通用的法則 . 36
3.1.2 矩陣和向量求導(dǎo)的通用法則 . 38
3.1.3 MATLAB 的實現(xiàn) 39
3.2 向量和矩陣積分 . 41
3.2.1 向量梯度 . 41
3.2.2 微分公式 . 41
文前.indd 3 2025/4/23 15:19:26 IV MATLAB 機器學(xué)習(xí)
3.2.3 優(yōu)化方法 . 42
3.2.4 拉格朗日乘子法 42
3.2.5 向量矩陣積分實現(xiàn) 42
3.3 特征值分解和奇異值分解 43
3.3.1 特征值分解 . 43
3.3.2 奇異值分解 45
3.4 最優(yōu)化方法 47
3.4.1 無約束優(yōu)化方法 47
3.4.2 約束優(yōu)化與 KKT 條件 53
3.4.3 二次規(guī)劃 . 57
第 4 章 線性回歸分析 60
4.1 線性回歸模型 . 60
4.1.1 線性模型 . 60
4.1.2 損失函數(shù) . 60
4.1.3 隨機梯度下降法 61
4.1.4 線性回歸簡單實現(xiàn) 61
4.2 多元線性回歸 . 63
4.3 廣義線性模型 . 68
4.3.1 廣義線性模型介紹 69
4.3.2 廣義線性模型實現(xiàn) 69
4.4 多重共線性 75
4.4.1 什么是多重共線性 75
4.4.2 多重共性后果 . 76
4.4.3 多重共線性檢驗 79
4.4.4 多重共線性回歸實現(xiàn) 79
4.5 其他線性回歸 . 80
4.5.1 嶺回歸 81
4.5.2 Lasso 回歸 82
4.5.3 彈性網(wǎng)絡(luò) . 83
4.5.4 逐步回歸 . 85
第 5 章 邏輯回歸分析 91
5.1 邏輯回歸概述 . 91
5.2 模型表達(dá)式 92
5.3 損失函數(shù) 93
5.3.1 單個樣本評估正確的概率 . 93
5.3.2 所有樣本評估正確的概率 . 93
5.3.3 損失函數(shù) . 93
5.4 模型求解 94
5.5 邏輯回歸的應(yīng)用 . 95
文前.indd 4 2025/4/23 15:19:27 目錄 V
第 6 章 K- 均值聚類算法分析 .102
6.1 K- 均值聚類算法概述 . 102
6.1.1 K- 均值聚類算法的思想 102
6.1.2 K- 均值聚類算法的三要素 103
6.1.3 K- 均值聚類算法的步驟 103
6.1.4 K- 均值聚類算法的優(yōu)缺點 104
6.1.5 K- 均值聚類算法調(diào)優(yōu) . 105
6.2 K- 均值聚類算法實現(xiàn) . 107
6.2.1 K- 均值聚類算法函數(shù) . 107
6.2.2 K- 均值聚類基于顏色的分割 .111
6.3 K- 均值聚類改進(jìn)算法 . 114
6.3.1 K-means 算法 . 114
6.3.2 ISODATA 算法 . 117
第 7 章 決策樹分析 .125
7.1 決策樹的簡介 . 125
7.2 決策樹的原理 . 125
7.2.1 信息熵 127
7.2.2 信息增益 . 127
7.2.3 信息增益率 . 127
7.2.4 基尼系數(shù) . 128
7.3 3 種算法的對比 129
7.4 剪樹處理 129
7.4.1 預(yù)剪枝 129
7.4.2 后剪枝 129
7.5 決策樹的特點 . 130
7.6 分類樹的函數(shù) . 130
7.6.1 創(chuàng)建分類樹 . 130
7.6.2 改進(jìn)分類樹 . 133
7.6.3 解釋分類樹 . 134
7.6.4 交叉驗證分類樹 136
7.6.5 測量性能 . 138
7.7 決策樹的應(yīng)用 . 141
第 8 章 主成分分析 .148
8.1 降維方法 148
8.2 進(jìn)行 PCA 的原因 . 149
8.3 PCA 數(shù)學(xué)原理 149
8.3.1 內(nèi)積與投影 . 149
8.3.2 基 150
8.3.3 基變換的矩陣表示 151
文前.indd 5 2025/4/23 15:19:27 VI MATLAB 機器學(xué)習(xí)
8.4 PCA 涉及的主要問題 . 152
8.5 PCA 的優(yōu)化目標(biāo) 153
8.6 PCA 的求解步驟 154
8.7 PCA 的優(yōu)缺點與應(yīng)用場景 . 154
8.7.1 PCA 方法的優(yōu)點 . 155
8.7.2 PCA 方法的缺點 . 155
8.7.3 PCA 的應(yīng)用場景 . 155
8.8 PCA 相關(guān)函數(shù) 156
8.9 偏最小二乘回歸和主成分回歸 . 160
第 9 章 支持向量機分析 167
9.1 線性分類 167
9.1.1 邏輯回歸 . 167
9.1.2 邏輯回歸表述 SVM 168
9.1.3 線性分類簡單實例 168
9.2 硬間隔 169
9.2.1 求解間隔 . 170
9.2.2 拉格朗日乘數(shù)法 171
9.2.3 對偶問題 . 172
9.2.4 軟間隔 173
9.2.5 核(Kernel)函數(shù) . 175
9.2.6 模型評估和超參數(shù)調(diào)優(yōu). 176
9.3 支持向量機的相關(guān)函數(shù) 178
9.3.1 支持向量機回歸函數(shù) 178
9.3.2 支持向量機分類函數(shù) 185
9.4 用于二類分類的支持向量機 . 192
9.4.1 用高斯核訓(xùn)練 SVM 分類器 192
9.4.2 使用自定義核函數(shù)訓(xùn)練 SVM 分類器 195
9.4.3 繪制 SVM 分類模型的后驗概率區(qū)域 198
9.4.4 使用線性支持向量機分析圖像 . 200
第 10 章 樸素貝葉斯算法分析 203
10.1 貝葉斯公式 203
10.2 樸素貝葉斯算法的原理 204
10.3 樸素貝葉斯常用模型 205
10.3.1 伯努利樸素貝葉斯模型 . 205
10.3.2 多項式樸素貝葉斯 207
10.3.3 高斯樸素貝葉斯 208
10.4 拉普拉斯平滑 . 209
10.5 樸素貝葉斯算法的優(yōu)缺點 210
10.6 樸素貝葉斯算法的創(chuàng)建函數(shù) . 210
文前.indd 6 2025/4/23 15:19:27 目錄 VII
10.7 樸素貝葉斯算法的實現(xiàn) 212
10.7.1 邏輯回歸模型的貝葉斯分析 . 212
10.7.2 判別分析、樸素貝葉斯分類器和決策樹進(jìn)行分類 219
第 11 章 隨機森林算法分析 227
11.1 集成學(xué)習(xí) 227
11.2 集成學(xué)習(xí)的常見算法 228
11.2.1 Bagging 算法 228
11.2.2 Boosting 算法 228
11.2.3 Stacking 算法 229
11.3 隨機森林算法 . 230
11.3.1 隨機森林算法簡介 231
11.3.2 隨機森林算法原理 231
11.3.3 隨機森林算法優(yōu)缺點 232
11.3.4 隨機森林算法功能 233
11.3.5 隨機森林算法實現(xiàn)函數(shù) . 233
11.3.6 隨機森林算法的應(yīng)用 244
第 12 章 神經(jīng)網(wǎng)絡(luò)分析 .249
12.1 神經(jīng)網(wǎng)絡(luò)的概述 . 249
12.1.1 前饋神經(jīng)網(wǎng)絡(luò) . 249
12.1.2 前饋神經(jīng)網(wǎng)絡(luò)的應(yīng)用 253
12.2 卷積神經(jīng)網(wǎng)絡(luò) . 258
12.2.1 用卷積代替全連接 258
12.2.2 卷積層 259
12.2.3 匯聚層 259
12.2.4 全連接層 . 260
12.2.5 典型的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu) . 260
12.2.6 幾種典型的卷積神經(jīng)網(wǎng)絡(luò) . 260
12.2.7 卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn) 263
12.3 循環(huán)神經(jīng)網(wǎng)絡(luò) . 267
12.3.1 循環(huán)神經(jīng)網(wǎng)絡(luò)概述 267
12.3.2 循環(huán)神經(jīng)網(wǎng)絡(luò)的實現(xiàn) 272
文前.indd 7 2025/4/23 15:19:27文前.indd 8 2025/4/23 15:19:27