機器學習:應用視角 Applied Machine Learning

David Forsyth 常虹,王樹徽,莊福振,楊雙等譯

買這商品的人也買了...

相關主題

商品描述

本教材是一個機器學習工具箱,適用於計算機科學本科四年級或研究生一年級的學生。
本書為那些想要使用機器學習過程來完成任務的人提供了許多主題,強調使用現有的工具和包,而不是自己重新編寫代碼。
本書適用於從頭至尾的講授或閱讀,不同的講師或讀者有不同的需求。

作者簡介

David Forsyth

於1989年在牛津大學貝利奧爾學院獲得博士學位,曾在艾奧瓦大學任教3年,在加州大學伯克利分校任教10年,之後到伊利諾伊大學任教。
他是2000、2011、2018和2021年度IEEE計算機視覺和模式識別會議(CVPR)的程序委員會共同主席,
2006年度CVPR和2008年度IEEE計算機視覺會議(ICCV)的大會共同主席,
2008年度歐洲計算機視覺會議(ECCV)的程序委員會共同主席,而且是所有主要的計算機視覺會議的程序委員會成員。
此外,他還在SIGGRAPH程序委員會任職了6屆。
他於2006年獲得IEEE技術成就獎,分別於2009年和2014成為IEEE會士和ACM會士。

目錄大綱

譯者序
前言
致謝
關於作者
部分分類
第1章學會分類2
1.1分類的主要思想2
1.1.1誤差率及其他性能指標2
1.1.2更詳細的評估3
1.1.3過擬合與交叉驗證4
1.2近鄰分類5
1.3樸素貝葉斯7
1.3.1利用交叉驗證進行模型選擇9
1.3.2數據缺失11
編程練習11

第2章支持向量機和隨機森林14
2.1支持向量機14
2.1.1鉸鏈損失15
2.1 .2正則化16
2.1.3通過隨機梯度下降來尋找分類器17
2.1.4 λ的搜索19
2.1.5總結:用隨機梯度下降訓練20
2.1.6例子:利用支持向量機分析成人收入21
2.1. 7利用支持向量機進行多類分類23
2.2利用隨機森林進行分類23
2.2.1構造決策樹25
2.2.2用信息增益來選擇劃分27
2.2.3森林29
2.2.4構造並評估決策森林29
2.2. 5利用決策森林進行數據分類30
編程練習31
MNIST練習33

第3章學習理論初步35
3.1用留出損失預測測試損失35
3.1.1樣本均值和期望36
3.1.2利用切比雪夫不等式37
3.1.3一個泛化界37
3.2有限分類器族的測試誤差與訓練誤差38
3.2.1霍夫丁不等式39
3.2.2在有限預測器族上訓練39
3.2.3所需樣例數量40
3.3無限預測器集合41
3.3.1預測器和二值函數41
3.3.2對稱化43
3.3.3限制泛化誤差44

第二部分高維數據
第4章高維數據48
4.1概述及簡單繪圖48
4.1.1均值48
4.1.2桿圖和散點圖矩陣49
4.1.3協方差51
4.1.4協方差矩陣52
4.2維數災難53
4.2.1災難:數據不是你想像的那樣53
4.2.2維數的小困擾55
4.3用均值和協方差理解高維數據55
4.3.1仿射變換下的均值和協方差56
4.3.2特徵向量及矩陣對角化56
4.3.3通過旋轉數據堆來對角化協方差矩陣57
4.4多元正態分佈58
4.4.1仿射變換與高斯模型59
4.4.2繪製二維高斯模型:協方差橢圓59
4.4.3描述統計與期望60
4.4.4維數災難的更多內容61
習題61

第5章主成分分析64
5.1在主成分上表示數據64
5.1 .1近似數據團塊64
5.1.2例子:變換身高體重堆65
5.1.3在主成分上表示數據67
5.1.4低維表示中的誤差68
5.1.5用NIPALS算法提取若干主成分69
5.1. 6主成分和缺失值70
5.1.7 PCA作為平滑方法71
5.2例子:用主成分錶示顏色72
5.3例子:用主成分錶示人臉75
習題77
編程練習78

