注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计利用Python调试机器学习模型

利用Python调试机器学习模型

利用Python调试机器学习模型

定 价:¥119.00

作 者: [美]阿里·马达尼 著 李庆良 译
出版社: 清华大学出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787302668565 出版时间: 2024-08-01 包装: 平装-胶订
开本: 16开 页数: 字数:  

内容简介

  《利用Python调试机器学习模型》详细阐述了利用Python调试机器学习模型的基本解决方案,主要包括超越代码调试、机器学习生命周期、为实现负责任的人工智能而进行调试、检测机器学习模型中的性能和效率问题、提高机器学习模型的性能、机器学习建模中的可解释性和可理解性、减少偏差并实现公平性、使用测试驱动开发以控制风险、生产测试和调试、版本控制和可再现的机器学习建模、避免数据漂移和概念漂移、通过深度学习超越机器学习调试、高级深度学习技术、机器学习最新进展简介、相关性与因果关系、机器学习中的安全性和隐私、人机回圈机器学习等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。本书可作为高等院校计算机及相关专业的教材和教学参考用书,也可作为相关开发人员的自学用书和参考手册。

作者简介

  Ali Madani曾任Cyclica公司的机器学监,该公司处于药物发现的人工智能技术开发前沿,之后被Recursion Pharmaceuticals收购。Ali在新公司继续专注于机器学习在药物发现中的应用。Ali在多伦多大学获得博士学位,专业方向是癌症研究任务中的机器学习建模。Ali还在加拿大滑铁卢大学获得数学硕士学位。

图书目录

第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
 

本目录推荐