本書詳細介紹機器學習主要算法,包括:C4.5決策樹、k-均值(K-means)、支持向量機(SVM)、Apriori、最大期望值、PageRank算法、AdaBoost算法、k-近鄰算法(kNN)、樸素貝葉斯算法和分類回歸樹算法以及神經(jīng)網(wǎng)絡和深度學習的簡單介紹。
機器學習是人工智能研究領域中一個重要的方向,是一門研究機器怎樣模擬或實現(xiàn)人類學習行為以獲取新知識或技能,并重新組織已有知識結構使之不斷改善自身性能的學科。機器學習算法在計算機視覺、數(shù)據(jù)挖掘、自然信息處理、個性化推薦等領域具有廣泛的應用,不僅是計算機科學與技術、人工智能、數(shù)據(jù)科學領域專業(yè)人士的常用手段,還成為各行各業(yè)解決實際問題的有力工具。
本書深入淺出地介紹了機器學習的核心算法,為每個算法精心設計了應用案例,并基于Python給出相應算法案例的實現(xiàn)代碼,通過對基本理論的介紹和案例的設計與實現(xiàn),讀者能對機器學習基本算法有一個較深入的理解,并能理論聯(lián)系實際建立起使用機器學習方法解決實際問題的思路。
由于深度學習近年來在眾多領域取得了飛躍性的進步和突破,解決了傳統(tǒng)方法難以解決的問題,本書給出一定的篇幅專門介紹深度學習理論。飛槳是百度提供的國內(nèi)首個開源深度學習框架,是最適合中國開發(fā)者和企業(yè)使用的深度學習工具,本書基于飛槳框架給出了深度學習應用案例的設計與實現(xiàn)過程。
本書適用于但不局限于對人工智能和機器學習算法感興趣的讀者,適合作為高等院校計算機科學與技術、人工智能、數(shù)據(jù)科學等專業(yè)相關課程的教材和人工智能通識教育的教材,也可供廣大IT從業(yè)人員參考。
全書共15章,第1章至第5章由饒泓編寫,第6、7章由段文影編寫,第8、9章由樊莉莉編寫,第10至11章由徐子晨編寫,第12至15章由邱睿韞編寫。饒泓負責(徐子晨、邱睿韞協(xié)助)全書的組織和統(tǒng)稿工作。由于作者水平有限,書中難免有錯誤與不妥之處,請讀者多多指正。
作者
2023年10月
饒泓,女,1973年生,博士,南昌大學教授,現(xiàn)任南昌大學信息工程學院副院長,博士生導師。曾先后赴美國伊利諾伊州立大學、美國堪薩斯大學訪學。主要研究方向為機器學習、數(shù)據(jù)挖掘、大數(shù)據(jù)處理算法及其應用。近年來致力于機器學習領域的多分類模型研究,并將機器學習理論應用于特種設備監(jiān)測、大型橋梁健康監(jiān)測及預測,網(wǎng)絡廣告的精準推薦、輿情監(jiān)測與預測、自然語言理解等領域。
第1章 緒論 1
1.1 機器學習的定義 1
1.2 基本術語 2
1.3 模型評估與選擇 3
1.3.1 經(jīng)驗誤差與過擬合 3
1.3.2 評估方法 3
1.4 機器學習解決問題的基本思路 4
1.5 Python語言 5
1.5.1 Python簡介 5
1.5.2 Python基礎語法 5
1.5.3 NumPy 快速入門 12
1.5.4 Matplotlib 快速入門 16
1.6 習題 19
第2章 線性模型 21
2.1 基本形式 21
2.2 線性回歸 21
2.3 邏輯回歸 23
2.3.1 Logistic分布 24
2.3.2 邏輯回歸與Sigmoid函數(shù) 24
2.3.3 基于最優(yōu)化方法確定最佳回歸系數(shù) 26
2.4 應用實例 27
2.4.1 線性回歸波士頓房價預測 27
2.4.2 邏輯回歸從疝氣病癥預測病馬的死亡率 30
2.5 習題 33
第3章 樸素貝葉斯 35
3.1 樸素貝葉斯相關統(tǒng)計學知識 35
3.2 樸素貝葉斯法的學習與分類 37
3.2.1 基本方法 37
3.2.2 后驗概率最大化的含義 38
3.2.3 樸素貝葉斯分類基本流程 39
3.3 極大似然估計 41
3.4 應用實例PC評論分類 44
3.5 習題 48
第4章 k-近鄰算法 51
4.1 k-近鄰算法概述 51
4.2 kNN算法主要步驟 52
4.2.1 距離度量 52
4.2.2 k值的選擇 52
4.2.3 分類決策 53
4.3 應用實例鳶尾花分類 54
4.3.1 項目背景 54
4.3.2 讀取數(shù)據(jù)與數(shù)據(jù)可視化 54
4.3.3 劃分數(shù)據(jù)集 56
4.3.4 kNN算法 56
4.3.5 如何測試分類器 57
4.4 習題 58
第5章 決策樹 59
5.1 決策樹的基本概念 60
5.1.1 定義 60
5.1.2 決策樹的構造 60
5.2 決策樹學習基礎算法 60
5.3 最優(yōu)屬性的選擇 61
5.3.1 ID3信息增益(Gain) 61
5.3.2 C4.5信息增益率(Gain_ratio) 62
5.3.3 CART基尼指數(shù)(Gini_index) 63
5.4 決策樹的剪枝 63
5.5 應用實例性別決策 64
5.6 Python實現(xiàn)過程 65
5.6.1 計算給定數(shù)據(jù)集的信息熵 65
5.6.2 數(shù)據(jù)集的劃分 66
5.6.3 遞歸構建決策樹 67
5.7 使用Matplotlib繪制決策樹 69
5.7.1 Matplotlib注解 69
5.7.2 繪制決策樹 69
5.8 習題 72
第6章 支持向量機 74
6.1 基于最大間隔分隔數(shù)據(jù) 74
6.2 尋找最大間隔 76
6.2.1 拉格朗日對偶性 78
6.2.2 SMO算法 82
6.3 軟間隔最大化 83
6.4 核函數(shù) 85
6.5 徑向基函數(shù) 88
6.6 應用實例 88
6.7 習題 95
第7章 神經(jīng)網(wǎng)絡 97
7.1 神經(jīng)元模型 97
7.2 感知機與多層前饋神經(jīng)網(wǎng)絡 100
7.2.1 感知機 100
7.2.2 多層前饋神經(jīng)網(wǎng)絡 102
7.3 BP神經(jīng)網(wǎng)絡 103
7.4 其他常見神經(jīng)網(wǎng)絡 106
7.4.1 RBF網(wǎng)絡 106
7.4.2 ART網(wǎng)絡 106
7.4.3 SOM網(wǎng)絡 107
7.4.4 級聯(lián)相關網(wǎng)絡 107
7.4.5 Elman網(wǎng)絡 108
7.5 應用實例從疝氣病癥預測病馬的死亡率 109
7.5.1 處理數(shù)據(jù)中的缺失值 109
7.5.2 用BP神經(jīng)網(wǎng)絡進行預測 110
7.6 習題 113
第8章 深度學習 115
8.1 卷積神經(jīng)網(wǎng)絡 116
8.2 典型的卷積神經(jīng)網(wǎng)絡 119
8.2.1 LeNet 119
8.2.2 AlexNet 120
8.2.3 VGGNet 120
8.2.4 ResNet 121
8.3 循環(huán)神經(jīng)網(wǎng)絡 123
8.4 深度學習框架 125
8.4.1 深度學習框架的作用 125
8.4.2 常見的深度學習框架 125
8.4.3 飛槳概述深度學習開源平臺PaddlePaddle 126
8.5 線性回歸小實例在飛槳深度學習平臺的應用 129
8.6 深度學習應用實例口罩識別 139
8.7 習題 156
第9章 集成學習方法 157
9.1 集成學習的分類 157
9.2 Bagging和隨機森林 158
9.2.1 Bagging并行集成學習 158
9.2.2 隨機森林 160
9.3 Boosting集成學習方法 161
9.4 基于AdaBoost的分類 162
9.5 基于XGBoost的分類 164
9.5.1 GBDT 164
9.5.2 XGBoost 166
9.6 應用實例 168
9.6.1 基于AdaBoost算法 168
9.6.2 基于XGBoost算法 172
9.7 習題 175
第10章 K-均值聚類 177
10.1 K-均值聚類算法 177
10.1.1 模型 178
10.1.2 算法 178
10.1.3 算法特性 180
10.2 二分K-均值算法 180
10.2.1 使用后處理來提高聚類性能 180
10.2.2 二分K-均值聚類算法 181
10.3 應用實例 182
10.4 習題 187
第11章 Apriori算法及關聯(lián)分析 189
11.1 關聯(lián)分析 190
11.1.1 頻繁項集的評估標準 190
11.1.2 關聯(lián)分析算法過程 191
11.2 Apriori算法基本原理 192
11.3 使用Apriori算法來發(fā)現(xiàn)頻繁項集 193
11.4 從頻繁項集中挖掘關聯(lián)規(guī)則 195
11.5 應用實例 196
11.6 習題 200
第12章 FP-growth算法及頻繁項集的挖掘 201
12.1 FP樹介紹 202
12.2 構造FP樹 203
12.2.1 頭指針表的建立 204
12.2.2 FP樹的建立 204
12.3 從FP樹中挖掘頻繁項集 207
12.3.1 抽取條件模式基 208
12.3.2 FP算法歸納 210
12.4 應用實例 211
12.5 習題 215
第13章 PCA及數(shù)據(jù)降維 216
13.1 降維技術 216
13.2 PCA技術 217
13.2.1 PCA的推導:基于最小投影距離 219
13.2.2 PCA的推導:基于最大投影方差 220
13.2.3 PCA算法流程 221
13.3 應用實例 222
13.4 習題 225
第14章 奇異值分解及應用 226
14.1 奇異值分解的應用 226
14.1.1 隱形語義索引 226
14.1.2 推薦系統(tǒng) 227
14.2 奇異值分解原理 227
14.2.1 特征值與特征向量的回顧 228
14.2.2 奇異值分解的定義 228
14.2.3 緊奇異值分解與截斷奇異值分解 230
14.3 應用實例 232
14.3.1 觀影數(shù)據(jù)的生成 232
14.3.2 基于協(xié)同過濾的推薦引擎 233
14.3.3 基于物品的相似度和基于用戶的相似度 234
14.3.4 示例:電影推薦引擎 234
14.4 習題 237
第15章 綜合實例 238
15.1 綜合實例一 238
15.2 綜合實例二 251
15.3 綜合實例三 266
15.4 綜合實例四 282
參考文獻 288