第6章低秩近似80
6.1奇異值分解80
6.1.1 SVD和PCA81
6.1.2 SVD和低秩近似82
6.1.3用SVD進行平滑82
6.2多維縮放83
6.2.1通過高維的距離選擇低維的點83
6.2.2使用低秩近似分解因子84
6.2.3例子:利用多維縮放進行映射85
6.3例子:文本模型和潛在語義分析87
6.3.1餘弦距離88
6.3.2對單詞計數進行平滑88
6.3.3例子:對NIPS文檔進行映射89
6.3.4獲得詞的含義90
6.3.5例子:對NIPS數據集的詞進行映射92
6.3.6 TF?IDF93
習題94
編程練習95

第7章典型相關分析97
7.1典型相關分析算法97
7.2例子:在詞和圖片上進行CCA99
7.3例子:在反射率和遮光上進行CCA102
編程練習105

第三部分聚類
第8章聚類108
8.1聚合式聚類和拆分式聚類108
8.2 k均值算法及其變體111
8.2.1如何選擇k的值114
8.2.2軟分配115
8.2.3高效聚類和層級式k均值117
8.2.4 k中心點算法117
8.2. 5例子:葡萄牙的雜貨117
8.2.6關於k均值算法的一些見解119
8.3用向量量化描述重複性120
8.3.1向量量化121
8.3.2例子:基於加速度計數據的行為123
編程練習126

第9章使用概率模型進行聚類130
9.1混合模型與聚類130
9.1.1數據團塊的有限混合模型130
9.1.2主題和主題模型132
9.2 EM算法133
9.2.1例子——高斯混合:E步134
9.2.2例子——高斯混合:M步136
9.2.3例子——主題模型:E步136
9.2.4例子——主題模型:M步137
9.2.5 EM算法的實踐137
習題140
編程練習140

第四部分回歸
第10章回歸144
10.1概述144
10.2線性回歸和小二乘法146
10.2.1線性回歸146
10.2.2選擇β147
10.2.3殘差148
10.2.4 R2149
10.2.5變量變換150
10.2.6可以相信回歸嗎152
10.3可視化回歸以發現問題153
10.3.1問題數據點具有顯著影響153
10.3.2帽子矩陣和槓桿155
10.3.3庫克距離156
10.3.4標準化殘差156
10.4很多解釋變量158
10.4.1一個解釋變量的函數158
10.4.2正則化線性回歸159
10.4.3例子:體重與身體測量值162
附錄數據165
習題165
編程練習168

第11章回歸:選擇和管理模型170
11.1模型選擇:哪種模型好170
11.1.1偏差與方差170
11.1.2用懲罰機制選擇模型:AIC和BIC172
11.1.3使用交叉驗證選擇模型173
11.1.4基於分階段回歸的貪心搜索174
11.1.5哪些變量是重要的174
11.2魯棒回歸175
11.2.1 M估計和迭代加權小二乘176
11.2.2 M估計的尺度178
11.3廣義線性模型179
11.3.1邏輯回歸179
11.3.2多類邏輯回歸180
11.3.3回歸計數數據181
11.3.4離差181
11.4 L1正則化和稀疏模型182
11.4.1通過L1正則化刪除變量182
11.4.2寬數據集185
11.4 .3在其他模型上使用稀疏懲罰186
編程練習187

第12章Boosting190
12.1貪心法和分階段回歸法190
12.1.1例子:貪心分階段線性回歸190
12.1.2回歸樹192
12.1.3基於樹的貪心分階段回歸193
12.2 Boosting分類器196
12.2.1損失196
12.2.2分階段降低損失的一般方法197
12.2.3例子:Boosting決策樹樁198
12.2.4決策樹樁的梯度提升199
12.2.5其他預測器的梯度提升200
12.2.6例子:醫生會開阿片類藥物嗎201
12.2.7用lasso修剪提升的預測器202
12.2.8梯度提升軟件204
習題206
編程練習207

