本書將幫助讀者掌握開發(fā)有效學習系統(tǒng)所需的流程、模式和策略,通過簡單的故事、圖片和Python示例來向讀者傳達機器學習的基本思想。即使讀者是一名初學者,只要具備一些Python編程基礎(chǔ),不管大學數(shù)學水平如何,都能輕松閱讀本書并有所收獲。
譯者序
推薦序
前言
作者簡介
第一部分 機器學習入門
第1章 機器學習概論 2
1.1 歡迎來到機器學習的世界 2
1.2 范圍、術(shù)語、預測和數(shù)據(jù) 3
1.2.1 特征 4
1.2.2 目標值和預測值 5
1.3 讓機器開始機器學習 6
1.4 學習系統(tǒng)舉例 8
1.4.1 預測類別:分類器舉例 8
1.4.2 預測值:回歸器舉例 9
1.5 評估機器學習系統(tǒng) 10
1.5.1 準確率 10
1.5.2 資源消耗 11
1.6 創(chuàng)建機器學習系統(tǒng)的過程 12
1.7 機器學習的假設(shè)和現(xiàn)實 13
1.8 本章參考閱讀資料 15
1.8.1 本書內(nèi)容 15
1.8.2 章節(jié)注釋 16
第2章 相關(guān)技術(shù)背景 18
2.1 編程環(huán)境配置 18
2.2 數(shù)學語言的必要性 18
2.3 用于解決機器學習問題的軟件 19
2.4 概率 20
2.4.1 基本事件 21
2.4.2 獨立性 22
2.4.3 條件概率 23
2.4.4 概率分布 24
2.5 線性組合、加權(quán)和以及點積 27
2.5.1 加權(quán)平均 29
2.5.2 平方和 31
2.5.3 誤差平方和 32
2.6 幾何視圖:空間中的點 33
2.6.1 直線 33
2.6.2 直線拓展 37
2.7 表示法和加1技巧 41
2.8 漸入佳境:突破線性和非線性 42
2.9 NumPy與“數(shù)學無所不在” 45
2.10 浮點數(shù)問題 49
2.11 本章參考閱讀資料 50
2.11.1 本章小結(jié) 50
2.11.2 章節(jié)注釋 51
第3章 預測類別:分類入門 52
3.1 分類任務(wù) 52
3.2 一個簡單的分類數(shù)據(jù)集 53
3.3 訓練和測試:請勿應試教育 55
3.4 評估:考試評分 58
3.5 簡單分類器#1:最近鄰分類器、遠距離關(guān)系和假設(shè) 59
3.5.1 定義相似性 60
3.5.2 k?-最近鄰中的k 61
3.5.3 答案組合 61
3.5.4 k?-最近鄰、參數(shù)和非參數(shù)方法 61
3.5.5 建立一個k?-最近鄰分類模型 62
3.6 簡單分類器#2:樸素貝葉斯分類器、
概率和違背承諾 64
3.7 分類器的簡單評估 66
3.7.1 機器學習的性能 66
3.7.2 分類器的資源消耗 67
3.7.3 獨立資源評估 73
3.8 本章參考閱讀資料 77
3.8.1 局限性和尚未解決的問題 77
3.8.2 本章小結(jié) 77
3.8.3 章節(jié)注釋 77
3.8.4 練習題 79
第4章 預測數(shù)值:回歸入門 80
4.1 一個簡單的回歸數(shù)據(jù)集 80
4.2 最近鄰回歸和匯總統(tǒng)計 82
4.2.1 中心度量方法:中位數(shù)和均值 83
4.2.2 構(gòu)建一個k?-最近鄰回歸模型 85
4.3 線性回歸和誤差 86
4.3.1 地面總是不平坦的:為什么需要斜坡 86
4.3.2 傾斜直線 89
4.3.3 執(zhí)行線性回歸 91
4.4 優(yōu)化:選擇最佳答案 92
4.4.1 隨機猜測 92
4.4.2 隨機調(diào)整 93
4.4.3 智能調(diào)整 94
4.4.4 計算的捷徑 94
4.4.5 線性回歸的應用 95
4.5 回歸器的簡單評估和比較 95
4.5.1 均方根誤差 95
4.5.2 機器學習的性能 96
4.5.3 回歸過程中的資源消耗 96
4.6 本章參考閱讀資料 98
4.6.1 局限性和尚未解決的問題 98
4.6.2 本章小結(jié) 99
4.6.3 章節(jié)注釋 99
4.6.4 練習題 99
第二部分 通用評估技術(shù)
第5章 機器學習算法的評估和比較分析 102
5.1 評估和大道至簡的原則 102
5.2 機器學習階段的術(shù)語 103
5.2.1 有關(guān)機器的重新討論 104
5.2.2 更規(guī)范的闡述 106
5.3 過擬合和欠擬合 109
5.3.1 合成數(shù)據(jù)和線性回歸 109
5.3.2 手動操控模型的復雜度 111
5.3.3 金鳳花姑娘(“恰到好處”原則):可視化過擬合、欠擬合和“最佳擬合” 112
5.3.4 簡單性 115
5.3.5 關(guān)于過擬合必須牢記的注意事項 116
5.4 從誤差到成本 116
5.4.1 損失 116
5.4.2 成本 117
5.4.3 評分 118
5.5。ㄖ匦拢┏闃樱阂陨賱俣 119
5.5.1 交叉驗證 119
5.5.2 分層抽樣 122
5.5.3 重復的訓練-測試集拆分 124
5.5.4 一種更好的方法和混排 127
5.5.5 留一交叉驗證 131
5.6 分解:將誤差分解為偏差和方差 132
5.6.1 數(shù)據(jù)的方差 133
5.6.2 模型的方差 133
5.6.3 模型的偏差 134
5.6.4 結(jié)合所有的因素 134
5.6.5 偏差-方差權(quán)衡示例 135
5.7 圖形可視化評估和比較 139
5.7.1 學習曲線:到底需要多少數(shù)據(jù) 139
5.7.2 復雜度曲線 141
5.8 使用交叉驗證比較機器學習模型 143
5.9 本章參考閱讀資料 144
5.9.1 本章小結(jié) 144
5.9.2 章節(jié)注釋 144
5.9.3 練習題 146
第6章 評估分類器 147
6.1 基線分類器 147
6.2 準確率以外:分類器的其他度量指標 149
6.2.1 從混淆矩陣中消除混淆 151
6.2.2 錯誤的方式 151
6.2.3 基于混淆矩陣的度量指標 152
6.2.4 混淆矩陣編碼 154
6.2.5 處理多元類別:多元類別平均 156
6.2.6 F1分數(shù) 158
6.3 ROC曲線 159
6.3.1 ROC模式 161
6.3.2 二元分類ROC 162
6.3.3 AUC:(ROC)曲線下的面積 165
6.3.4 多元分類機器學習模型、“一對其他”和ROC 166
6.4 多元分類的另一種方法:“一對一” 168
6.4.1 “一對一”方法 168
6.4.2 多元分類AUC第二部分:尋找單一值 170
6.5 精確率-召回率曲線 173
6.5.1 關(guān)于精確率-召回率權(quán)衡的說明 173
6.5.2 構(gòu)建精確率-召回率曲線 174
6.6 累積響應和提升曲線 174
6.7 更復雜的分類器評估:第二階段 177
6.7.1 二元分類 177
6.7.2 一個新穎的多元分類問題 182
6.8 本章參考閱讀資料 187
6.8.1 本章小結(jié) 187
6.8.2 章節(jié)注釋 187
6.8.3 練習題 189
第7章 評估回歸器 190
7.1 基線回歸器 191
7.2 回歸器的其他度量指標 192
7.2.1 創(chuàng)建自定義的評估指標 192
7.2.2 其他內(nèi)置的回歸度量指標 193
7.2.3 R2 194
7.3 誤差圖和殘差圖 199
7.3.1 誤差圖 199
7.3.2 殘差圖 202
7.4 標準化初探 205
7.5 使用更復雜的方法評估回歸系數(shù):第二階段 209
7.5.1 多個度量指標的交叉驗證結(jié)果 210
7.5.2 交叉驗證結(jié)果匯總 213
7.5.3 殘差 214
7.6 本章參考閱讀資料 216
7.6.1 本章小結(jié) 216
7.6.2 章節(jié)注釋 216
7.6.3 練習題 218
第三部分 更多方法和其他技術(shù)
第8章 更多分類方法 220
8.1 重溫分類知識 220
8.2 決策樹 222
8.2.1 樹構(gòu)建算法 224
8.2.2 讓我們開始吧:決策樹時間 227
8.2.3 決策樹中的偏差和方差 230
8.3 支持向量分類器 230
8.3.1 執(zhí)行支持向量分類器 233
8.3.2 SVC中的偏差和方差 236
8.4 邏輯回歸 238
8.4.1 投注幾率 239
8.4.2 概率、幾率和對數(shù)幾率 241
8.4.3 實現(xiàn)操作:邏輯回歸版本 245
8.4.4 邏輯回歸:空間奇異性 247
8.5 判別分析 248
8.5.1 協(xié)方差 249
8.5.2 方法 259
8.5.3 執(zhí)行判別分析 260
8.6 假設(shè)、偏差和分類器 262
8.7 分類器的比較:第三階段 264
8.8 本章參考閱讀資料 267
8.8.1 本章小結(jié) 267
8.8.2 章節(jié)注釋 267
8.8.3 練習題 270
第9章 更多回歸方法 271
9.1 懲罰框中的線性回歸:正則化 272
9.1.1 正則化回歸概述 272
9.1.2 執(zhí)行正則化回歸 276
9.2 支持向量回歸 277
9.2.1 鉸鏈損失 277
9.2.2 從線性回歸到正則化回歸再到支持向量回歸 280
9.2.3 實踐應用:支持向量回歸風格 282
9.3 分段常數(shù)回歸 282
9.3.1 實施分段常數(shù)回歸器 284
9.3.2 模型實現(xiàn)的一般說明 285
9.4 回歸樹 287
9.5 回歸器比較:第三階段 288
9.6 本章參考閱讀資料 291
9.6.1 本章小結(jié) 291
9.6.2 章節(jié)注釋 291
9.6.3 練習題 292
第10章 手動特征工程:操作數(shù)據(jù)的樂趣和意義 293
10.1 特征工程的術(shù)語和動機 293
10.1.1 為什么選擇特征工程 294
10.1.2 何時開始特征工程 294
10.1.3 特征工程是如何發(fā)生的 296
10.2 特征選擇和數(shù)據(jù)簡化:清除垃圾 296
10.3 特征縮放 297
10.4 離散化 300
10.5 分類編碼 303
10.5.1 數(shù)據(jù)的編碼技術(shù) 303
10.5.2 編碼的另一種方式以及無截距的奇怪情況 306
10.6 關(guān)系和相互作用 312
10.6.1 手動特征構(gòu)造 312
10.6.2 相互作用 314
10.6.3 使用轉(zhuǎn)換器添加特征 319
10.7 對輸入空間和目標的相關(guān)操作 320
10.7.1 對輸入空間的相關(guān)操作 321
10.7.2 對目標的相關(guān)操作 323
10.8 本章參考閱讀資料 325
10.8.1 本章小結(jié) 325
10.8.2 章節(jié)注釋 326
10.8.3 練習題 326
第11章 調(diào)整超參數(shù)和管道技術(shù) 328
11.1 模型、參數(shù)、超參數(shù) 329
11.2 調(diào)整超參數(shù) 330
11.2.1 關(guān)于計算機科學和機器學習術(shù)語的說明 331
11.2.2 關(guān)于完整搜索的示例 331
11.2.3 使用隨機性在大海撈針 337
11.3 遞歸的神奇世界:嵌套交叉驗證 337
11.3.1 重溫交叉驗證 338
11.3.2 作為模型的網(wǎng)格搜索 339
11.3.3 交叉驗證中嵌套的交叉驗證 340
11.3.4 關(guān)于嵌套交叉驗證的注釋 341
11.4 管道技術(shù) 344
11.4.1 一個簡單的管道 344
11.4.2 更復雜的管道 346
11.5 管道和調(diào)參相結(jié)合 347
11.6 本章參考閱讀資料 348
11.6.1 本章小結(jié) 348
11.6.2 章節(jié)注釋 348
11.6.3 練習題 349
第四部分 高級主題
第12章 組合機器學習模型 352
12.1 集成 352
12.2 投票集成 354
12.3 裝袋法和隨機森林 355
12.3.1 自舉 355
12.3.2 從自舉到裝袋法 358
12.3.3 隨機森林 360
12.4 提升方法 362
12.4.1 提升方法的核心理念 362
12.4.2 提升方法實現(xiàn)細節(jié) 363
12.5 各種樹集成方法的比較 365
12.6 本章參考閱讀資料 368
12.6.1 本章小結(jié) 368
12.6.2 章節(jié)注釋 368
12.6.3 練習題 370
第13章 提供特征工程的模型 371
13.1 特征選擇 373
13.1.1 基于度量特征的“單步篩選”方法 374
13.1.2 基于模型的特征選擇 384
13.1.3 將特征選擇與機器學習管道相集成 387
13.2 基于核的特征構(gòu)造 389
13.2.1 核激勵因子 389
13.2.2 手動核方法 394
13.2.3 核方法和核選項 398
13.2.4 核化支持向量分類器:支持向量機 401
13.2.5 關(guān)于SVM的建議和示例 403
13.3 主成分分析:一種無監(jiān)督技術(shù) 404
13.3.1 預熱:中心化數(shù)據(jù) 405
13.3.2 尋找不同的最佳線路 406
13.3.3 第一次執(zhí)行PCA 407
13.3.4 PCA的內(nèi)部原理 410
13.3.5 結(jié)局:對一般PCA的評論 415
13.3.6 核心PCA和流形方法 415
13.4 本章參考閱讀資料 419
13.4.1 本章小結(jié) 419
13.4.2 章節(jié)注釋 419
13.4.3 練習題 424
第14章 領(lǐng)域特征工程:領(lǐng)域特定的機器學習 425
14.1 處理文本 426
14.1.1 對文本進行編碼 427
14.1.2 文本學習的示例 432
14.2 聚類 434
14.3 處理圖像 436
14.3.1 視覺詞袋 436
14.3.2 圖像數(shù)據(jù) 437
14.3.3 端到端系統(tǒng) 438
14.3.4 全局視覺詞袋轉(zhuǎn)換器的完整代碼 444
14.4 本章參考閱讀資料 447
14.4.1 本章小結(jié) 447
14.4.2 章節(jié)注釋 447
14.4.3 練習題 448
第15章 連接、擴展和未來的研究方向 450
15.1 優(yōu)化 450
15.2 基于原始數(shù)據(jù)的線性回歸 453
15.2.1 線性回歸的方法和分析 453
15.2.2 線性回歸的可視化視圖 456
15.3 基于原始數(shù)據(jù)構(gòu)建邏輯回歸 456
15.3.1 采用0-1編碼的邏輯回歸 458
15.3.2 加1減1編碼的邏輯回歸 459
15.3.3 邏輯回歸的可視化視圖 461
15.4 基于原始數(shù)據(jù)的SVM 461
15.5 神經(jīng)網(wǎng)絡(luò) 462
15.5.1 線性回歸的神經(jīng)網(wǎng)絡(luò)視圖 463
15.5.2 邏輯回歸的神經(jīng)網(wǎng)絡(luò)視圖 465
15.5.3 超越基本神經(jīng)網(wǎng)絡(luò) 466
15.6 概率圖模型 467
15.6.1 抽樣 468
15.6.2 線性回歸的概率圖模型視圖 469
15.6.3 邏輯回歸的概率圖模型視圖 472
15.7 本章參考閱讀資料 474
15.7.1 本章小結(jié) 474
15.7.2 章節(jié)注釋 474
15.7.3 練習題 475
附錄 mlwpy.py程序清單 476