利用Python調試機器學習模型
[美]阿裡·馬達尼 著 李慶良 譯
- 出版商: 清華大學
- 出版日期: 2024-08-01
- 售價: $714
- 貴賓價: 9.5 折 $678
- 語言: 簡體中文
- ISBN: 7302668566
- ISBN-13: 9787302668565
-
相關分類:
Machine Learning
立即出貨 (庫存=1)
買這商品的人也買了...
-
$1,480$1,450 -
$359$341
相關主題
商品描述
"《利用Python調試機器學習模型》詳細闡述了利用Python調試機器學習模型的基本解決方案,主要包括**代碼調試、機器學習生命周期、為實現負責任的人工智能而進行調試、檢測機器學習模型中的性能和效率問題、提高機器學習模型的性能、機器學習建模中的可解釋性和可理解性、減少偏差並實現公平性、使用測試驅動開發以控制風險、生產測試和調試、版本控制和可再現的機器學習建模、避免數據漂移和概念漂移、通過深度學習**機器學習調試、高級深度學習技術、機器學習**進展簡介、相關性與因果關系、機器學習中的安全性和隱私、人機循環機器學習等內容。此外,本書還提供了相應的示例、代碼,以幫助讀者進一步理解相關方案的實現過程。 本書可作為高等院校電腦及相關專業的教材和教學參考用書,也可作為相關開發人員的自學用書和參考手冊。"
目錄大綱
目 錄
第1篇 機器學習建模的調試
第1章 超越代碼調試 3
1.1 技術要求 3
1.2 機器學習概覽 4
1.3 機器學習建模的類型 5
1.3.1 監督學習 6
1.3.2 無監督學習 6
1.3.3 自監督學習 7
1.3.4 半監督學習 7
1.3.5 強化學習 7
1.3.6 生成式機器學習 7
1.4 軟件開發中的調試 8
1.4.1 Python中的錯誤消息 9
1.4.2 調試技巧 11
1.4.3 調試器 13
1.4.4 高質量Python編程的最佳實踐 14
1.4.5 版本控制 16
1.4.6 Python之外的調試 17
1.5 用於建模的數據中的缺陷 18
1.5.1 數據格式和結構 18
1.5.2 數據數量和質量 19
1.5.3 數據偏差 19
1.6 以模型和預測為中心的調試 20
1.6.1 欠擬合和過擬合 20
1.6.2 模型測試和生產環境中的推理 21
1.6.3 用於改變全貌的數據或超參數 21
1.7 小結 22
1.8 思考題 22
1.9 參考文獻 22
第2章 機器學習生命周期 25
2.1 技術要求 25
2.2 在開始建模之前需要瞭解的事項 26
2.3 數據收集 27
2.4 數據選擇 28
2.5 數據探索 28
2.6 數據整理 29
2.6.1 結構化 29
2.6.2 充實和豐富 29
2.6.3 數據轉換 30
2.6.4 數據清洗 33
2.7 建模數據準備 38
2.7.1 特徵選擇和提取 38
2.7.2 設計評估和測試策略 40
2.8 模型訓練與評估 42
2.9 測試代碼和模型 44
2.10 模型部署與監控 45
2.11 小結 45
2.12 思考題 46
2.13 參考文獻 46
第3章 為實現負責任的人工智能而進行調試 47
3.1 技術要求 47
3.2 機器學習中的公正建模公平性 47
3.2.1 數據偏差 48
3.2.2 算法偏差 50
3.3 機器學習中的安全和隱私 50
3.3.1 數據隱私 50
3.3.2 數據隱私攻擊 51
3.3.3 數據中毒 51
3.3.4 對抗性攻擊 51
3.3.5 輸出完整性攻擊 52
3.3.6 系統操縱 53
3.3.7 安全且具備隱私保護功能的機器學習技術 53
3.4 機器學習建模的透明度 54
3.5 負責並接受建模檢查 55
3.6 數據和模型治理 57
3.7 小結 58
3.8 思考題 59
3.9 參考文獻 59
第2篇 改進機器學習模型
第4章 檢測機器學習模型中的性能和效率問題 63
4.1 技術要求 63
4.2 性能和誤差評估措施 64
4.2.1 分類 64
4.2.2 回歸 70
4.2.3 聚類 73
4.3 性能評估可視化 74
4.3.1 僅有匯總統計指標還不夠 75
4.3.2 可視化可能會產生誤導 75
4.3.3 不要一廂情願地解釋繪圖 76
4.4 偏差和方差診斷 77
4.5 模型驗證策略 80
4.6 誤差分析 83
4.7 超越性能 84
4.8 小結 86
4.9 思考題 86
4.10 參考文獻 87
第5章 提高機器學習模型的性能 89
5.1 技術要求 89
5.2 提高模型性能的選項 90
5.2.1 網格搜索 92
5.2.2 隨機搜索 93
5.2.3 貝葉斯搜索 94
5.2.4 連續減半 95
5.3 合成數據的生成 95
5.3.1 不平衡數據的過採樣 96
5.3.2 SMOTE技術原理 96
5.3.3 編寫繪圖函數 97
5.3.4 生成合成數據集 98
5.3.5 使用SMOTE方法 99
5.3.6 使用Borderline-SMOTE方法 100
5.3.7 使用ADASYN方法 101
5.3.8 其他基於SMOTE的方法 102
5.4 改進預訓練數據處理 103
5.4.1 異常檢測和離群值去除 104
5.4.2 善加利用低質量或相關性較低的數據 107
5.5 通過正則化方法提高模型的泛化能力 109
5.5.1 正則化方法的原理 109
5.5.2 編寫繪圖函數 111
5.5.3 評估Lasso模型 112
5.5.4 評估嶺模型 113
5.5.5 評估Elastic-Net 113
5.5.6 評估SVM分類模型 114
5.6 小結 115
5.7 思考題 115
5.8 參考文獻 115
第6章 機器學習建模中的可解釋性和可理解性 119
6.1 技術要求 119
6.2 可理解性機器學習與黑盒機器學習 119
6.2.1 可理解的機器學習模型 120
6.2.2 復雜模型的可解釋性 121
6.3 機器學習中的可解釋性方法 122
6.4 局部可解釋性技術 123
6.4.1 特徵重要性 123
6.4.2 反事實解釋 125
6.4.3 基於樣本的可解釋性 125
6.4.4 基於規則的可解釋性 125
6.4.5 顯著圖 126
6.5 全局可解釋性技術 126
6.5.1 收集局部解釋 126
6.5.2 知識蒸餾 127
6.5.3 反事實總結 127
6.6 在Python中實踐機器學習的可解釋性 127
6.6.1 使用SHAP進行解釋 128
6.6.2 使用LIME進行解釋 134
6.6.3 使用多樣化反事實解釋(DiCE)的反事實生成 138
6.7 僅有可解釋性還不夠 140
6.8 小結 140
6.9 思考題 141
6.10 參考文獻 141
第7章 減少偏差並實現公平性 143
7.1 技術要求 143
7.2 機器學習建模中的公平性 144
7.2.1 人口平等 144
7.2.2 概率均等 145
7.2.3 機會平等 145
7.2.4 敏感變量的代理 146
7.3 偏差的來源 146
7.3.1 數據生成和收集中引入的偏差 146
7.3.2 模型訓練和測試中的偏差 149
7.3.3 生產環境中的偏差 150
7.4 使用可解釋性技術 150
7.4.1 查看整體數據集的SHAP匯總圖 150
7.4.2 找到要分析偏差的特徵 151
7.4.3 進行特徵之間的相關性分析 151
7.4.4 對特徵進行可解釋性分析 152
7.5 Python中的公平性評估和改進 154
7.5.1 提供了機器學習公平性相關功能的Python庫 154
7.5.2 計算敏感特徵的差異影響比 155
7.5.3 使用拒絕選項分類 156
7.6 小結 158
7.7 思考題 158
7.8 參考文獻 159
第3篇 低錯誤的機器學習開發與部署
第8章 使用測試驅動開發以控制風險 163
8.1 技術要求 163
8.2 機器學習建模的測試驅動開發 164
8.2.1 單元測試 164
8.2.2 Pytest的基本操作步驟 164
8.2.3 確定要為其設計單元測試的組件 165
8.2.4 定義單元測試函數 166
8.2.5 運行Pytest 166
8.2.6 Pytest固定裝置 168
8.3 機器學習差異測試 169
8.4 跟蹤機器學習實驗 171
8.4.1 選擇機器學習實驗跟蹤工具的重要註意事項 171
8.4.2 常用的機器學習實驗跟蹤工具 172
8.4.3 使用MLflow Tracking 172
8.5 小結 175
8.6 思考題 175
8.7 參考文獻 176
第9章 生產測試和調試 177
9.1 技術要求 177
9.2 基礎設施測試 178
9.2.1 基礎設施即代碼工具 178
9.2.2 基礎設施測試工具 179
9.2.3 使用Pytest進行基礎設施測試 180
9.3 機器學習管道的集成測試 180
9.3.1 集成測試的主要內容 181
9.3.2 集成測試的流行工具 181
9.3.3 使用Pytest進行集成測試 182
9.3.4 使用requests和Pytest進行集成測試 183
9.4 監控和驗證實時性能 184
9.4.1 通過監控瞭解部署前模型和生產環境中模型之間的差異 184
9.4.2 可用於監控模型的Python工具 185
9.4.3 數據漂移評估方法 186
9.5 模型斷言 186
9.5.1 模型斷言的用途 186
9.5.2 在Python中使用模型斷言 187
9.6 小結 188
9.7 思考題 189
9.8 參考文獻 189
第10章 版本控制和可再現的機器學習建模 191
10.1 技術要求 191
10.2 機器學習中的可再現性 192
10.3 數據版本控制 193
10.3.1 常用的數據版本控制工具 193
10.3.2 數據版本控制示例 194
10.4 模型版本控制 195
10.4.1 理解模型版本控制的必要性 195
10.4.2 執行模型版本控制的要點 196
10.5 小結 197
10.6 思考題 197
10.7 參考文獻 197
第11章 避免數據漂移和概念漂移 199
11.1 技術要求 199
11.2 避免模型漂移 200
11.2.1 避免數據漂移 200
11.2.2 解決概念漂移問題 202
11.3 檢測漂移 202
11.3.1 使用alibi_detect進行漂移檢測練習 202
11.3.2 使用evidently進行漂移檢測練習 205
11.4 小結 208
11.5 思考題 208
11.6 參考文獻 208
第4篇 深度學習建模
第12章 通過深度學習超越機器學習調試 211
12.1 技術要求 211
12.2 人工神經網絡簡介 211
12.2.1 全連接神經網絡 212
12.2.2 優化算法 214
12.3 神經網絡建模框架 216
12.3.1 用於深度學習建模的PyTorch 216
12.3.2 訓練模型 219
12.3.3 深度學習的超參數調優 220
12.3.4 PyTorch中的模型可解釋性 221
12.3.5 PyTorch開發的深度學習模型的公平性 221
12.3.6 PyTorch Lightning 222
12.4 小結 222
12.5 思考題 223
12.6 參考文獻 223
第13章 高級深度學習技術 225
13.1 技術要求 225
13.2 神經網絡的類型 226
13.2.1 基於數據類型的分類 226
13.2.2 不同數據類型示例 227
13.2.3 將不同類型數據重新格式化為表格數據的一些挑戰 227
13.3 用於圖像形狀數據的捲積神經網絡 228
13.3.1 捲積的概念 228
13.3.2 捲積神經網絡的應用 229
13.3.3 捲積神經網絡的常用模型 230
13.3.4 性能評估 231
13.3.5 使用PyTorch進行CNN建模 232
13.3.6 捲積神經網絡的圖像數據轉換和增強 234
13.3.7 使用預先訓練的模型 235
13.4 用於語言建模的Transformer 236
13.4.1 標記化 238
13.4.2 語言嵌入 241
13.4.3 使用預訓練模型進行語言建模 241
13.5 使用深度神經網絡對圖進行建模 243
13.5.1 認識圖 244
13.5.2 圖神經網絡 245
13.5.3 使用PyTorch Geometric構建圖神經網絡 246
13.6 小結 250
13.7 思考題 250
13.8 參考文獻 251
第14章 機器學習最新進展簡介 255
14.1 技術要求 255
14.2 生成式建模 255
14.2.1 ChatGPT和其他生成式AI的成功故事 256
14.2.2 生成式深度學習技術 257
14.2.3 基於文本的生成式模型的提示工程 258
14.2.4 使用PyTorch進行生成式建模 260
14.3 強化學習 262
14.3.1 基於人類反饋的強化學習 263
14.3.2 使用PyTorch設計RLHF 263
14.4 自監督學習 265
14.4.1 常見自監督學習技術 266
14.4.2 使用PyTorch進行自監督學習 266
14.5 小結 269
14.6 思考題 269
14.7 參考文獻 269
第5篇 模型調試的高級主題
第15章 相關性與因果關系 275
15.1 技術要求 275
15.2 作為機器學習模型一部分的相關性 276
15.3 因果建模可降低風險並提高性能 276
15.4 評估機器學習模型中的因果關系 278
15.4.1 識別因果特徵的方法 278
15.4.2 因果推理 279
15.4.3 貝葉斯網絡 281
15.5 使用Python進行因果建模 282
15.5.1 使用dowhy進行因果效應估計 282
15.5.2 使用bnlearn通過貝葉斯網絡進行因果推理 284
15.6 小結 286
15.7 思考題 287
15.8 參考文獻 287
第16章 機器學習中的安全性和隱私 289
16.1 技術要求 289
16.2 加密技術及其在機器學習中的應用 290
16.2.1 常見加密技術 290
16.2.2 在Python中實現AES加密 290
16.3 同態加密 292
16.4 差分隱私 293
16.5 聯邦學習 295
16.6 小結 297
16.7 思考題 297
16.8 參考文獻 297
第17章 人機循環機器學習 299
17.1 機器學習生命周期中的人類 299
17.1.1 主動和被動人機循環 300
17.1.2 專家反饋收集 300
17.2 人機循環建模 301
17.3 小結 302
17.4 思考題 303
17.5 參考文獻 303
附錄A 思考題答案 305
第1章 超越代碼調試 305
第2章 機器學習生命周期 307
第3章 為實現負責任的人工智能而進行調試 307
第4章 檢測機器學習模型中的性能和效率問題 308
第5章 提高機器學習模型的性能 309
第6章 機器學習建模中的可解釋性和可理解性 311
第7章 減少偏差並實現公平性 312
第8章 使用測試驅動開發以控制風險 313
第9章 生產測試和調試 313
第10章 版本控制和可再現的機器學習建模 315
第11章 避免數據漂移和概念漂移 315
第12章 通過深度學習超越機器學習調試 316
第13章 高級深度學習技術 316
第14章 機器學習最新進展簡介 317
第15章 相關性與因果關系 318
第16章 機器學習中的安全性和隱私 318
第17章 人機循環機器學習 319