第五部分圖模型
第13章隱馬爾可夫模型210
13.1馬爾可夫鏈210
13.1.1轉移概率矩陣212
13.1.2穩態分佈214
13.1.3例子:文本的馬爾可夫鏈模型216
13.2隱馬爾可夫模型與動態規劃218
13.2.1隱馬爾可夫模型218
13.2.2用網格圖圖解推斷過程219
13.2.3基於動態規劃的推斷過程222
13.2.4例子:校正簡單文本222
13.3隱馬爾可夫模型的學習過程224
13.3.1當隱狀態有明確語義信息時225
13.3.2基於EM的隱馬爾可夫模型學習過程225
習題228
編程練習229

第14章學習序列模型的判別式方法232
14.1圖模型232
14.1.1推斷與圖232
14.1.2圖模型234
14.1.3在圖模型中的學習235
14.2用於序列的條件隨機場模型235
14.2.1 MEMM和標籤偏置236
14.2.2條件隨機場模型237
14.2.3學習CRF時需要留心238
14.3 CRF的判別學習239
14.3.1模型的表示239
14.3.2例子:數字序列建模240
14.3.3建立學習問題241
14.3.4梯度計算241
習題243
編程練習243

第15章平均場推斷245
15.1有用卻難解的模型245
15.1.1用玻爾茲曼機為二值圖像去噪246
15.1.2離散馬爾可夫隨機場246
15.1.3基於離散馬爾可夫隨機場的去噪和分割247
15.1.4離散馬爾可夫場的MAP推斷可能很難249
15.2變分推斷250
15.2.1 KL散度250
15.2.2變分自由能251
15.3例子:玻爾茲曼機的變分推斷251

第六部分深度網絡
第16章簡單神經網絡256
16.1單元和分類256
16.1.1用單元來構建一個分類器:代價函數256
16.1.2用單元來構建一個分類器:決策258
16.1.3用單元來構建一個分類器:訓練258
16.2例子:信用卡賬戶分類260
16.3層和網絡264
16.3.1堆疊層264
16.3.2雅可比矩陣和梯度265
16.3.3構建多層266
16.3.4梯度和反向傳播267
16.4訓練多層網絡269
16.4.1軟件環境270
16.4.2 Dropout和冗餘單元271
16.4.3例子:再論信用卡賬戶271
16.4.4技巧:梯度縮放273
習題276
編程練習277

第17章簡單圖像分類器278
17.1圖像分類278
17.1.1基於卷積的模式檢測279
17.1.2卷積層的堆疊283
17.2兩個實用的圖像分類器284
17.2.1例子:MNIST數據集分類285
17.2.2例子:CIFAR?10數據集分類288
17.2.3異類:對抗樣本292
編程練習293

第18章圖像分類與物體檢測294
18.1圖像分類295
18.1 .1物體圖像分類數據集295
18.1.2場景圖像分類數據集296
18.1.3增廣和集成297
18.1.4 AlexNet298
18.1.5 VGGNet299
18.1.6批歸一化301
18.1.7計算圖302
18.1.8 Inception網絡302
18.1.9殘差網絡303
18.2物體檢測305
18.2.1物體檢測如何工作305
18.2.2選擇性搜索306
18.2.3 R?CNN、Fast R?CNN和Faster R?CNN307
18.2.4 YOLO309
18.2.5評價檢測器310
18.3延伸閱讀312
習題313
編程練習313

第19章大信號的小碼表示315
19.1更好的低維映射315
19.1.1薩蒙映射316
19.1.2 T?SNE317
19.2產生低維表示的映射319
19.2.1編碼器、和自編碼器319
19.2. 2令數據塊變得更大320
19.2.3去噪自編碼器322
19.3從例子中產生圖像325
19.3.1變分自編碼器326
19.3.2對抗損失:愚弄分類器327
19.3.3利用測試函數來匹配分佈328
19.3.4通過查看距離來匹配分佈329
編程練習330