機器學習基礎 — 原理、算法與實踐
內容描述
初學者學習機器學習課程通常會碰到兩大障礙:
大障礙——數學基礎,機器學習需要學習者俱備數學基礎,對於那些已經走向工作崗位的學習者來說,困難更大一些,從頭開始學習和理解數據分佈和模型背後的數學原理需要花費很長的時間和精力,學習週期非常漫長。
第二大障礙——編程實踐,並不是所有人都擅長編代碼,只有親手用代碼實現機器學習的各種算法,親眼見到算法解決了實際問題,才能更深入地理解算法。
《機器學習基礎——原理、算法與實踐》就是為了讓初學者順利入門而精心設計的。
通過學習幫助讀者掃除機器學習的兩大學習障礙。
書中講述了機器學習常用算法的基本原理,讀者在學習並深入理解這些精挑細選的算法後,能夠理解並學會使用適合的算法來解決實際問題。
此外,《機器學習基礎——原理、算法與實踐》使用MATLAB R2015b實現了常用的機器學習算法,讀者能夠親眼看見算法的工作過程和結果,加深對抽象公式和算法的理解,進而逐步掌握機器學習的原理和技能,拉近理論與實踐的距離。
目錄大綱
第1章機器學習介紹1
1.1機器學習簡介2
1.1.1什麼是機器學習2
1.1.2機器學習與日常生活3
1.1.3如何學習機器學習4
1.1.4 MATLAB優勢5
1.2基本概念5
1.2. 1機器學習的種類6
1.2.2有監督學習6
1.2.3無監督學習7
1.2.4機器學習術語7
1.2.5預處理9
1.3 MATLAB數據格式10
1.3.1標稱數據10
1.3.2序數數據11
1.3.3分類數據11
1.4示例數據集12
1.4.1天氣問題12
1.4.2鳶尾花15
1.4.3其他數據集16
1.5了解你的數據16
習題20
第2章線性回歸21
2.1從一個實際例子說起22
2.1.1模型定義23
2.1.2模型假設23
2.1.3模型評估24
2.2最小二乘法24
2.2.1最小二乘法求解參數25
2.2.2用最小二乘法來擬合奧運會數據26
2.2.3預測比賽結果27
2.3梯度下降27
2.3.1基本思路28
2.3.2梯度下降算法29
2.3.3梯度下降求解線性回歸問題30
2.4多變量線性回歸32
2.4.1多變量線性回歸問題33
2.4 .2多變量梯度下降34
2.4.3隨機梯度下降38
2.4.4正規方程40
2.5多項式回歸42
2.5.1多項式回歸算法42
2.5.2正則化45
習題47
第3章邏輯回歸49
3.1邏輯回歸介紹50
3.1.1線性回歸用於分類50
3.1.2假設函數51
3.1.3決策邊界52
3.2邏輯回歸算法53
3.2.1代價函數53
3.2.2梯度下降算法54
3.2.3 MATLAB優化函數56
3.2.4多項式邏輯回歸58
3.3多元分類60
3.3.1一對多60
3.3.2一對一62
3.3.3 Softmax回歸64
習題66
第4章貝葉斯分類器67
4.1簡介68
4.1.1概述68
4.1.2判別模型和生成模型68
4.1.3極大似然估計69
4.2高斯判別分析72
4.2.1多元高斯分佈72
4.2.2高斯判別模型73
4.3樸素貝葉斯75
4.3.1樸素貝葉斯算法76
4.3.2文本分類81
習題86
第5章模型評估與選擇87
5.1簡介88
5.1.1訓練誤差與泛化誤差88
5.1.2偏差和方差89
5.2評估方法90
5.2.1訓練集、驗證集和測試集的劃分91
5.2.2交叉驗證92
5.3性能度量95
5.3.1常用性能度量95
5.3.2查准率和查全率96
5.3.3 ROC和AUC 98
5.4偏差與方差折中100
5.4. 1偏差與方差診斷101
5.4.2正則化與偏差方差102
5.4.3學習曲線103
習題104
第6章K-均值算法和EM算法107
6.1聚類分析108
6.1.1 K-means算法描述108
6.1. 2 K-means算法應用112
6.1.3注意事項113
6.2 EM算法114
6.2.1基本EM算法114
6.2.2 EM算法的一般形式115
6.2.3混合高斯模型118
習題123
第7章決策樹125
7.1決策樹介紹126
7.2 ID3算法127
7.2.1信息熵127
7.2.2信息增益計算示例127
7.2.3 ID3算法描述132
7.2.4 ID3算法實現134
7.3 C4.5算法134
7.3.1基本概念135
7.3.2剪枝處理139
7.3.3 C4.5算法描述140
7.3.4 C4 .5算法實現142
7.4 CART算法144
7.4.1 CART算法介紹144
7.4.2 CART算法描述147
7.4.3 CART算法實現149
習題150
第8章神經網絡151
8.1神經網絡介紹152
8.1.1從一個實例說起152
8.1.2神經元153
8.1.3神經網絡結構154
8.1.4簡化的神經網絡模型157
8.1.5細節說明160
8.2神經網絡學習161
8.2.1代價函數161
8.2.2 BP算法162
8.2.3 BP算法實現166
8.2.4平方代價函數的情形171
習題171
第9章隱馬爾科夫模型173
9.1隱馬爾科夫模型基本概念174
9.1.1離散馬爾科夫過程174
9.1.2擴展至隱馬爾科夫模型176
9.1.3 HMM的組成和序列生成179
9.1.4三個基本問題181
9.2求解HMM三個基本問題182
9.2.1評估問題183
9.2.2解碼問題187
9.2.3學習問題190
習題196
第10章支持向量機197
10.1支持向量機介紹198
10.2最大間隔超平面198
10.2.1 SVM問題的形式化描述199
10.2.2函數間隔和幾何間隔199
10.2.3最優間隔分類器201
10.2.4使用優化軟件求解SVM 203
10.3對偶算法204
10.3.1 SVM對偶問題204
10.3.2使用優化軟件求解對偶SVM 206
10.4非線性支持向量機208
10.4.1核技巧208
10.4. 2常用核函數210
10.5軟間隔支持向量機213
10.5.1動機及原問題213
10.5.2對偶問題214
10.5.3使用優化軟件求解軟間隔對偶SVM 215
10.6 SMO算法218
10.6.1 SMO算法描述218
10.6.2簡化SMO算法實現221
10.7 LibSVM 226
10.7. 1 LibSVM的安裝226
10.7.2 LibSVM函數228
10.7.3 LibSVM實踐指南230
習題232
第11章推薦系統233
11.1推薦系統介紹234
11.1.1什麼是推薦系統234
11.1.2數據集描述235
11.1.3推薦系統符號236
11.2基於用戶的協同過濾236
11.2.1相似性度量237
11.2.2算法描述239
11.2.3算法實現240
11.3基於物品的協同過濾241
11.3.1調整餘弦相似度和預測241
11.3.2 Slope One算法描述與實現243
11.4基於內容的協同過濾算法與實現247
11.4.1算法描述247
11.4.2算法實現250
習題251
第12章主成分分析253
12.1主成分分析介紹254
12.2本徵值與奇異值分解255
12.2.1本徵值分解255
12.2.2奇異值分解256
12.3 PCA算法描述256
12.3.1 PCA算法257
12.3.2從壓縮表示中重建258
12.3.3確定主成分數量258
12.4 PCA實現260
12.4.1假想實例260
12.4.2 MNIST實例264
習題265
習題參考答案267
符號表294
參考文獻295
作者介紹
袁梅宇
北航工學博士,碩士導師,現在昆明理工大學計算機系任教。
為本科生和研究生主講Java程序設計、Java EE技術、數據庫原理、人工智能、Dot Net技術等核心課程,
參加過863 CIMS Net建設……和多項國家基金和省基金項目,一作公開發表論文十餘篇,軟件著作權(頒證)六項。
一作專著有《Java EE企業級編程開發實例詳解》、《數據挖掘與機器學習——WEKA應用技術與實踐》(一版、第二版)、
《求精要訣——Java EE編程開發案例精講》。