新書推薦:
《
视觉美食家:商业摄影实战与创意解析
》
售價:HK$
132.2
《
中国经济发展的新阶段:机会与选择
》
售價:HK$
99.7
《
DK月季玫瑰百科
》
售價:HK$
210.6
《
为你想要的生活
》
售價:HK$
66.1
《
关键改变:如何实现自我蜕变
》
售價:HK$
77.3
《
超加工人群:为什么有些食物让人一吃就停不下来
》
售價:HK$
99.7
《
历史的教训(浓缩《文明的故事》精华,总结历史教训的独特见解)
》
售價:HK$
62.7
《
不在场证明谜案(超绝CP陷入冤案!日本文坛超新星推理作家——辻堂梦代表作首次引进!)
》
售價:HK$
58.2
|
編輯推薦: |
怎样才能有效地向A业务和利益相关者解释Al的决策?你需要仔细规划、设计和可视化。要解决的问题、模型以及变量之间的关系通常是微妙、出乎意料和复杂的。
《Python可解释AI(XAI)实战》通过几个精心设计的项目让你在实践中掌握众多XAI工具和方法,而不是仅仅停留在理论和概念上。你将动手构建模型,可视化解释结果,并集成XAI工具。
你将使用Python、TensorFlow 2、Google Cloud XAI平台、Google Colaboratory和其他框架构建XAI解决方案,以打开机器学习模型的黑匣子。本书涵盖多个可在整个机器学习项目生命周期中使用的Python开源XAI工具。
你将学习如何探索机器学习模型结果,检查关键影响变量和变量关系,检测和处理偏见和道德伦理及法律问题,以及将机器学习模型可视化到用户界面中。
读完这本书,你将深入了解XAI的核心概念并掌握多个XAI工具和方法。
|
內容簡介: |
主要内容 ? 在机器学习生命周期的不同阶段规划和实施 XAI ? 评估目前流行的各种XAI开源工具的优缺点 ? 介绍如何处理机器学习数据中的偏见问题 ? 介绍处理机器学习数据中的道德伦理和法律问题的工具和相关知识 ? 介绍XAI 设计和可视化方面的**实践 ? 将XAI集成到Python模型中 ? 在整个机器学习生命周期中使用对应的XAI工具来解决业务问题
|
關於作者: |
Denis Rothman 毕业于索邦大学和巴黎-狄德罗大学,他写过最早的word2vector
embedding 解决方案之一。职业生涯伊始,他就创作了第一批AI 认知自然语言处理
(NLP)聊天机器人之一,该聊天机器人为语言教学应用程序,用于Mo?t et Chandon 以
及其他公司。他也为IBM 和服装生产商编写了一个AI 资源优化器。之后,他还编写
了一种在全球范围内使用的高级计划和排程(APS)解决方案。
“我要感谢那些从一开始就信任我的公司,是它们把AI 解决方案委托于我,并分
担持续创新所带来的风险。我还要感谢我的家人,他们一直相信我会取得成功。”
|
目錄:
|
第1 章 使用Python 解释AI1
1.1 可解释AI 的定义2
1.1.1 从黑盒模型到XAI 白盒模型3
1.1.2 解释和阐释4
1.2 设计和提取5
1.3 医学诊断时间线中的XAI8
1.3.1 全科医生使用的标准AI 程序8
1.3.2 西尼罗河病毒——一个生死
攸关的案例15
1.3.3 Google Location History 与XAI 的
结合可以拯救生命21
1.3.4 下载Google Location History21
1.3.5 读取和显示Google Location
History25
1.3.6 用XAI 增强AI 诊断33
1.3.7 将XAI 应用于医学诊断
实验性程序38
1.4 本章小结42
1.5 习题42
1.6 参考资料43
1.7 扩展阅读43
第2 章 AI 偏差和道德方面的
白盒XAI 45
2.1 自动驾驶汽车系统AI 的
道德和偏差46
2.1.1 自动驾驶系统在生死关头是
如何做决策的47
2.1.2 电车难题47
2.1.3 麻省理工学院的道德
机器实验48
2.1.4 真实的生死攸关情景48
2.1.5 从道德伦理上解释AI 的
局限性49
2.2 对自动驾驶决策树的解释51
2.2.1 自动驾驶系统的两难困境52
2.2.2 导入模块53
2.2.3 检索数据集53
2.2.4 读取和拆分数据54
2.2.5 决策树分类器的理论描述56
2.2.6 创建默认的决策树分类器57
2.2.7 训练、测量、保存模型58
2.2.8 显示决策树60
2.3 将XAI 应用于自动驾驶
决策树62
2.4 使用XAI 和道德来控制
决策树68
2.4.1 加载模型69
2.4.2 测量准确率69
2.4.3 模拟实时案例69
2.4.4 由噪声引起的ML 偏差70
2.4.5 将道德和法律引入ML72
2.6 本章小结74
2.7 习题75
2.8 参考资料75
2.9 扩展阅读76
第3 章 用Facets 解释ML77
3.1 Facets 入门78
3.1.1 在Google Colaboratory
安装Facets78
3.1.2 检索数据集79
3.1.3 读取数据文件80
3.2 Facets Overview80
3.3 对Facets 统计信息进行排序82
3.3.1 按特征顺序排序83
3.3.2 按不均匀性排序83
3.3.3 按字母顺序排序86
3.3.4 按缺失值或零值的数量排序86
3.3.5 按分布距离排序87
3.4 Facets Dive88
3.4.1 构建Facets Dive 交互式界面88
3.4.2 定义数据点的标签90
3.4.3 定义数据点的颜色92
3.4.4 定义x 轴和y 轴的binning 93
3.4.5 定义散点图的x 轴和y 轴94
3.5 本章小结96
3.6 习题96
3.7 参考资料97
3.8 扩展阅读97
第4 章 Microsoft Azure 机器学习
模型的可解释与SHAP 99
4.1 SHAP 简介100
4.1.1 关键的SHAP 原则100
4.1.2 Shapley 值的数学表达式102
4.1.3 情感分析示例104
4.2 SHAP 入门108
4.2.1 安装SHAP108
4.2.2 导入数据109
4.2.3 向量化数据集 115
4.3 线性模型和逻辑回归117
4.3.1 创建、训练和可视化线性模型
的输出 117
4.3.2 定义线性模型119
4.3.3 使用SHAP 实现与模型无关的
解释121
4.3.4 创建线性模型解释器121
4.3.5 添加图表功能121
4.3.6 解释模型的预测结果123
4.4 本章小结 130
4.5 习题 131
4.6 参考资料131
4.7 扩展阅读131
4.8 其他出版物 132
第5 章 从零开始构建可解释AI
解决方案133
5.1 道德伦理和法律视角 134
5.2 美国人口普查数据问题 135
5.2.1 使用pandas 显示数据135
5.2.2 道德伦理视角137
5.3 机器学习视角 141
5.3.1 使用Facets Dive 显示
训练数据142
5.3.2 使用Facets Dive 分析
训练数据144
5.3.3 验证输出是否符合以上原则146
5.3.4 对输入数据进行转换153
5.4 将WIT 应用于转换后的
数据集 155
5.5 本章小结 162
5.6 习题 163
5.7 参考资料 163
5.8 扩展阅读 163
第6 章 用Google What-If Tool(WIT)
实现AI 的公平性165
6.1 从道德伦理视角谈AI
可解释和可阐释性 166
6.1.1 道德伦理视角166
6.1.2 法律视角167
6.1.3 解释和阐释167
6.1.4 准备符合道德伦理的数据集168
6.2 WIT 入门170
6.2.1 导入数据集171
6.2.2 对数据进行预处理172
6.2.3 创建数据结构以训练和
测试模型174
6.3 创建DNN 模型174
6.4 创建SHAP 解释器177
6.5 模型输出与SHAP 值178
6.6 WIT 数据点浏览器和
编辑器181
6.6.1 创建WIT181
6.6.2 数据点编辑器182
6.6.3 特征186
6.6.4 性能和公平性187
6.7 本章小结193
6.8 习题193
6.9 参考资料194
6.10 扩展阅读194
第7 章 可解释AI 聊天机器人 195
7.1 Dialogflow 的Python
客户端196
7.1.1 安装Google Dialogflow 的
Python 客户端197
7.1.2 创建Google Dialogflow 代理197
7.1.3 启用API 和服务200
7.1.4 实现Google Dialogflow 的
Python 客户端202
7.2 增强Google Dialogflow 的
Python 客户端205
7.2.1 创建对话函数205
7.2.2 在Dialogflow 实现XAI 的
限制206
7.2.3 在Dialogflow 创建意图206
7.2.4 XAI Python 客户端212
7.3 使用Google Dialogflow 的
CUI XAI 对话 216
7.3.1 将Dialogflow 集成到网站中216
7.3.2 Jupyter Notebook XAI 代理
管理器220
7.3.3 Google Assistant 220
7.4 本章小结 222
7.5 习题 223
7.6 扩展阅读 223
第8 章 LIME225
8.1 介绍LIME 226
8.1.1 LIME 的数学表示227
8.2 开始使用LIME 229
8.2.1 在Google Colaboratory 安装
LIME230
8.2.2 检索数据集和矢量化数据集230
8.3 一个实验性的AutoML
模块 231
8.3.1 创建AutoML 模板232
8.3.2 Bagging 分类器233
8.3.3 梯度提升分类器234
8.3.4 决策树分类器234
8.3.5 极度随机树分类器235
8.4 解释分数 236
8.5 训练模型并生成预测 236
8.5.1 分类器的交互选择237
8.5.2 完成预测过程238
8.6 LIME 解释器 239
8.6.1 创建LIME 解释器240
8.6.2 阐释LIME 解释器242
8.7 本章小结247
8.8 习题.248
8.9 参考资料248
8.10 扩展阅读248
第9 章 反事实解释法 249
9.1 反事实解释法250
9.1.1 数据集和动机250
9.1.2 使用WIT 可视化反事实
距离251
9.1.3 使用默认视图探索数据点
距离253
9.1.4 反事实解释的逻辑258
9.2 距离函数的选项262
9.2.1 L1 范数263
9.2.2 L2 范数264
9.2.3 自定义距离函数265
9.3 深度学习模型的架构266
9.3.1 调用 WIT266
9.3.2 自定义预测函数267
9.3.3 加载 Keras 预训练模型268
9.3.4 检索数据集和模型269
9.4 本章小结270
9.5 习题270
9.6 参考资料271
9.7 扩展阅读271
第10 章 对比解释法(CEM) 273
10.1 CEM274
10.2 将CEM应用于MNIST276
10.2.1 安装Alibi 并导入模块276
10.2.2 导入模块和数据集276
10.3 定义和训练CNN 模型279
10.3.1 创建CNN 模型281
10.3.2 训练CNN 模型281
10.3.3 将原始图像与解码图像
进行比较285
10.4 相关负面 287
10.4.1 CEM 参数288
10.4.2 初始化CEM解释器289
10.4.3 相关负面的解释290
10.5 本章小结 291
10.6 习题. 292
10.7 参考资料 292
10.8 扩展阅读 293
第11 章 锚解释法295
11.1 锚解释法 296
11.1.1 预测收入296
11.1.2 新闻组分类299
11.2 对ImageNet 图像预测
应用锚解释法 300
11.2.1 安装Alibi 并导入其他
所需模块300
11.2.2 加载InceptionV3 模型301
11.2.3 下载图像301
11.2.4 处理图像并进行预测302
11.2.5 构建锚图像解释器303
11.2.6 解释其他类别306
11.2.7 锚解释法的局限性308
11.3 本章小结 309
11.4 习题 309
11.5 参考资料 310
11.6 扩展阅读 310
第12 章 认知解释法 311
12.1 基于规则的认知解释法 312
12.1.1 从XAI 工具到XAI 概念313
12.1.2 定义认知解释法313
12.1.3 实践认知解释法315
12.1.4 特征的边际贡献319
12.2 矢量化器的认知解释法322
12.2.1 解释LIME 的矢量化器323
12.2.2 解释 IMDb 的SHAP
矢量化器325
12.3 CEM 的人类认知输入327
12.4 本章小结 331
12.5 习题332
12.6 扩展阅读 332
习题答案333
|
內容試閱:
|
在当今的AI 时代,准确解释和传达可信的AI 结果,正成为一项需要掌握的关键技能。人类已经很难理解现代AI 里面的具体推理逻辑。就其本身而言,机器学习模型的结果往往证实是难以解释的,有时甚至无法解释。用户和开发人员都面临着一个挑战——怎样去解释AI 的决策是如何做出的以及AI 为何会做出这个决策。
AI 设计师不可能为数百种机器学习和深度学习模型设计出一个通用的可解释AI解决方案。若想有效地将AI 的决策内容解释给业务利益相关者听,我们需要个性化的规划、设计以及可视化方案。如果无法解释AI 的决策结果,可能会在欧洲和美国面临诉讼。但AI 开发人员在现实工作中会面临铺天盖地的数据和结果,如果没有合适的工具,几乎不可能从中找出对AI 所做决策的解释。
在本书中,你将学习使用Python 相关工具和技术来可视化、解释和集成可信的AI 结果,从而在提供业务价值的同时避免AI 偏见和道德伦理法律方面的常见问题。
本书将带你使用Python 和TensorFlow 2.x 亲身实践一个Python 机器学习项目。你将学习如何使用WIT、SHAP、LIME、CEM 和其他至关重要的可解释AI 工具。你将了解到由IBM、谷歌、微软和其他高级人工智能研究实验室设计的工具。
我们将向你介绍几个面向Python 的开源可解释AI 工具,它们可在整个机器学习项目生命周期中使用。你将学习如何探索机器学习模型结果,查看关键变量和变量关系,检测和处理偏见和道德伦理法律问题,使用Python 和可解释AI 工具对机器学习模型结果进行可视化分析和解释。
我们将使用Python、TensorFlow 2.x、Google Cloud 的XAI 平台和Google Colaboratory构建XAI 解决方案。
本书面向的读者群体
● 已经有一些基础知识和/或机器学习库(如scikit-learn)经验的初级Python 程序员。
● 已经将Python 用于数据科学、机器学习、研究、分析等目的的专业人士,你们可以在学习最新的可解释AI 开源工具包和技术的过程中受益。
● 想要了解Python 机器学习模型可解释AI 工具和技术的数据分析师和数据科学家。
● 必须面对AI 可解释性的合同和法律义务,以在验收和接受阶段应对道德伦理法律问题的AI 项目和业务经理。
● 想要设计出最终用户和法律系统都能理解的可信AI 的开发者、项目经理和顾问。
● 对无法解释的黑盒AI 已经调优到极限,希望通过可解释AI 工具更好地理解AI 来继续调优的AI 专家。
● 任何对可解释AI 感兴趣的人。AI 和XAI 技术将不断发展和变化。但基本道德和本书中介绍的XAI 工具仍将是未来AI 必不可少的组成部分。
本书内容
第1 章 使用Python 解释AI
这一章首先提到,我们无法只用一种方法就能向项目中的所有参与者概括可解释人工智能(XAI)。然后讲述了这么一个案例:当病人出现新冠、西尼罗河病毒或其他病毒的迹象时,全科医生和AI 如何确定疾病的起源?我们围绕这个案例使用Python、k近邻和Google Location History 从零开始构建了一个XAI 解决方案来追踪病人感染的起源。
第2 章 AI 偏差和道德方面的白盒XAI
AI 有时可能不得不做出生死攸关的决策。当自动驾驶汽车的自动驾驶系统检测到行人突然横穿马路,在来不及停车的情况下,应该做什么决策?
自动驾驶汽车能否在不撞到其他行人或车辆的情况下改变车道?这一章讲述了麻省理工学院的道德机器实验,以及一个使用决策树来做出现实生活中相关决策的Python 程序。
第3 章 用Facets 解释ML
机器学习是一个数据驱动的训练过程。然而,公司通常不能提供干净的数据,甚至无法提供启动项目所需的所有数据。此外,数据往往出自不同来源,且各种格式混杂在一起。机器学习模型包含复杂的数学,即使数据看起来可接受,也是如此。这样的机器学习项目从一开始就可能迅速成为一场噩梦。
这一章将在Google Colaboratory Jupyter Notebook 安装和运行Facets。Facets 提供了多种视图和工具来追踪扭曲机器学习模型结果的变量。通过它,我们可以可视化地找出原因,从而节省原本乏味的传统分析的时间。
第4 章 Microsoft Azure 机器学习模型的可解释性与SHAP
AI 设计师和开发人员需要花费数天时间来寻找符合项目规范的正确ML 模型。可解释AI 提供了有价值的、可以节省时间的信息。但是,没有人有时间为市场上的每一种ML 模型都开发一个可解释AI 解决方案!
所以我们需要一个通用的、与模型无关的可解释AI 解决方案。这一章所讲述的SHAP 就是一种与模型无关的可解释AI 解决方案。我们编写了利用SHAP 来提供对ML 模型的可视化图表和文字解释,能够显示哪些变量会影响具体的结果。
第5 章 从零开始构建可解释AI 解决方案
AI 在过去几年里发展如此之快,以至于道德伦理义务有时被忽视了。消除偏见已经成为AI生存的关键。基于种族或民族标准的ML决策在美国曾经是为公众所接受的。然而,我们现在有义务找出偏见并消除数据集中那些可能会造成歧视的特征。
这一章展示了如何用Google What-If Tool (WIT)和Facets 在Python 中消除偏见并建立一个合乎道德伦理的ML 系统。该程序从一开始就将道德伦理和法律参数考虑在内。
第6 章 用Google What-If Tool (WIT)实现AI 的公平性
Google PAIR(People AI Research)设计了What-If Tool(WIT)来研究AI 模型的公平性。这一章将带领我们深入了解可解释AI 并介绍一个Python 程序,该程序使用TensorFlow 创建一个深度神经网络(DNN),然后使用SHAP 解释程序并创建WIT 实例。
WIT 提供了ground truth、cost ratio 公平性,以及PR 曲线等可视化功能。该Python程序还展示了ROC 曲线、AUC、切片和PR 曲线是如何准确定位产生结果的变量的,从而呈现了如何使用WIT 这个AI 公平性和道德伦理工具来进行解释预测。
第7 章 可解释AI 聊天机器人
AI 的未来将越来越多地涉及机器人和聊天机器人。这一章展示了如何通过Google Dialogflow 针对聊天机器人提供CUI XAI。我们将通过与Google Dialogflow 通信的API来实现一个Google Dialogflow 的Python 客户端聊天机器人。
这样做的目标是模拟基于马尔可夫决策过程(MDP)决策XAI 的用户交互。我们将在Jupyter Notebook 模拟XAI 对话,并在Google Assistant 上测试该代理。
第8 章 LIME
这一章通过局部可解释与模型无关的解释(LIME)进一步探讨了与模型无关的解释方法。这一章展示了如何创建一个与模型无关的可解释AI Python 程序,该程序可以解释随机森林、k 近邻、梯度提升、决策树和极度随机树的预测结果。
使用Python 程序创建的LIME 解释器,因为与模型无关,所以对任意机器学习模型的结果都可以生成可视化的解释效果。
第9 章 反事实解释法
有时无法确定一个数据点没有按预期分类的原因。无论如何查看数据,我们都无法确定是哪一个或哪几个特征产生了错误。
可视化的反事实解释法可以将被错误分类的数据点特征与被正确分类的相似数据点特征进行对比,从而快速找到解释。
这一章中WIT 构建的Python 程序可以说明预测的可信度、真实性、合理解释和灵敏度。
第10 章 对比解释法(CEM)
这一章所使用的对比解释法(CEM)采用了与其他XAI 工具不一样的方法,通过缺失的特征来解释AI。
这一章创建的Python 程序为CEM准备MNIST 数据集,定义一个CNN,测试CNN的准确性,并且定义和训练自编码器。该程序创建一个CEM 解释器,它将提供相关负面和相关正面的可视化解释。
第11 章 锚解释法
讲到规则,我们通常会联想到硬编码的专家系统规则。但是,如果XAI 工具可以自动生成规则来解释结果呢?锚解释就是一组自动生成的高精度规则。
这一章我们将构建为文本和图像分类创建锚解释器的Python 程序。该程序可精确定位使模型改变、选择类别的图像像素。
第12 章 认知解释法
人类的认知能力为人类在过去几个世纪中取得的惊人的技术进步提供了框架,包括AI。这一章从人类认知视角出发,构建基于XAI 的认知规则库,阐述了如何构建认知词典和认知情感分析函数来解释特征。配套的Python 程序展示了如何测量边际认知贡献。
这一章总结了XAI 的本质,为读者构建了AI 的未来。
如何阅读本书
我们建议:
● 重点理解可解释AI (XAI) 的关键概念及它们会成为关键概念的原因。
● 如果你希望专注于XAI 理论,可以只阅读,但是不需要把代码执行一遍。
● 如果你希望同时了解理论和实现,那么请阅读并把代码执行一遍。
在线资源
书中的一些截图用彩色效果可能更佳,因为这样有助于你更好地理解输出中的变化。为此,我们专门制作了一份 PDF 文件。读者可通过使用手机扫描封底的二维码来下载这份 PDF 文件以及本书的附录、各章配套代码等所有在线资源。
|
|