機(jī)器學(xué)習(xí)工程實(shí)戰(zhàn)
定 價(jià):119 元
- 作者:[加] 安德烈·布可夫(Andriy Burkov)
- 出版時(shí)間:2021/11/1
- ISBN:9787115570505
- 出 版 社:人民郵電出版社
- 中圖法分類(lèi):TP181
- 頁(yè)碼:
- 紙張:膠版紙
- 版次:
- 開(kāi)本:128開(kāi)
本書(shū)是人工智能和機(jī)器學(xué)習(xí)領(lǐng)域?qū)I(yè)多年實(shí)踐的結(jié)晶,深入淺出講解機(jī)器學(xué)習(xí)應(yīng)用和工程實(shí)踐,是對(duì)機(jī)器學(xué)習(xí)工程實(shí)踐和設(shè)計(jì)模式的系統(tǒng)回顧。全書(shū)分別從項(xiàng)目前的準(zhǔn)備,數(shù)據(jù)收集和準(zhǔn)備,特征工程,監(jiān)督模型訓(xùn)練,模型評(píng)估,模型服務(wù)、監(jiān)測(cè)和維護(hù)等方面講解,由淺入深剖析機(jī)器學(xué)習(xí)實(shí)踐過(guò)程中遇到的問(wèn)題,幫助讀者快速掌握機(jī)器學(xué)習(xí)工程實(shí)踐和設(shè)計(jì)模式的基本原理與方法。
本書(shū)內(nèi)容安排合理,架構(gòu)清晰,理論與實(shí)踐相結(jié)合,適合想要從事機(jī)器學(xué)習(xí)項(xiàng)目的數(shù)據(jù)分析師、機(jī)器學(xué)習(xí)工程師以及機(jī)器學(xué)習(xí)相關(guān)專業(yè)的學(xué)生閱讀,也可供需要處理模型的軟件架構(gòu)師參考。
1.機(jī)器學(xué)習(xí)入門(mén)手冊(cè)《機(jī)器學(xué)習(xí)精講》姊妹篇,人工智能和機(jī)器學(xué)習(xí)領(lǐng)域?qū)I(yè)人士的多年實(shí)踐結(jié)晶,深入淺出講解機(jī)器學(xué)習(xí)應(yīng)用和工程實(shí)踐。
2.系統(tǒng)闡釋利用機(jī)器學(xué)習(xí)大規(guī)模地解決業(yè)務(wù)問(wèn)題,涉及項(xiàng)目準(zhǔn)備工作、數(shù)據(jù)收集、特征工程、監(jiān)督模型訓(xùn)練、模型評(píng)估、模型部署,以及模型服務(wù)、監(jiān)測(cè)和維護(hù)等全流程
3.從零開(kāi)始講解,分任務(wù)、分步驟的介紹機(jī)器學(xué)習(xí)項(xiàng)目,展示項(xiàng)目完整設(shè)計(jì)過(guò)程。
4.理論實(shí)踐相結(jié)合側(cè)重于討論多種實(shí)際應(yīng)用場(chǎng)景,幫助讀者應(yīng)用到實(shí)際開(kāi)發(fā)中。
5.人工智能和機(jī)器學(xué)習(xí)領(lǐng)域?qū)I(yè)人士Cassie Kozyrkov、Karolis Urbonas作序推薦。
安德烈·布可夫(Andriy Burkov),人工智能和機(jī)器學(xué)習(xí)領(lǐng)域?qū)I(yè)人士,擁有人工智能博士學(xué)位,尤其擅長(zhǎng)自然語(yǔ)言處理、機(jī)器學(xué)習(xí)、信息檢索等。目前,他是高德納(Gartner)咨詢公司機(jī)器學(xué)習(xí)開(kāi)發(fā)團(tuán)隊(duì)的主管。該團(tuán)隊(duì)的主要工作是,使用淺層和深度學(xué)習(xí)技術(shù),開(kāi)發(fā)可用于生產(chǎn)環(huán)境的、先進(jìn)的多語(yǔ)言文字抽取和標(biāo)準(zhǔn)化系統(tǒng)。著有本書(shū)的姊妹篇《機(jī)器學(xué)習(xí)精講》。
目錄
第 1章 概述 1
1.1 符號(hào)和定義 1
1.1.1 數(shù)據(jù)結(jié)構(gòu) 1
1.1.2 大寫(xiě)西格瑪記法 3
1.2 什么是機(jī)器學(xué)習(xí) 3
1.2.1 監(jiān)督學(xué)習(xí) 4
1.2.2 無(wú)監(jiān)督學(xué)習(xí) 5
1.2.3 半監(jiān)督學(xué)習(xí) 6
1.2.4 強(qiáng)化學(xué)習(xí) 6
1.3 數(shù)據(jù)和機(jī)器學(xué)習(xí)術(shù)語(yǔ) 6
1.3.1 直接和間接使用的數(shù)據(jù) 7
1.3.2 原始數(shù)據(jù)和規(guī)整數(shù)據(jù) 7
1.3.3 訓(xùn)練集和留出集 8
1.3.4 基線 9
1.3.5 機(jī)器學(xué)習(xí)流水線 9
1.3.6 參數(shù)與超參數(shù) 10
1.3.7 分類(lèi)與回歸 10
1.3.8 基于模型學(xué)習(xí)與基于實(shí)例學(xué)習(xí) 11
1.3.9 淺層學(xué)習(xí)與深度學(xué)習(xí)的比較 11
1.3.10 訓(xùn)練與評(píng)分 11
1.4 何時(shí)使用機(jī)器學(xué)習(xí) 11
1.4.1 如果問(wèn)題太復(fù)雜,無(wú)法進(jìn)行編程 12
1.4.2 如果問(wèn)題不斷變化 12
1.4.3 如果它是一個(gè)感知問(wèn)題 13
1.4.4 如果它是一種未曾研究過(guò)的現(xiàn)象 13
1.4.5 如果問(wèn)題的目標(biāo)簡(jiǎn)單 14
1.4.6 如果它有成本效益 14
1.5 何時(shí)不使用機(jī)器學(xué)習(xí) 14
1.6 什么是機(jī)器學(xué)習(xí)工程 15
1.7 機(jī)器學(xué)習(xí)項(xiàng)目生命周期 16
1.8 小結(jié) 17
第 2章 項(xiàng)目開(kāi)始前 19
2.1 機(jī)器學(xué)習(xí)項(xiàng)目的優(yōu)先級(jí)排序 19
2.1.1 機(jī)器學(xué)習(xí)的影響 19
2.1.2 機(jī)器學(xué)習(xí)的成本 20
2.2 估計(jì)機(jī)器學(xué)習(xí)項(xiàng)目的復(fù)雜度 21
2.2.1 未知因素 21
2.2.2 簡(jiǎn)化問(wèn)題 21
2.2.3 非線性進(jìn)展 22
2.3 確定機(jī)器學(xué)習(xí)項(xiàng)目的目標(biāo) 22
2.3.1 模型能做什么 22
2.3.2 成功模型的屬性 23
2.4 構(gòu)建機(jī)器學(xué)習(xí)團(tuán)隊(duì) 24
2.4.1 兩種文化 24
2.4.2 機(jī)器學(xué)習(xí)團(tuán)隊(duì)的成員 25
2.5 機(jī)器學(xué)習(xí)項(xiàng)目為何失敗 26
2.5.1 缺乏有經(jīng)驗(yàn)的人才 26
2.5.2 缺乏領(lǐng)導(dǎo)層的支持 26
2.5.3 數(shù)據(jù)基礎(chǔ)設(shè)施缺失 27
2.5.4 數(shù)據(jù)標(biāo)簽的挑戰(zhàn) 27
2.5.5 谷倉(cāng)式組織和缺乏協(xié)作 28
2.5.6 技術(shù)上不可行的項(xiàng)目 28
2.5.7 技術(shù)團(tuán)隊(duì)和業(yè)務(wù)團(tuán)隊(duì)之間缺乏協(xié)調(diào) 28
2.6 小結(jié) 29
第3章 數(shù)據(jù)收集和準(zhǔn)備 31
3.1 關(guān)于數(shù)據(jù)的問(wèn)題 31
3.1.1 數(shù)據(jù)是否可獲得 31
3.1.2 數(shù)據(jù)是否相當(dāng)大 32
3.1.3 數(shù)據(jù)是否可用 34
3.1.4 數(shù)據(jù)是否可理解 35
3.1.5 數(shù)據(jù)是否可靠 36
3.2 數(shù)據(jù)的常見(jiàn)問(wèn)題 37
3.2.1 高成本 37
3.2.2 質(zhì)量差 39
3.2.3 噪聲 39
3.2.4 偏差 40
3.2.5 預(yù)測(cè)能力低 45
3.2.6 過(guò)時(shí)的樣本 45
3.2.7 離群值 46
3.2.8 數(shù)據(jù)泄露 47
3.3 什么是好數(shù)據(jù) 48
3.3.1 好數(shù)據(jù)是有信息的 48
3.3.2 好數(shù)據(jù)有好的覆蓋面 48
3.3.3 好數(shù)據(jù)反映真實(shí)的輸入 48
3.3.4 好數(shù)據(jù)沒(méi)有偏差 49
3.3.5 好數(shù)據(jù)不是反饋環(huán)路的結(jié)果 49
3.3.6 好數(shù)據(jù)有一致的標(biāo)簽 49
3.3.7 好數(shù)據(jù)足夠大 49
3.3.8 好數(shù)據(jù)總結(jié) 50
3.4 處理交互數(shù)據(jù) 50
3.5 數(shù)據(jù)泄露的原因 51
3.5.1 目標(biāo)是一個(gè)特征的函數(shù) 51
3.5.2 特征隱藏目標(biāo) 52
3.5.3 特征來(lái)自未來(lái) 52
3.6 數(shù)據(jù)劃分 53
3.7 處理缺失的屬性 55
3.7.1 數(shù)據(jù)填補(bǔ)技術(shù) 55
3.7.2 填補(bǔ)過(guò)程中的泄露問(wèn)題 57
3.8 數(shù)據(jù)增強(qiáng) 57
3.8.1 圖像的數(shù)據(jù)增強(qiáng) 57
3.8.2 文本的數(shù)據(jù)增強(qiáng) 59
3.9 處理不平衡的數(shù)據(jù) 60
3.9.1 過(guò)采樣 60
3.9.2 欠采樣 62
3.9.3 混合策略 62
3.10 數(shù)據(jù)采樣策略 63
3.10.1 簡(jiǎn)單隨機(jī)采樣 63
3.10.2 系統(tǒng)采樣 64
3.10.3 分層采樣 64
3.11 存儲(chǔ)數(shù)據(jù) 64
3.11.1 數(shù)據(jù)格式 65
3.11.2 數(shù)據(jù)存儲(chǔ)級(jí)別 66
3.11.3 數(shù)據(jù)版本化 68
3.11.4 文檔和元數(shù)據(jù) 69
3.11.5 數(shù)據(jù)生命周期 70
3.12 數(shù)據(jù)處理實(shí)踐 70
3.12.1 可重復(fù)性 70
3.12.2 數(shù)據(jù)第 一,算法第二 70
3.13 小結(jié) 71
第4章 特征工程 73
4.1 為什么要進(jìn)行特征工程 73
4.2 如何進(jìn)行特征工程 74
4.2.1 文本的特征工程 74
4.2.2 為什么詞袋有用 77
4.2.3 將分類(lèi)特征轉(zhuǎn)換為數(shù)字 78
4.2.4 特征哈希 80
4.2.5 主題建!81
4.2.6 時(shí)間序列的特征 85
4.2.7 發(fā)揮你的創(chuàng)造力 88
4.3 疊加特征 88
4.3.1 疊加特征向量 88
4.3.2 疊加單個(gè)特征 89
4.4 好特征的屬性 90
4.4.1 高預(yù)測(cè)能力 90
4.4.2 快速計(jì)算能力 90
4.4.3 可靠性 91
4.4.4 不相關(guān) 91
4.4.5 其他屬性 91
4.5 特征選擇 92
4.5.1 切除長(zhǎng)尾 92
4.5.2 Boruta 93
4.5.3 L1正則化 95
4.5.4 特定任務(wù)的特征選擇 95
4.6 合成特征 96
4.6.1 特征離散化 96
4.6.2 從關(guān)系數(shù)據(jù)中合成特征 97
4.6.3 通過(guò)數(shù)據(jù)合成特征 99
4.6.4 通過(guò)其他特征合成特征 99
4.7 從數(shù)據(jù)中學(xué)習(xí)特征 100
4.7.1 單詞嵌入 100
4.7.2 文檔嵌入 102
4.7.3 任何東西的嵌入 103
4.7.4 選擇嵌入維度 104
4.8 降維 104
4.8.1 用PCA快速降維 104
4.8.2 用于可視化的降維 105
4.9 縮放特征 105
4.9.1 歸一化 105
4.9.2 標(biāo)準(zhǔn)化 106
4.10 特征工程中的數(shù)據(jù)泄露問(wèn)題 107
4.10.1 可能出現(xiàn)的問(wèn)題 107
4.10.2 解決方案 107
4.11 存儲(chǔ)特征和編寫(xiě)文檔 108
4.11.1 模式文件 108
4.11.2 特征商店 109
4.12 特征工程實(shí)踐 112
4.12.1 生成許多簡(jiǎn)單的特征 112
4.12.2 復(fù)用遺留系統(tǒng) 112
4.12.3 在需要時(shí)使用ID作為特征 112
4.12.4 但在可能時(shí)要減少基數(shù) 113
4.12.5 謹(jǐn)慎使用計(jì)數(shù) 113
4.12.6 必要時(shí)進(jìn)行特征選擇 114
4.12.7 認(rèn)真測(cè)試代碼 114
4.12.8 保持代碼、模型和數(shù)據(jù)的同步性 115
4.12.9 隔離特征提取代碼 115
4.12.10 將模型和特征提取器序列化在一起 115
4.12.11 記錄特征的值 115
4.13 小結(jié) 115
第5章 監(jiān)督模型訓(xùn)練(第 一部分) 117
5.1 開(kāi)始模型工作之前 117
5.1.1 驗(yàn)證模式一致性 117
5.1.2 定義可實(shí)現(xiàn)的表現(xiàn)水平 118
5.1.3 選擇表現(xiàn)指標(biāo) 118
5.1.4 選擇正確的基線 118
5.1.5 將數(shù)據(jù)分成三個(gè)集 121
5.1.6 監(jiān)督學(xué)習(xí)的前提條件 122
5.2 為機(jī)器學(xué)習(xí)表示標(biāo)簽 122
5.2.1 多類(lèi)分類(lèi) 122
5.2.2 多標(biāo)簽分類(lèi) 123
5.3 選擇學(xué)習(xí)算法 124
5.3.1 學(xué)習(xí)算法的主要屬性 124
5.3.2 算法抽查 125
5.4 建立流水線 126
5.5 評(píng)估模型表現(xiàn) 127
5.5.1 回歸的表現(xiàn)指標(biāo) 128
5.5.2 分類(lèi)的表現(xiàn)指標(biāo) 128
5.5.3 排名的表現(xiàn)指標(biāo) 134
5.6 超參數(shù)調(diào)整 137
5.6.1 網(wǎng)格搜索 137
5.6.2 隨機(jī)搜索 138
5.6.3 由粗到精搜索 139
5.6.4 其他技術(shù) 140
5.6.5 交叉驗(yàn)證 140
5.7 淺層模型訓(xùn)練 141
5.7.1 淺層模型訓(xùn)練策略 141
5.7.2 保存和恢復(fù)模型 142
5.8 偏差-方差折中 143
5.8.1 欠擬合 143
5.8.2 過(guò)擬合 143
5.8.3 折中 145
5.9 正則化 146
5.9.1 L1和L2正則化 147
5.9.2 其他形式的正則化 147
5.10 小結(jié) 148
第6章 監(jiān)督模型訓(xùn)練(第二部分) 150
6.1 深度模型訓(xùn)練策略 150
6.1.1 神經(jīng)網(wǎng)絡(luò)訓(xùn)練策略 151
6.1.2 表現(xiàn)指標(biāo)和成本函數(shù) 151
6.1.3 參數(shù)初始化策略 153
6.1.4 優(yōu)化算法 154
6.1.5 學(xué)習(xí)率衰減安排表 158
6.1.6 正則化 159
6.1.7 網(wǎng)絡(luò)規(guī)模搜索和超參數(shù)調(diào)整 160
6.1.8 處理多個(gè)輸入 162
6.1.9 處理多個(gè)輸出 162
6.1.10 遷移學(xué)習(xí) 163
6.2 堆疊模型 165
6.2.1 集成學(xué)習(xí)的類(lèi)型 165
6.2.2 模型堆疊的一種算法 166
6.2.3 模型堆疊中的數(shù)據(jù)泄露問(wèn)題 167
6.3 應(yīng)對(duì)分布偏移 167
6.3.1 分布偏移的類(lèi)型 167
6.3.2 對(duì)抗驗(yàn)證 168
6.4 處理不平衡數(shù)據(jù)集 168
6.4.1 類(lèi)權(quán)重 169
6.4.2 重采樣數(shù)據(jù)集的集成 169
6.4.3 其他技術(shù) 170
6.5 模型校準(zhǔn) 170
6.5.1 良好校準(zhǔn)的模型 171
6.5.2 校準(zhǔn)技術(shù) 172
6.6 故障排除與誤差分析 172
6.6.1 模范行為不良的原因 173
6.6.2 迭代模型的細(xì)化 173
6.6.3 誤差分析 174
6.6.4 復(fù)雜系統(tǒng)的誤差分析 175
6.6.5 使用切片指標(biāo) 177
6.6.6 修復(fù)錯(cuò)誤的標(biāo)簽 177
6.6.7 尋找其他的樣本來(lái)標(biāo)記 177
6.6.8 深度學(xué)習(xí)的故障排除 178
6.7 實(shí)踐 179
6.7.1 提供一個(gè)好模型 180
6.7.2 信任流行的開(kāi)源實(shí)現(xiàn)方式 180
6.7.3 優(yōu)化業(yè)務(wù)特定的表現(xiàn)指標(biāo) 180
6.7.4 從頭開(kāi)始升級(jí) 180
6.7.5 避免修正級(jí)聯(lián) 181
6.7.6 謹(jǐn)慎使用模型級(jí)聯(lián) 181
6.7.7 編寫(xiě)高效的代碼、編譯和并行化 182
6.7.8 對(duì)較新和較舊數(shù)據(jù)都進(jìn)行測(cè)試 183
6.7.9 更多的數(shù)據(jù)勝過(guò)更聰明的算法 183
6.7.10 新數(shù)據(jù)勝過(guò)巧妙的特征 184
6.7.11 擁抱微小進(jìn)步 184
6.7.12 促進(jìn)可重復(fù)性 184
6.8 小結(jié) 185
第7章 模型評(píng)估 187
7.1 離線和在線評(píng)估 188
7.2 A/B測(cè)試 190
7.2.1 G檢驗(yàn) 190
7.2.2 Z檢驗(yàn) 193
7.2.3 結(jié)語(yǔ)和警告 195
7.3 多臂老虎機(jī) 195
7.4 模型表現(xiàn)的統(tǒng)計(jì)界限 198
7.4.1 分類(lèi)誤差的統(tǒng)計(jì)區(qū)間 199
7.4.2 自舉法統(tǒng)計(jì)區(qū)間 199
7.4.3 回歸的自舉法預(yù)測(cè)區(qū)間 201
7.5 評(píng)估測(cè)試集的充分性 201
7.5.1 神經(jīng)元覆蓋率 201
7.5.2 突變測(cè)試 202
7.6 模型屬性的評(píng)估 202
7.6.1 健壯性 203
7.6.2 公平性 203
7.7 小結(jié) 204
第8章 模型部署 206
8.1 靜態(tài)部署 206
8.2 在用戶設(shè)備上動(dòng)態(tài)部署 207
8.2.1 模型參數(shù)的部署 207
8.2.2 序列化對(duì)象的部署 208
8.2.3 部署到瀏覽器上 208
8.2.4 優(yōu)點(diǎn)和缺點(diǎn) 208
8.3 在服務(wù)器上動(dòng)態(tài)部署 209
8.3.1 在虛擬機(jī)上部署 209
8.3.2 在容器中部署 210
8.3.3 無(wú)服務(wù)器部署 211
8.3.4 模型流 212
8.4 部署策略 214
8.4.1 單一部署 214
8.4.2 靜默部署 215
8.4.3 金絲雀部署 215
8.4.4 多臂老虎機(jī) 216
8.5 自動(dòng)部署、版本管理和元數(shù)據(jù) 216
8.5.1 模型附帶資產(chǎn) 216
8.5.2 版本同步 216
8.5.3 模型版本元數(shù)據(jù) 217
8.6 模型部署實(shí)踐 217
8.6.1 算法效率 218
8.6.2 深度模型的部署 221
8.6.3 緩存 221
8.6.4 模型和代碼的交付格式 222
8.6.5 從一個(gè)簡(jiǎn)單的模型開(kāi)始 224
8.6.6 對(duì)外測(cè)試 225
8.7 小結(jié) 225
第9章 模型服務(wù)、監(jiān)測(cè)和維護(hù) 227
9.1 模型服務(wù)運(yùn)行時(shí)的屬性 227
9.1.1 安全性和正確性 227
9.1.2 部署的方便性 228
9.1.3 模型有效性的保證 228
9.1.4 易于恢復(fù) 229
9.1.5 避免訓(xùn)練/服務(wù)偏離 229
9.1.6 避免隱藏反饋環(huán)路 229
9.2 模型服務(wù)模式 230
9.2.1 批量模式服務(wù) 230
9.2.2 對(duì)人按需服務(wù) 231
9.2.3 對(duì)機(jī)器按需服務(wù) 232
9.3 現(xiàn)實(shí)世界中的模型服務(wù) 233
9.3.1 為錯(cuò)誤做好準(zhǔn)備 233
9.3.2 處理錯(cuò)誤 234
9.3.3 做好準(zhǔn)備,應(yīng)對(duì)變化 236
9.3.4 做好準(zhǔn)備,應(yīng)對(duì)人性 237
9.4 模型監(jiān)測(cè) 238
9.4.1 什么會(huì)出問(wèn)題 238
9.4.2 監(jiān)測(cè)的內(nèi)容和方法 239
9.4.3 記錄什么日志 241
9.4.4 監(jiān)測(cè)濫用情況 242
9.5 模型維護(hù) 243
9.5.1 何時(shí)更新 243
9.5.2 如何更新 244
9.6 小結(jié) 246
第 10章 結(jié)論 249
10.1 學(xué)習(xí)收獲 249
10.2 后續(xù)閱讀 253
10.3 致謝 253