提交 4c69e8e5 编写于 作者: wnma3mz's avatar wnma3mz

add mds

上级 fff27383
此差异已折叠。
# 第十章 引用本书
如果你发现这本书对你的博客文章、研究文章或产品有用,如果你能引用这本书,我将不胜感激。你可以这样引用这本书:
克里斯托夫·莫纳尔。”可解释的机器学习。《黑盒模型制作指南》,2019年。https://christophm.github.io/可解释的ml book/。
或使用以下bibtex条目:
@书号:Molnar2019,
标题=可解释机器学习,作者=Christoph Molnar,
注=\url https://christophm.github.io/interpretable mlbook/,
年份=2019,
subtitle=一个使黑匣子模型可解释的指南
我一直对解释方法在工业和研究中的使用位置和方式感到好奇。如果你用这本书作参考,那就太好了,如果你给我写一行,告诉我为什么。这当然是可选的,只是为了满足我自己的好奇心和激发有趣的交流。我的邮件是。
\ No newline at end of file
第十一章确认
写这本书很有趣。但这也是一个很大的工作,我很高兴我得到的支持。
我最大的感谢是凯特琳,她在工作时间和精力上都做得最辛苦:她从头到尾校对了这本书,发现了许多拼写错误和前后不一致的地方,我永远也找不到。我非常感谢她的支持。
非常感谢Verena Haunschmid撰写了这一部分。她在数据科学领域工作,我建议在Twitter上关注她:我也要感谢Github上的所有人!
此外,我还要感谢所有制作插图的人:封面是我朋友设计的。中的图形是由创建的,使用的图标来自于中关于由Verena Haunschmid设计的在中创建的图形。我要感谢所有允许我使用他们研究文章中的图片的研究人员。
至少在三个方面,我出版这本书的方式是非常规的。首先,它既可以作为网站,也可以作为电子书/pdf提供。我用来创建这本书的软件叫做Bookdown,由他编写,他创建了许多R包,可以很容易地将R代码和文本结合起来。谢谢!其次,我在平台上自行出版这本书,而不是与传统出版商合作。第三,我把这本书作为正在进行中的书出版,这极大地帮助了我获得反馈,并在这一过程中将其货币化。多亏了Leanpub使这成为可能,公平处理版税。
我也要感谢你,亲爱的读者,阅读这本没有大出版商的书。
感谢巴伐利亚州科学和艺术部在巴伐利亚数字化中心框架内资助我的可解释机器学习研究。
工具书类
“算法定义”。(2017年)。
Aamodt、Agnar和Enric广场。“基于案例的推理:基础问题、方法变化和系统方法。”人工智能通信7.1(1994):39-59。
阿尔贝托,T_lio C,约翰内斯诉洛克特,蒂亚戈·阿尔梅达。“TubeSpam:评论垃圾邮件过滤
YouTube,“在机器学习和应用(ICMLA)中,IEEE第14届国际会议,138-43。IEEE。(2015年)。
Alvarez Melis、David和Tommi S.Jaakkola。“关于解释方法的稳健性”,ARXIV预印ARXIV:1806.08049(2018)。
可视化黑盒监督学习模型中预测变量的影响〉,《ARXIV预印本:1612.08468》(2016)。
阿塔利、安尼和伊利亚·萨茨基弗。“合成强大的对抗性示例”,arxiv预印arxiv:1707.07397(2017)。
Biggio、Battista和Fabio Roli。“野生模式:对抗机器学习兴起十年后”,《模式识别》84(2018):317-331。
《随机森林》,机器学习45(1)。斯普林格:5-32(2001)。Brown,Tom B.等人“对抗补丁。”arxiv预印arxiv:1712.09665(2017)。
快速有效规则归纳〉,《机器学习程序》(1995年)。115-123页。
库克,R.丹尼斯。“线性回归中影响观察的检测”,《技术计量学》19.1(1977):15-18。
Doshi Velez,终曲,曾是Kim。“向可解释机器学习的严谨科学迈进”,ML:1-13。(2017年)。
Fanaee-t、Hadi和Joao Gama。“集成探测器与背景知识相结合的事件标记”,《人工智能进展》。施普林格柏林海德堡,1-15。(2013年)。
费尔南德斯、凯尔文、杰米·卡多索和杰西卡·费尔南德斯。“应用于宫颈癌筛查的部分可观察性转移学习”,伊比利亚模式识别和图像分析会议,243-50。斯普林格。(2017年)。
Fisher、Aaron、Cynthia Rudin和Francesca Dominici。“从‘拉森蒙’的角度来看,模型类依赖:任何机器学习模型类的可变重要性度量。”(2018年)。
Fokkema、Marjolein和Benjamin Christoffersen。“预:预测规则集合”。(2017年)。
Friedman、Jerome H和Bogdan E Popescu。“通过规则集合进行预测性学习”,《应用统计学年鉴》。Jstor,916–54。(2008年)。
贪婪函数近似:梯度增强机〉,《统计年鉴》(2001):1189-1232。
弗里德曼、杰罗姆、特雷弗·黑斯迪和罗伯特·提比西拉尼。“统计学习要素”。www.web.stanford.edu/~hassie/elemstatlearn/(2009年)。
F_rnkranz、Johannes、Dragan Gamberger和Nada Lavra_。“规则学习的基础”,斯普林格科学与商业媒体(2012年)。
Goldstein、Alex等。“包装‘冰箱’”(2017年)。
Goldstein、Alex等。“窥视黑盒子:用个体条件期望图可视化统计学习”,《计算和图形统计杂志》24.1(2015):44-65。
Goodfellow、Ian J、Jonathon Shlens和Christian Szegedy。“解释和利用敌对的例子”,arxiv预印arxiv:1412.6572(2014)。
Greenwell、Brandon M、Bradley C.Boehmke和Andrew J.McCarthy。“一个简单有效的基于模型的变量重要性度量”,arxiv预印arxiv:1805.04755(2018)。
海德、弗里茨和玛丽安·西梅尔。“表观行为的实验研究”,《美国心理学杂志》57(2)。JSTOR:243–59。(1944年)。
《机器学习》11.1(1993):63-90,〈非常简单的分类规则在最常用的数据集上表现良好〉。
贾尔斯·胡克。“发现黑盒函数中的加性结构”,第十届ACM Sigkdd知识发现和数据挖掘国际会议论文集。(2004年)。
卡尼曼、丹尼尔和阿莫斯·特沃斯基。“模拟启发式”,斯坦福大学CA心理学系。(1981年)。
考夫曼、伦纳德和彼得·卢梭。“通过类药物聚集”。北荷兰(1987)。
Kim、Be、Rajiv Khanna和Oluwasanmi O.Koyejo。“榜样不够,要学会批评!对可解释性的批评〉,《神经信息处理系统的进展》(2016年)。
Kim,Be等人“特征属性之外的可解释性:概念激活向量(TCAV)的定量测试。”ARXIV预印ARXIV:1711.11279(2017)。
Koh、庞伟和Percy Liang。“通过影响函数了解黑盒预测”,arxiv预印arxiv:1703.04730(2017)。
Laugel,Thibault等人“机器学习中基于比较的可解释性的逆向分类”,ARXIV预印ARXIV:1712.08443(2017)。
Letham,Benjamin等人“使用规则和贝叶斯分析的可解释分类器:建立更好的中风预测模型。”《应用统计学年鉴》9.3(2015):1350-1371。
彼得·利普顿。“对比解释”,《皇家哲学研究所补编》27(1990):247-266。
模型可解释性的神话〉,《arxiv预印arxiv:1606.03490》(2016)。
伦德伯格,斯科特和苏在李。“模型预测解释方法的意外统一”,ARXIV预印ARXIV:1611.07478(2016)。
马丁斯、大卫和福斯特教务长。“解释数据驱动文档分类。”(2014年)。
米勒,蒂姆。“人工智能的解释:社会科学的见解”,arxiv预印本:1706.07269。(2017年)。
Nguyen,Anh等人“即插即用生成网络:潜在空间图像的条件迭代生成”,《IEEE计算机视觉和模式识别会议论文集》。2017年。
Nguyen,Anh等人“通过深生成器网络合成神经网络中神经元的首选输入。”神经信息处理系统的进展。2016年。
确认偏差:在许多方面普遍存在的现象〉,《普通心理学评论》2(2)。教育出版基金会:175.(1998年)。
Olga Russakovsky、Jia Deng、Hao Su、Jonathan Krause、Sanjeev Satheesh、Sean Ma、Zhiheng Huang、Andrej Karpathy、Aditya Khosla、Michael Bernstein、Alexander C.Berg和Li Fei Fei。(*=贡献均等)ImageNet大规模视觉识别挑战。IJCV,2015年
Papernot,Nicolas等人“针对机器学习的实际黑盒攻击”,《2017年亚洲计算机与通信安全会议论文集》。ACM(2017年)。
Ribeiro、Marco Tulio、Sameer Singh和Carlos Guestrin。“锚:高精度模型不可知论解释”,AAAI人工智能会议(2018)。
Ribeiro、Marco Tulio、Sameer Singh和Carlos Guestrin。“机器学习的模型不可知论可解释性”,ICML机器学习中的人类可解释性研讨会。(2016年)。
Ribeiro、Marco Tulio、Sameer Singh和Carlos Guestrin。“我为什么要相信你?:解释任何分类器的预测〉,《第22届ACM Sigkdd知识发现和数据挖掘国际会议论文集》。ACM(2016年)。
劳埃德S.沙普利,“n人博弈的价值”,《博弈论的贡献》2.28(1953):307-317。
Staniak、Mateusz和Przemyslaw Biecek。“使用实时和故障包的模型预测说明”,ARXIV预印ARXIV:1804.01955(2018)。
苏、加威、达尼洛·瓦斯卡塞洛斯·瓦加斯和樱井。“愚弄深度神经网络的单像素攻击”,《IEEE进化计算汇刊》(2019年)。
Szegedy,Christian等人“神经网络的有趣特性”,arxiv预印arxiv:1312.6199(2013)。
瓦赫特、桑德拉、布伦特·米特斯塔特和克里斯·拉塞尔。“不打开黑匣子的反事实解释:自动决策和GDPR。”(2017)。
杨、洪宇、辛西娅·鲁丁和玛戈·塞尔茨。“可扩展贝叶斯规则列表”,《第34届国际机器学习会议论文集》第70卷。jmlr.组织,2017年。
赵、清远和特雷弗·黑斯迪。“黑匣子模型的因果解释”,《商业与经济统计杂志》即将出版。(2017年)。
_Trumbelj、Erik和Igor Kononenko。“一种可视化和解释黑盒回归模型的一般方法”,在国际自适应和自然计算算法会议上,21-30。斯普林格。(2011年)。
_Trumbelj、Erik和Igor Kononenko。“用特征贡献解释预测模型和个人预测”,知识和信息系统41.3(2014):647-665。
用于示例的R包
基础。R核心团队(2017年)。R:统计计算的语言和环境。R统计计算基金会,奥地利维也纳。统一资源定位地址
数据表。Matt Dowle和Arun Srinivasan(2019年)。data.table:data.frame的扩展。R包版本1.12.2。
普里尔。Hadley Wickham、Romain Fran_ois、Lionel Henry和Kirill M_ller(2019年)。数据处理语法。R包版本0.8.3。
**ggplot2**. Hadley Wickham, Winston Chang, Lionel Henry, Thomas Lin Pedersen, Kohske Takahashi, Claus Wilke, Kara Woo and Hiroaki Yutani (2019). ggplot2: Create Elegant Data Visualisations Using the Grammar of Graphics. R package version 3.2.0. <https://CRAN.R-project.org/package=ggplot2>
**iml**. Christoph Molnar (2019). iml: Interpretable Machine Learning. R package version 0.9.0. [https:// ](https://CRAN.R-project.org/package=iml)[CRAN.R-project.org/package=iml](https://CRAN.R-project.org/package=iml)
**knitr**. Yihui Xie (2019). knitr: A General-Purpose Package for Dynamic Report Generation in R. R package version 1.23. <https://CRAN.R-project.org/package=knitr>
**libcoin**. Torsten Hothorn (2019). libcoin: Linear Test Statistics for Permutation Inference. R package version 1.0-4. <https://CRAN.R-project.org/package=libcoin>
**memoise**. Hadley Wickham, Jim Hester, Kirill Müller and Daniel Cook (2017). memoise:
Memoisation of Functions. R package version 1.1.0. <https://CRAN.R-project.org/package=memoise>
**mlr**. Bernd Bischl, Michel Lang, Lars Kotthoff, Julia Schiffner, Jakob Richter, Zachary Jones, Giuseppe Casalicchio, Mason Gallo and Patrick Schratz (2019). mlr: Machine Learning in R. R package version 2.14.0. <https://CRAN.R-project.org/package=mlr>
**mvtnorm**. Alan Genz, Frank Bretz, Tetsuhisa Miwa, Xuefei Mi and Torsten Hothorn (2019). mvtnorm: Multivariate Normal and t Distributions. R package version 1.0-11. [https://CRAN.R-project.org/ ](https://CRAN.R-project.org/package=mvtnorm)[package=mvtnorm](https://CRAN.R-project.org/package=mvtnorm)
**NLP**. Kurt Hornik (2018). NLP: Natural Language Processing Infrastructure. R package version
0.2-0. <https://CRAN.R-project.org/package=NLP>
**ParamHelpers**. Bernd Bischl, Michel Lang, Jakob Richter, Jakob Bossek, Daniel Horn and Pascal
Kerschke (2019). ParamHelpers: Helpers for Parameters in Black-Box Optimization, Tuning and Machine Learning. R package version 1.12. <https://CRAN.R-project.org/package=ParamHelpers>
**partykit**. Torsten Hothorn and Achim Zeileis (2019). partykit: A Toolkit for Recursive Partytioning. R package version 1.2-4. <https://CRAN.R-project.org/package=partykit>
**pre**. Marjolein Fokkema and Benjamin Christoffersen (2019). pre: Prediction Rule Ensembles. R package version 0.7.1. <https://CRAN.R-project.org/package=pre>
**readr**. Hadley Wickham, Jim Hester and Romain Francois (2018). readr: Read Rectangular Text Data. R package version 1.3.1. <https://CRAN.R-project.org/package=readr>
**rpart**. Terry Therneau and Beth Atkinson (2019). rpart: Recursive Partitioning and Regression Trees. R package version 4.1-15. <https://CRAN.R-project.org/package=rpart>
**tidyr**. Hadley Wickham and Lionel Henry (2019). tidyr: Easily Tidy Data with ‘spread()’ and ‘gather()’ Functions. R package version 0.8.3. <https://CRAN.R-project.org/package=tidyr>
**tm**. Ingo Feinerer and Kurt Hornik (2018). tm: Text Mining Package. R package version 0.7-6. [https:// ](https://CRAN.R-project.org/package=tm)[CRAN.R-project.org/package=tm](https://CRAN.R-project.org/package=tm)
**viridis**. Simon Garnier (2018). viridis: Default Color Maps from ‘matplotlib’. R package version 0.5.1. <https://CRAN.R-project.org/package=viridis>
**viridisLite**. Simon Garnier (2018). viridisLite: Default Color Maps from ‘matplotlib’ (Lite Version). R
package version 0.3.0. <https://CRAN.R-project.org/package=viridisLite>
\ No newline at end of file
此差异已折叠。
# 第三章 数据集
在这本书中,所有的模型和技术都被应用于在线免费提供的真实数据集。我们将为不同的任务使用不同的数据集:分类、回归和文本分类。
3.1自行车租赁(回归)
此数据集包含华盛顿自行车租赁公司租赁自行车的每日计数,以及天气和季节信息。这些数据是由首都比克夏公开提供的。Fanaee-T和Gama(2013)增加了天气数据和季节信息。我们的目标是根据天气和一天的不同来预测租多少辆自行车。数据可以从下载。
新特性被添加到数据集中,并不是所有的原始特性都被用于本书中的示例。以下是使用的功能列表:
• 包括临时和注册用户在内的自行车数量。计数用作回归任务的目标。
• 春天、夏天、秋天或冬天。
• 指示当天是否为假日。
• 2011年或2012年。
• 自2011年1月1日(数据集中的第一天)起的天数。引入此功能是为了考虑随时间变化的趋势。
• 指示当天是工作日还是周末。
• 那天的天气情况。什么之中的一个:
晴朗,少云,部分多云,多云
雾+云,雾+碎云,雾+少云,雾
小雪、小雨+雷雨+散云、小雨+散云
大雨+冰盘+雷雨+薄雾、雪+薄雾
• 温度(摄氏度)。
• 相对湿度百分比(0到100)。
• 风速,单位:km/h。
对于本书中的例子,数据已经过了一些处理。您可以在本书中找到处理脚本和
![img](file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif)
1。Fanaee-t、Hadi和Joao Gama。“集成探测器与背景知识相结合的事件标记”,《人工智能进展》。施普林格柏林海德堡,1-15。(2013年)。
3.2 YouTube垃圾邮件评论(文本分类)
作为文本分类的一个例子,我们使用了来自5个不同YouTube视频的1956条评论。值得庆幸的是,在一篇关于垃圾邮件分类的文章中使用此数据集的作者制作了这些数据(Alberto、Lochter和Almeida(2015年)。
这些评论是在2015年上半年通过YouTube API从YouTube上观看最多的十个视频中的五个收集的。所有5个都是音乐视频。其中之一是韩国艺术家psy的“江南风格”。其他的艺术家是凯蒂·佩里、lmfao、eminem和夏奇拉。
签出一些评论。这些评论被手动标记为垃圾邮件或合法。垃圾邮件用“1”编码,合法评论用“0”编码。
内容类
嗯,不管怎样,看看这个你[管]频道:Kobyoshi02 1
嘿,伙计们,看看我的新频道,我们的第一个视频,这是我们,猴子!!!!我是
1只穿白衬衫的猴子,请留言并订阅!!!!!
为了测试,我必须说murdev.com 1我在我的频道上摇着我性感的屁股享受^^1手表?v=vtarggvgtwq检查。1
嘿,看看我的新网站!!这个网站是关于儿童的。Kidsmediausa。COM 1
订阅我的频道1我一打开它就静音。我一打开它就只想查看视图…0
你应该看看我的频道有没有搞笑的视频!!1和u应该检查我的频道,告诉我下一步该怎么做!一
你也可以去YouTube看看评论部分。但请不要被YouTube地狱抓到,最后看的是猴子从海滩上的游客那里偷喝鸡尾酒的视频。自2015年以来,谷歌垃圾邮件探测器也可能发生了很大变化。
.
如果您想玩弄这些数据,可以在书的Github存储库中找到随和的一些便利功能。
![img](file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.gif)
1。阿尔贝托,T_lio C,约翰内斯诉洛克特,蒂亚戈·阿尔梅达。“TubeSpam:评论YouTube上的垃圾邮件过滤”,在机器学习和应用(ICMLA)中,IEEE第14届国际会议,138-43。IEEE。(2015年)。
3.3宫颈癌危险因素(分类)
宫颈癌数据集包含预测女性是否会患宫颈癌的指标和危险因素。这些特征包括人口统计学数据(如年龄)、生活方式和病史。数据可从下载,并由Fernandes、Cardoso和Fernandes(2017)描述。
本书示例中使用的数据功能子集包括:
• 年龄(年)
• 性伴侣数量
• 第一次性交(岁)
• 怀孕次数
• 吸烟是还是不
• 吸烟(以年计)
• 激素避孕药是或否
• 激素避孕药(以年计)
• 宫内节育器是或否(宫内节育器)
• 使用宫内节育器(IUD)的年数
• 患者是否患有性传播疾病(STD)是或否
• 性病诊断次数
• 第一次性病诊断后的时间
• 上次性病诊断以来的时间
• 活检结果为“健康”或“癌症”。目标结果。
活检是诊断宫颈癌的金标准。对于本书中的例子,活检结果被用作目标。每列的缺失值都是由模式(最频繁的值)输入的,这可能是一个坏的解决方案,因为真正的答案可能与缺失值的概率相关。可能存在偏见,因为这些问题是非常私人的。但这并不是一本关于缺失数据插补的书,因此模式插补必须足以作为例子。
要使用此数据集复制本书的示例,请在本书的Github存储库中找到和。
![img](file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image003.gif)
1。费尔南德斯、凯尔文、杰米·卡多索和杰西卡·费尔南德斯。“应用于宫颈癌筛查的部分可观察性转移学习”,伊比利亚模式识别和图像分析会议,243-50。斯普林格。(2017年)。
\ No newline at end of file
此差异已折叠。
此差异已折叠。
此差异已折叠。
# 第七章 神经网络解释
本章目前仅在Web版本中可用。接下来是电子书和印刷品。
接下来的章节重点介绍神经网络的解释方法。这些方法将神经网络学习到的特征和概念可视化,解释个别的预测并简化神经网络。
深度学习非常成功,尤其是在涉及图像和文本的任务中,如图像分类和语言翻译。深度神经网络的成功故事始于2012年,当时图像网图像分类挑战是通过深度学习方法赢得的。从那时起,我们见证了寒武纪深层神经网络体系结构的爆炸,随着越来越多的权重参数向深层网络发展。
为了用神经网络进行预测,输入的数据通过多层乘法和非线性变换传递。根据神经网络的结构,单个预测可能涉及数百万个数学运算。我们人类不可能遵循从数据输入到预测的精确映射。为了理解神经网络的预测,我们必须考虑数百万个以复杂方式相互作用的权重。为了解释神经网络的行为和预测,我们需要具体的解释方法。本章假设您熟悉深度学习,包括卷积神经网络。
我们当然可以使用如或的方法,但有两个原因可以解释为什么要考虑专门为神经网络开发的解释方法:首先,神经网络学习隐藏层中的特征和概念,我们需要特殊的工具来发现它们。第二,梯度可以用来实现比模型不可知论方法(从外部看模型)更有效的解释方法。另外,本书中的大多数其他方法都是为了解释表格数据的模型。图像和文本数据需要不同的方法。
下一章包括以下主题:
• :神经网络学习了哪些功能?从与功能可视化密切相关的:我们如何操作输入以获得错误的分类?
• (进行中):神经网络学习了哪些更抽象的概念?
• (进行中):每个输入是如何促进特定预测的?
• (进行中):我们如何用更简单的模型解释神经网络?
![img](file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image003.gif)
1。奥尔加·鲁萨科夫斯基、贾邓、郝苏、乔纳森·克劳斯、桑吉夫·萨蒂什、肖恩·马,
黄志恒,卡尔帕蒂,科斯拉,伯恩斯坦,伯格和李
菲菲。(*=贡献均等)ImageNet大规模视觉识别挑战。IJCV,
二千零一十五
7.1功能可视化
本章目前仅在Web版本中可用。接下来是电子书和印刷品。
卷积神经网络从原始图像像素学习抽象特征。特征可视化方法的目的是通过生成最大限度地激活训练卷积神经网络单元的图像来实现这些特征的可视化。
深层神经网络的最大优点之一是它们能自动学习隐藏层中的高级特征。这部分地减少了对特性工程的需求。假设您希望使用支持向量机构建图像分类器。原始像素矩阵不是培训SVM的最佳输入,因此您可以创建基于颜色、频域、边缘检测器等的新功能。利用卷积神经网络,将图像以原始形式(像素)送入网络,进行多次变换,首先通过多个卷积层,然后通过完全连接的层,并转化为分类或预测。在训练过程中,卷积神经网络在其层次上学习新的、越来越复杂的特征。
图7.1:通过在ImageNet数据上训练的卷积神经网络(起始v1)学习的特征。这些特征包括从低卷积层(左)中的简单特征到高卷积层(右)中的更抽象特征。来自Olah等人的图2017年(CCBY 4.0)。
• 第一个卷积层学习边缘和简单纹理等特征。
• 后来卷积层学习更复杂的纹理和图案等特征。
• 最后一个卷积层学习对象或对象部分等特征。
• 完全连接的层学习将激活从高级功能连接到要预测的单个类。
凉爽的。但我们如何才能真正得到这些幻觉图像呢?
使学习的特征显式化的方法称为特征可视化。神经网络的一个单元的特征可视化是通过找到最大限度地激活该单元的输入来实现的。“单位”是指单个神经元、整个特征图、整个(卷积)层或分类中的最终类概率(或推荐的相应的前Softmax神经元)。单个神经元是网络的原子单位,因此我们可以通过为每个神经元创建特征可视化来获取最多的信息。但有一个问题:神经网络通常包含数百万个神经元,观察每个神经元的特征可视化需要很长时间。通道(有时称为激活映射)作为单元是功能可视化的一个很好的选择。我们可以更进一步,想象一个完整的卷积层。层作为一个单元被用于谷歌的deepdream,它反复地将一个层的可视化特性添加到原始图像中,从而产生一个梦幻般的输入版本。
图7.2:可以对不同的单元进行功能可视化。a)卷积神经元,b)
卷积通道,c)卷积层,d)神经元,e)隐层,f)类概率神经元(或对应的前Softmax神经元)
7.1.1优化功能可视化
在数学术语中,特征可视化是一个优化问题。我们假设神经网络的权重是固定的,这意味着网络是经过训练的。我们正在寻找一个新的图像,它可以最大化一个单元的(平均)激活,这里是一个神经元:
\[img^*=\arg\max img h n,x,y,z(img)\]
函数(h)是神经元的激活,img是网络的输入(图像),x和y描述神经元的空间位置,n指定层,z是通道索引。对于n层中整个通道z的平均激活,我们最大化:
\[img^*=\arg\max img \ sum x,y h n,x,y,z(img)\]
在这个公式中,Z通道中的所有神经元都具有相同的权重。或者,你也可以最大化随机方向,这意味着神经元将被不同的参数所乘,包括负方向。通过这种方式,我们研究神经元如何在通道内相互作用。除了最大化激活,您还可以最小化激活(对应于最大化负方向)。有趣的是,当你把负方向最大化时,你会得到同一个单元非常不同的特性:
图7.3:混合层4d pre relu中起始v1神经元484的正(左)和负(右)激活。当神经元被轮子最大限度地激活时,似乎有眼睛的东西会产生负的激活。代码:
我们可以用不同的方法来解决这个优化问题。首先,我们为什么要生成新的图像?我们可以简单地搜索我们的训练图像,并选择那些最大化激活的图像。这是一种有效的方法,但是使用训练数据有一个问题,即图像上的元素可以相互关联,我们看不到神经网络真正在寻找什么。如果某个通道的高激活率图像显示狗和网球,我们不知道神经网络是看狗还是看网球,或者两者都看。
另一种方法是从随机噪声开始生成新的图像。为了获得有意义的可视化效果,通常对图像有限制,例如只允许进行小的更改。为了减少特征可视化中的噪声,可以在优化步骤之前对图像应用抖动、旋转或缩放。其他正则化选项包括频率惩罚(例如减少相邻像素的方差)或生成具有已知优先级的图像,例如生成对抗网络(gans)或去噪自动编码器。
图7.4:从随机图像到最大化激活的迭代优化。Olah等人2017年(CC-BY 4.0)
7.1.2与对抗性示例的连接
在特征可视化和两种技术之间有一个联系,即最大限度地激活神经网络单元。对于对抗性的例子,我们寻找对抗性(错误)类神经元的最大激活。一个区别是我们从图像开始:对于对抗性的例子,它是我们想要为其生成对抗性图像的图像。对于特征可视化,根据方法,它是随机噪声。
7.1.3文本和表格数据
本文主要研究卷积神经网络在图像识别中的特征可视化。从技术上讲,没有什么可以阻止您找到最大限度地激活表格数据完全连接的神经网络的神经元或文本数据的循环神经网络的输入。您可能不再称它为功能可视化,因为“功能”将是表格数据输入或文本。对于信用违约预测,输入可能是先前信用的数量、移动合同的数量、地址和几十个其他功能。一个神经元的习得特征将是几十个特征的某种组合。对于复发性神经网络而言,更好地可视化网络学习的内容:Karpathy等人(2015年)表明,复发性神经网络确实具有学习可解释特征的神经元。他们训练了一个角色级别的模型,该模型从前面的角色预测序列中的下一个角色。一旦出现一个开放性支撑“(发生时,其中一个神经元被高度激活,并在匹配的闭合支架时被解除激活”)。其他的神经元在一条线的末端激发。一些神经元在URL中激活。与CNN的特征可视化不同的是,这些例子是通过优化发现的,但是通过研究训练数据中的神经元激活。
7.1.4优势
• 特征可视化使人们对神经网络的工作有了独特的认识,特别是对于图像识别。鉴于神经网络的复杂性和不透明性,特征可视化是分析和描述神经网络的重要步骤。通过特征可视化,我们了解到神经网络首先学习简单的边缘和纹理检测器以及更高层次的抽象部分和对象。
• 特征可视化是一个很好的工具,可以以一种非技术性的方式交流神经网络的工作方式。
• 特征可视化可以与特征属性方法相结合,解释哪些像素对分类很重要。这两种方法的结合可以解释单个分类,以及与分类相关的学习特性的局部可视化。见
• 最后,功能可视化可以制作出很好的桌面壁纸和T恤。
7.1.5缺点
• 许多特征可视化图像是完全无法解释的,但包含一些抽象的特征,我们没有文字或心理概念。功能可视化和培训数据的显示会有所帮助。这些图像可能还不能揭示神经网络的反应,只能显示“也许图像中一定有黄色的东西”。
• 有太多的单元需要查看,即使“仅”可视化通道激活。对于初始版本1,已经有超过5000个来自9个卷积层的信道。如果您还想显示负激活加上一些训练数据中最大或最小激活频道的图像(比如4个正、4个负图像),那么您必须已经显示超过50000个图像。你甚至还没有开始研究随机的方向或者为激活频道创建一组不同的多个图像。
• 可解释性错觉?这些图像可以传达一种错觉,即我们理解神经网络在做什么。但是我们真的了解神经网络里发生了什么吗?即使我们看到成百上千的特征可视化,我们也无法理解神经网络。神经网络仍然是不可理解的:神经元以复杂的方式相互作用,正激活和负激活是不相关的,多个神经元可能学习非常相似的特征,对于许多特征,我们没有同等的人类概念。我们不能陷入相信我们完全理解神经网络的陷阱,因为我们相信我们看到第7层的349神经元被雏菊激活。
7.1.6软件和其他材料
功能可视化有一个开源实现,叫做你可以通过使用LucidGithub页面上提供的笔记本链接在你的浏览器中方便地尝试它。不需要额外的软件。
如果你想更深入地研究功能可视化,可以看看district.pub在线期刊,尤其是Olah等人的功能可视化文章。从中我使用了许多图像,以及关于可解释性的构建块。
![img](file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif)
\1. Nguyen,Anh等人“通过DeepGenerator网络合成神经网络中神经元的首选输入。”神经信息处理系统的进展。2016。
\2. Nguyen,Anh等人“即插即用生成网络:潜在空间中图像的条件迭代生成”,《IEEE计算机视觉和模式识别会议论文集》。2017。
\3. Karpathy、Andrej、Justin Johnson和Li Fei Fei。“可视化和理解递归网络”,arxiv预印arxiv:1506.02078(2015)。
\4. Olah等人,“特征可视化”,蒸馏,2017年。
\5. Olah,et al.,“可解释性的基石”,蒸馏,2018年。
\ No newline at end of file
# 第八章 水晶球
可解释机器学习的未来是什么?这一章是一个推测性的心理练习和一个主观的猜测如何解释机器学习将发展。我以相当悲观的态度打开了这本书,并希望以一种更加乐观的态度结束这本书。
我的“预测”基于三个前提:
\1. 数字化:任何(有趣的)信息都将数字化。想想电子现金和在线交易。想想电子书、音乐和视频。想想关于我们的环境、人类行为、工业生产过程等的所有感官数据。所有东西数字化的驱动因素包括:廉价的计算机/传感器/存储、规模效应(赢家全力以赴)、新的商业模式、模块化的价值链、成本压力等等。
\2. 自动化:当一个任务可以被自动化,并且自动化的成本低于一段时间内执行该任务的成本时,该任务将被自动化。甚至在引进计算机之前,我们已经有了一定程度的自动化。例如,织机自动编织或蒸汽机自动马力。但是计算机和数字化将自动化带到了下一个层次。简单地说,您可以编程forloops、编写Excel宏、自动化电子邮件响应等等,这就显示了个人可以自动化的程度。自动售票机可以自动购买火车票(不再需要出纳),洗衣机可以自动洗衣,定期订单可以自动付款等。自动化任务可以腾出时间和金钱,因此有一个巨大的经济和个人动机来实现自动化。我们目前正在观察语言翻译、驾驶的自动化,甚至在很小程度上观察科学发现。
\3. 错误的指定:我们不能用它的所有约束完美地指定一个目标。想象一个瓶子里的精灵,它总是按照字面意思表达你的愿望:“我想成为世界上最富有的人!“->你成为最富有的人,但作为副作用,你持有的货币因通货膨胀而崩溃。
“我想快乐地度过余生!“->在接下来的5分钟里,你感到非常高兴,然后精灵杀死了你。
“我祝愿世界和平!“->精灵杀死所有人。
我们错误地指定目标,要么是因为我们不知道所有的约束,要么是因为我们无法度量它们。让我们把公司看作是不完善目标规范的一个例子。公司的简单目标是为股东赚钱。但是,这个规范并没有捕捉到真正的目标和我们真正努力追求的所有约束:例如,我们不欣赏一家公司为了赚钱而杀人,毒害河流,或者仅仅打印自己的钱。我们发明了法律、法规、制裁、合规程序、工会等来修补不完善的目标规范。另一个你可以亲身体验的例子是一个游戏,你玩一台机器,目的是生产尽可能多的回形针。警告:它会上瘾。我不想把它搞得太糟,但让我们说事情很快就失控了。在机器学习中,目标规范中的缺陷来自不完善的数据抽象(偏态总体、测量误差等)、不受约束的损失函数、对约束缺乏了解、训练数据和应用数据之间分布的转移等等。
数字化正在推动自动化。不完善的目标规范与自动化冲突。我声称,这种冲突部分是通过解释方法来调解的。
我们预测的舞台已经准备好了,水晶球已经准备好了,现在我们来看看这个领域的发展方向!
8.1机器学习的未来
没有机器学习就没有可解释的机器学习。因此,在讨论可解释性之前,我们必须猜测机器学习的方向。
机器学习(或“人工智能”)与许多承诺和期望有关。但是,让我们从一个不那么乐观的观察开始:虽然科学开发了许多奇特的机器学习工具,但根据我的经验,很难将它们集成到现有的过程和产品中。不是因为这不可能,而是因为公司和机构需要时间来赶上。在当前人工智能炒作的淘金热中,公司开设了“人工智能实验室”、“机器学习单元”和“数据科学家”、“机器学习专家”、“人工智能工程师”等等,但现实是,在我的经验中,相当令人沮丧。通常情况下,公司甚至没有所需格式的数据,数据科学家们会等待数月。有时公司对人工智能和数据科学有如此高的期望,因为媒体使得数据科学家永远无法实现它们。通常没有人知道如何将数据科学家整合到现有的结构和许多其他问题中。这导致了我的第一个预言。
机器学习会缓慢而稳定地成长。
数字化正在推进,自动化的诱惑也在不断地拉动。即使机器学习采用的道路是缓慢和坚如磐石的,机器学习也在不断地从科学转向商业过程、产品和现实世界的应用。
我认为我们需要更好地向非专家解释什么类型的问题可以被表述为机器学习问题。我认识许多高薪的数据科学家,他们通过报表和SQL查询来执行Excel计算或经典的商业智能,而不是应用机器学习。但一些公司已经成功地使用了机器学习,而大型互联网公司则处于最前沿。我们需要找到更好的方法将机器学习整合到流程和产品中,培训人员并开发易于使用的机器学习工具。我相信机器学习将变得更加容易使用:我们已经看到机器学习变得越来越容易使用,例如通过云服务(“机器学习作为一种服务”),只需在周围添加一些流行词。一旦机器学习成熟了——这个刚学走路的孩子已经迈出了第一步——我的下一个预测是:
机器学习会带来很多东西。
根据“任何可以自动化的东西都是自动化的”的原则,我得出结论,只要可能,任务将被制定为预测问题,并通过机器学习来解决。机器学习是自动化的一种形式,或者至少可以是其中的一部分。目前由人类执行的许多任务都被机器学习所取代。以下是一些任务示例,其中机器学习用于自动化部分任务:
• 文件的整理/决策/完成(如保险公司、立法部门或咨询公司)
• 数据驱动的决策,如信贷应用程序
• 药物发现
• 装配线的质量控制
• 自动驾驶汽车
• 疾病诊断
• 翻译。在这本书中,我使用了一个名为(由深度神经网络支持的)的翻译服务,通过将句子从英语翻译成德语,然后再翻译成英语来改进我的句子。
• …
机器学习的突破不仅是通过更好的计算机/更多的数据/更好的软件实现的,还包括:
可解释性工具促进机器学习的采用。
基于机器学习模型的目标永远不能被完美地指定的前提,可以解释的机器学习是必要的,以弥补错误指定和实际目标之间的差距。在许多领域和部门,可解释性将成为采用机器学习的催化剂。一些轶事证据:我和许多人交谈过,他们不使用机器学习,因为他们不能向其他人解释模型。我相信,可解释性将解决这个问题,使机器学习对需要某种透明度的组织和人员具有吸引力。除了对问题的错误描述,许多行业还需要可解释性,无论是出于法律原因,还是出于风险规避,或是为了深入了解基础任务。
机器学习使建模过程自动化,使人类远离数据和底层任务:这增加了实验设计、培训分布选择、采样、数据编码、特征工程等问题的风险。解释工具使识别这些问题更加容易。
8.2可解释性的未来
让我们来看看机器学习可解释性可能的未来。
重点是模型不可知论解释工具。
当它与底层机器学习模型分离时,自动化可解释性就容易得多。模型不可知解释的优点在于其模块性。我们可以很容易地替换底层的机器学习模型。我们可以很容易地取代解释方法。基于这些原因,模型不可知论方法将有更好的扩展性。这就是为什么我相信模型不可知论方法将在长期内变得更占主导地位。但本质上可解释的方法也会有一席之地。
机器学习将是自动化的,有了它,就可以解释。
一个已经明显的趋势是模型培训的自动化。这包括自动化工程和特性选择、自动超参数优化、不同模型的比较以及模型的集成或叠加。结果是最佳预测模型。当我们使用模型不可知论解释方法时,我们可以自动将它们应用于从自动化机器学习过程中出现的任何模型。在某种程度上,我们也可以自动化第二步:自动计算特征重要性、绘制部分依赖关系、训练代理模型等等。没有人阻止您自动计算所有这些模型解释。实际的解释仍然需要人。想象一下:你上传一个数据集,指定预测目标,然后按下一个按钮,最佳的预测模型就会得到训练,程序会给出模型的所有解释。已经有了第一批产品,我认为对于许多应用程序来说,使用这些自动化机器学习服务就足够了。今天,任何人都可以在不了解HTML、CSS和JavaScript的情况下创建网站,但周围仍然有许多Web开发人员。同样,我相信每个人都可以在不知道如何编程的情况下训练机器学习模型,而且仍然需要机器学习专家。
我们不分析数据,我们分析模型。
原始数据本身总是无用的。(我故意夸大。事实上,你需要对数据有一个深刻的理解来进行有意义的分析。)我不关心数据;我关心数据中包含的知识。可解释机器学习是从数据中提取知识的一种很好的方法。您可以广泛地探测模型,模型自动识别特征是否和如何与预测相关(许多模型都有内置的特征选择),模型可以自动检测关系的表示方式,如果经过正确的训练,最终模型是一个非常很好地接近现实。
许多分析工具已经基于数据模型(因为它们基于分布假设):
• 像学生t检验一样的简单假设检验。
• 调整混杂因素的假设检验(通常是GLMS)
• 方差分析(方差分析)
• 相关系数(标准化线性回归系数与
皮尔逊相关系数)
• …
我在这里告诉你的并不是什么新鲜事。那么,为什么要从分析基于假设的透明模型转向分析无假设的黑盒模型呢?因为做出所有这些假设都是有问题的:它们通常是错误的(除非你相信世界上大多数地方都遵循高斯分布),难以检查,非常不灵活,很难自动化。在许多领域,基于假设的模型对未接触测试数据的预测性能通常比黑盒机器学习模型差。这只适用于大数据集,因为具有良好假设的可解释模型在小数据集上的性能通常比黑盒模型好。黑盒机器学习方法需要大量的数据才能很好地工作。随着所有事物的数字化,我们将拥有更大的数据集,因此机器学习的方法变得更具吸引力。我们不做假设,我们尽可能接近现实(同时避免过度拟合训练数据)。我认为我们应该开发统计学中的所有工具来回答问题(假设测试、相关度量、交互度量、可视化工具、置信区间、p值、预测区间、概率分布),并将它们改写为黑盒模型。在某种程度上,这已经发生了:
• 让我们采用一个经典的线性模型:标准化回归系数已经是一个重要的度量。有了,我们就有了一个可以与任何模型一起工作的工具。
• 在线性模型中,系数测量单个特征对预测结果的影响。这个的广义版本是。
• 测试A或B是否更好:为此,我们也可以使用偏相关函数。我们还没有(据我所知)对任意黑盒模型进行统计测试。
数据科学家将自动进行处理。
我相信,对于许多分析和预测任务,数据科学家最终会自动完成他们的工作。为了实现这一点,任务必须定义得很好,并且周围必须有一些流程和例程。如今,这些程序和过程已经不复存在,但数据科学家和同事们正在研究它们。随着机器学习成为许多行业和机构不可或缺的一部分,许多任务将自动化。
机器人和程序会自我解释。
我们需要更多直观的机器和程序接口,以充分利用机器学习。一些例子:一辆自动驾驶的汽车,它报告为什么突然停止(“70%的可能性,一个孩子会过马路”);一个信用违约程序,解释了为什么信用申请被拒绝(“申请人有太多的信用卡,并受雇于一个不稳定的工作)。“);一个机器人手臂,解释了为什么它将物品从传送带移到垃圾箱中(“物品底部有一种热”)。
可解释性可以促进机器智能研究。
我可以想象,通过对程序和机器如何解释自己进行更多的研究,我们可以提高对智能的理解,并更好地创建智能机器。
最后,所有这些预测都是推测,我们必须看看未来到底会带来什么。形成自己的观点,继续学习!
\ No newline at end of file
# 第九章 贡献
感谢您阅读我的关于可解释机器学习的书。这本书正在不断地发展。它将随着时间的推移而改进,并将添加更多章节。非常类似于软件的开发方式。
这本书的所有文本和代码都是开源的。在Github页面上,您可以建议进行修复,如果发现错误或丢失某些内容。
如果你想提供更多的帮助,问题页面也是解决问题的最佳地方,也是一个为这本书做出贡献的好方法。如果您对更大的贡献感兴趣,请给我发一条信息,告诉我您的具体想法:
\ No newline at end of file
# 可解释机器学习
### *黑盒模型制作指南。*
*克里斯托夫 莫纳尔*
*2019年7月16日*
## 前言
机器学习对于改进产品、过程和研究有很大的潜力。但是计算机通常不能解释他们的预测,这是机器学习的一个障碍。这本书是关于使机器学习模型和他们的决定可解释。
在探索了可解释性的概念之后,您将学习简单的、可解释的模型,如决策树、决策规则和线性回归。后面几章重点介绍了解释黑箱模型的一般模型不可知论方法,如特征重要性和积累的局部效应,以及用沙普利值和石灰解释个别预测。
对各种解释方法进行了深入的解释和批判性的讨论。他们怎么在引擎盖下工作?他们的优点和缺点是什么?如何解释它们的输出?本书将使您能够选择和正确应用最适合您的机器学习项目的解释方法。
这本书的重点是表格式数据(也称为关系数据或结构化数据)的机器学习模型,而不是计算机视觉和自然语言处理任务。对于机器学习实践者、数据科学家、统计学家以及任何其他对机器学习模型的解释感兴趣的人,推荐阅读本书。
您可以[购买](https://leanpub.com/interpretable-machine-learning)PDF和电子书版本(epub、mobi)
您可以购买打印版本。[lulu.com](http://www.lulu.com/shop/christoph-molnar/interpretable-machine-learning/paperback/product-24036234.html)
*关于我*:我叫克里斯托夫莫纳尔,我是一个统计学家和机器学习者。我的目标是使机器学习具有可解释性。如果您有兴趣提高机器学习模型的可解释性,请随时联系我!
Mail:christoph.molnar.ai@gmail.com
网站:https://christophm.github.io/
在Twitter上关注我! @ChristophMolnar
封面@YvonneDoinel
创意共享许可
这本书是根据授权的。Creative Commons Attribution-NonCommercial-ShareAlike 4.0
International License.
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册