商品簡介
本教程通過闡述直觀而嚴謹的機器學習方法,為學生學習和掌握研究和構建數據驅動產品所需的基本知識和實用工具。內容優先解析幾何直覺和算法思維,為學生提供新穎和易於學習的方式;書中也強調機器學習結合實際應用,包括計算機視覺、自然語言處理、經濟學、神經科學、推薦系統、物理學和生物學案例分析;作者精心設計300多幅彩色插圖,讓讀者能夠直觀地掌握技術概念,另配100多個深入的編程練習(Python),為讀者提供了對關鍵機器學習算法的真正理解。本書還在網上提供了一整套在線教輔資源,包括示例代碼、數據集、交互式講座幻燈片和習題解答,既可用于研究生機器學習課程教學,又能幫助個人自學參考使用。
名人推薦
本書由美國西北大學教授撰寫,經過多年教學實踐積累,教輔材料豐富,多個知名大學專家教授聯袂推薦
目次
譯者序
前言
致謝
作譯者簡介
第1章機器學習概論1
1.1引言1
1.2利用機器學習方法區分貓和狗1
1.3機器學習問題的基本體系4
1.3.1監督學習5
1.3.2無監督學習10
1.4數學優化11
1.5小結11
第一部分數學優化
第2章零階優化技術142.1引言14
2.2零階最優性條件15
2.3全域優化方法16
2.4局部優化方法18
2.4.1概覽18
2.4.2一般框架18
2.4.3步長參數19
2.5隨機搜索20
2.5.1概覽21
2.5.2步長控制21
2.5.3基本步長規則23
2.5.4遞減步長規則24
2.5.5隨機搜索和維度災難25
2.6坐標搜索和下降法26
2.6.1坐標搜索26
2.6.2坐標下降26
2.7小結27
2.8習題28
第3章一階優化技術303.1引言30
3.2一階最優性條件30
3.2.1可手工求解的一階方程組的特例32
3.2.2坐標下降和一階最優性條件33
3.3一階泰勒級數的幾何圖形35
3.3.1超平面35
3.3.2最陡上升與最陡下降方向35
3.3.3梯度和最陡上升/下降方向36
3.4梯度的高效計算36
3.5梯度下降37
3.5.1梯度下降法的基本步長選擇39
3.5.2代價函數歷史圖中的振盪:不一定總是壞事41
3.5.3收斂準則42
3.5.4Python實現43
3.6梯度下降法的固有缺陷43
3.6.1(負)梯度方向的缺陷是如何產生的44
3.6.2(負)梯度方向44
3.6.3梯度下降法的之字形走向45
3.6.4梯度下降法中的 “慢爬”現象46
3.7小結48
3.8習題48
第4章二階優化技術51
4.1二階最優性條件51
4.2二階泰勒級數的幾何形狀53
4.2.1單輸入二次函數的一般形狀53
4.2.2多輸入二次函數的一般形狀53
4.2.3局部曲率和二階泰勒級數54
4.3牛頓法55
4.3.1下降方向55
4.3.2算法57
4.3.3確保數值穩定性59
4.3.4步長選擇60
4.3.5牛頓法作為一種zerofinding算法60
4.3.6Python實現61
4.4牛頓法的固有缺陷62
4.4.1最小化非凸函數62
4.4.2擴展的限制62
4.5小結63
4.6習題63
第二部分線性學習
第5章線性回歸685.1引言68
5.2最小二乘法線性回歸68
5.2.1符號和建模68
5.2.2最小二乘代價函數69
5.2.3最小二乘代價函數的最小化70
5.2.4Python實現72
5.3最小絕對偏差74
5.3.1最小二乘對離群點的敏感性74
5.3.2用絕對誤差代替平方誤差75
5.4回歸質量度量76
5.4.1使用訓練得到的模型進行預測76
5.4.2判斷訓練模型的質量77
5.5加權回歸78
5.5.1處理副本78
5.5.2置信度加權79
5.6多輸出回歸79
5.6.1符號和建模79
5.6.2代價函數80
5.6.3Python實現81
5.7小結82
5.8習題82
5.9尾注84
第6章線性二分類問題866.1引言86
6.2邏輯回歸和交叉熵代價函數86
6.2.1符號和建模86
6.2.2擬合一個非連續階梯函數87
6.2.3邏輯sigmoid函數89
6.2.4使用最小二乘代價函數的邏輯回歸89
6.2.5使用交叉熵代價函數的邏輯回歸90
6.2.6最小化交叉熵代價函數91
6.2.7Python實現92
6.3邏輯回歸和Softmax 代價函數92
6.3.1不同的標簽,同樣的故事93
6.3.2Python實現94
6.3.3含噪聲的分類數據集96
6.4感知機96
6.4.1感知機代價函數96
6.4.2最小化感知機代價函數98
6.4.3感知機的Softmax近似98
6.4.4Softmax代價函數和線性可分離數據集99
6.4.5歸一化特徵相關權值100
6.4.6二分類問題的正則化102
6.5支持向量機103
6.5.1邊界感知機103
6.5.2與Softmax代價函數的關係104
6.5.3最大邊距決策邊界105
6.5.4硬邊界和軟邊界SVM問題106
6.5.5SVM和含噪數據107
6.6哪種方法能產生最好的結果108
6.7分類交叉熵代價函數108
6.7.1採用onehot編碼的分類標簽108
6.7.2非線性度的選擇109
6.7.3代價函數的選擇109
6.8分類質量指標110
6.8.1使用訓練好的模型進行預測110
6.8.2置信度評分110
6.8.3利用準確率評價訓練模型的質量111
6.8.4利用平衡準確率評價訓練模型的質量112
6.8.5混淆矩陣和附加的質量指標113
6.9加權二分類問題114
6.9.1加權二分類115
6.9.2按置信度對點進行加權處理115
6.9.3處理類不平衡問題116
6.10小結117
6.11習題117
第7章線性多分類問題1197.1引言119
7.2OneversusAll多分類問題119
7.2.1符號和建模119
7.2.2訓練C個OneversusAll分類器119
7.2.3情形1:點在單個分類器的正側120
7.2.4情形2:點在一個以上分類器的正側121
7.2.5情形3:點不在任何分類器的正側122
7.2.6綜合應用123
7.2.7OneversusAll算法124
7.3多分類問題與感知機125
7.3.1多分類感知機代價函數125
7.3.2最小化多分類感知機代價函數126
7.3.3多分類感知機代價函數的替代公式126
7.3.4多分類感知機的正則化問題127
7.3.5多分類Softmax代價函數127
7.3.6最小化多分類 Softmax代價函數128
7.3.7多分類Softmax代價函數的替代公式128
7.3.8正則化與多分類 Softmax代價函數129
7.3.9Python實現129
7.4哪種方法能產生最好的結果130
7.5分類交叉熵代價函數131
7.5.1離散概率分佈131
7.5.2指數歸一化132
7.5.3指數歸一化符號距離132
7.5.4分類和分類交叉熵代價函數133
7.6分類質量指標135
7.6.1利用訓練好的模型進行預測135
7.6.2置信度評分136
7.6.3利用準確率評價訓練模型的質量136
7.6.4處理不平衡類的高級質量指標136
7.7加權多分類問題138
7.8隨機和小批量學習138
7.9小結139
7.10習題140
第8章線性無監督學習142
8.1引言142
8.2固定的生成集、正交和投影142
8.2.1符號142
8.2.2使用固定生成集完美地表示數據143
8.2.3使用固定正交生成集完美地表示數據144
8.2.4使用固定生成集不完美地表示數據145
8.3線性自動編碼器和主成分分析145
8.3.1學習合適的生成集146
8.3.2線性自動編碼146
8.3.3主成分分析147
8.3.4Python實現149
8.4推薦系統149
8.4.1動機149
8.4.2符號和建模150
8.5K均值聚類150
8.5.1通過簇表示數據集151
8.5.2學習表示數據的簇152
8.6通用矩陣分解技術154
8.6.1無監督學習和矩陣分解問題154
8.6.2更多的變體156
8.7小結157
8.8習題157
8.9尾注158
8.9.1自動編碼器的最小值都是正交矩陣158
8.9.2主成分的形式推導159
第9章特徵工程和特徵選擇161
9.1引言161
9.2直方圖特徵161
9.2.1分類數據的直方圖特徵162
9.2.2文本數據的直方圖特徵163
9.2.3圖像數據的直方圖特徵165
9.2.4音頻數據的直方圖特徵169
9.3通過標準歸一化實現特徵縮放170
9.3.1標準歸一化170
9.3.2標準歸一化模型173
9.4在數據集中估算缺失值173
9.5通過PCA白化進行特徵縮放173
9.5.1PCA白化:概覽174
9.5.2PCA白化:技術細節174
9.5.3PCA白化模型176
9.6利用提升法進行特徵選擇176
9.6.1基於提升法的特徵選擇176
9.6.2利用提升法選擇正確數量的特徵177
9.6.3提升法的效率179
9.6.4從殘差視角理解提升法回歸179
9.7基於正則化的特徵選擇179
9.7.1使用權值向量範數進行正則化179
9.7.2利用1正則化進行特徵選擇180
9.7.3選擇合適的正則化參數181
9.7.4比較正則化和提升法182
9.8小結182
9.9習題183
第三部分非線性學習
第10章非線性特徵工程原理18610.1引言186
10.2非線性回歸186
10.2.1建模原理186
10.2.2特徵工程188
10.2.3Python實現190
10.3非線性多輸出回歸191
10.3.1建模原理191
0.3.2特徵工程192
10.3.3Python實現193
10.4非線性二分類問題193
10.4.1建模原理193
10.4.2特徵工程194
10.4.3Python實現196
10.5非線性多分類問題196
0.5.1建模原理197
10.5.2特徵工程198
10.5.3Python實現199
10.6非線性無監督學習199
10.6.1建模原理199
10.6.2特徵工程200
10.7小結201
10.8習題201
第11章特徵學習原理20511.1引言205
1.1.1非線性特徵工程的限制205
11.1.2內容概覽206
11.1.3特徵學習的複雜度刻度盤比喻206
11.2通用逼近器207
11.2.1完美數據207
11.2.2通用逼近的生成集類比209
11.2.3常用的通用逼近器213
11.2.4容量刻度盤和優化刻度盤215
11.3真實數據的通用逼近217
11.3.1典型例子218
11.3.2再論容量刻度盤和優化刻度盤222
11.3.3新度量工具的出現224
11.3.4驗證錯誤225
11.4簡單的交叉驗證226
11.4.1概覽226
11.4.2簡單交叉驗證的問題230
11.5通過提升法進行有效的交叉驗證230
11.5.1概覽230
11.5.2技術細節232
11.5.3早停法234
11.5.4廉價但有效的增強234
11.5.5與特徵選擇的相似性235
11.5.6帶有回歸的殘差視角236
11.6借助正則化的高效交叉驗證237
11.6.1概覽237
11.6.2基於早停法的正則化239
11.6.3基於正則化器的方法242
11.6.4與特徵選擇正則化的相似性244
11.7測試數據245
11.7.1過擬合驗證數據245
11.7.2測試數據和測試誤差246
11.8哪一個通用逼近器在實踐中工作得最好247
11.9裝袋法交叉驗證模型248
11.9.1裝袋法回歸模型248
11.9.2裝袋法分類模型250
11.9.3實際中應該裝袋多少個模型253
11.9.4集成:裝袋法和提升法253
11.10K折交叉驗證253
11.10.1K折交叉驗證過程253
11.10.2K折交叉驗證和高維線性建模255
11.11特徵學習失敗256
11.12小結257
11.13習題258
第12章核方法260
12.1引言260
12.2定形通用逼近器260
12.2.1三角函數通用逼近器260
12.2.2高輸入的定形逼近器的擴展261
12.3核技巧262
12.3.1線性代數基本定理中的一個有用事實2