文档章节

谈谈机器学习模型的可解释性

naughty
 naughty
发布于 07/02 03:01
字数 2203
阅读 1583
收藏 38

随着AI和机器学习的发展,越来越多的决策会交给自动化的机器学习算法来做。但是当我们把一些非常重要的决定交给机器的时候,我们真的放心么?当波音飞机忽略驾驶员的指令,决定义无反顾的冲向大地;当银行系统莫名其妙否决你的贷款申请的时候;当自动化敌我识别武器系统决定向无辜平民开火的时候;人类的内心应该是一万个草泥马飞过,大声的质问,“为什么?”

“ml black box”的图片搜索结果

机器学习算法可以看成是如上图所示的黑盒子模型,训练数据流入黑盒子,训练出一个函数(这个函数也可以称之为模型),输入新的数据到该函数得出预测结果。关于模型的可解释性,就是要回答为什么的问题,如何解释该函数,它是如何预测的?

可解释的模型

在机器学习的众多算法中,有的模型很难解释,例如深度神经网络。深度神经网络可以拟合高度复杂的数据,拥有海量的参数,但是如何解释这些非常困难。但是还是有相当一部分算法是可以比较容易的解释的。

例如线性回归

“线性回归”的图片搜索结果

线性回归目标Y和特征X之间的关系如上图的公式所示。那么对于线性回归模型的解释就很简单,对于一个特定的特征Xi,每增加一个单位,目标Y增加βi。

线性回归简单易用,也能保证找到最优解。但是毕竟不是所有的问题都是线性的。

另外一个可解释的模型的例子是决策树

Decision tree with artificial data. Instances with a value greater than 3 for feature x1 end up in node 5. All other instances are assigned to node 3 or node 4, depending on whether values of feature x2  exceed 1.

如上图的决策树的例子所示,决策树明确给出了预测的依据。要解释决策树如何预测非常简单,从根结点开始,依照所有的特征开始分支,一直到到达叶子节点,找到最终的预测。

决策树可以很好的捕捉特征之间的互动和依赖。树形结构也可以很好的可视化。但是决策树对于线性关系的处理比较困难,他不够平滑,也不稳定,一个小的特征数据变化就可能改变整个树的构建。当树的节点和层级变大的时候,要解释整个决策过程也就相应的变得困难了。

其它还有一些可解释的模型,例如逻辑回归,通用的线性模型,朴素贝叶斯,K紧邻,等。

模型无关的方法

可解释的模型的种类毕竟有限,我们希望能够找到一些方法,对任何的黑盒子机器学习模型提供解释。这里就需要和模型无关的方法了。

Partial Dependence Plot ( PDP )

PDP用于表示一个模型中一个或者两个特征对于预测结果的影响。

如上图的PDP图反应了三个特征温度(注意这里是3个PDP,PDP假定每一个特征都是独立的),湿度和风速对于骑车出行人数的影响。每一个图都是假定其它特征不变的情况下的趋势。

PDP图非常直观和容易理解,也很容易计算生成。但是PDP图最多只能反应两个特征,因为超过三维的图无法用当前的技术来表示。同时独立性假设是PDP的最大问题。

Individual Conditional Expectation (ICE)

ICE显示了对于每一个样本实例,当改变某一个特征的值得时候,预测结果是如何改变的。

如上图所示,这个和PDP的图反映了一致的趋势,但是包含了所有的样本。

和PDP类似,ICE的独立性假设和不能表征超过两个特征都是他的限制。同时随着样本数量的增大,图会变得相当的拥挤。

特征交互 (feature interaction)

如上图所示的特征交互图反映了,例如一个模型有两个特征,那么模型可以是一个常量 + 只包含第一个特征的项 + 只包含第二个特征的项 + 两个特征的交互项。利用Friedman’s H-statistic的理论,我们可以计算特征交互。

利用H-statistic计算是很耗资源的,结果也不是很稳定。

特征重要性 Feature Importance

特征重要性的定义是当改变一个特征的值的时候,对于预测误差带来的变化。怎么理解呢?当我们改变一个特征,预测误差发生了很大的变化,说明该特征又很大的影响力,而相反的,如果改变另一个特征的值,对于预测结果的误差没有什么影响,那说明这个特征无关紧要。

上图是一个特征重要性的图示。

特征重要性提供了一个高度概括的对模型的洞察,它包含了所有特征的交互,计算特征重要性不需要重新训练模型。计算这个值需要数据包含真实结果。

Shapley Values

Shapley值是一个很有趣的工具,他假定每一个特征就好像游戏中的一个玩家,每个玩家对于预测的结果都有一定的贡献。对于每一个预测结果,Shapley值给出每一个特征对于这个预测结果的贡献度。

“Shapley Values”的图片搜索结果

下图是一个Shapley Value的例子。

Shapley提供了对于每一个特征的完整的解释。但是同样很耗计算资源,而且要求使用所有的特征。

替代模型(Surrogate Model)

替代模型就是用一个可解释的更简单的模型,对于黑盒模型的输入和预测训练出一个替代品,用这个模型来解释复杂的黑盒模型。

替代模型的训练过程如下:

  1. 选择一个数据集X(可以和训练集相同或者不同,无所谓)
  2. 用训练好的黑盒模型预测出Y
  3. 选择一个可解释的模型,如线性回归或者决策树
  4. 用之前的数据集X和预测Y训练这个可解释模型
  5. 验证可解释模型和黑盒模型的差异

替代模型很灵活,很直观也很容易实现。但是替代模型是对黑盒模型的解释,而不是对于数据的解释。

基于样本的解释

反事实解释 (Counterfactual)

反事实解释就像是说“如果X没有发生,Y也就不会发生”

反事实的解释在特征和预测结果中建立一个因果关系。如上图所示。

我们通过改变一个样本的一个特征,然后观察预测结果的变化。google的what if 工具,可以帮助我们做这样的分析。

另外推荐这本书:The Book of Why : The New Science of Cause and Effect

The Book of Why

 

对抗样本 (Adversarial)

对抗样本是指当对一个样本的某一个特征值作出一个微小的变化而使得整个模型作出一个错误的预测。对抗样本的目标是欺骗模型,黑客攻击机器学习模型的手段往往就是找到这些对抗样本。

原型和批评 (Prototypes and Criticisms)

原型是一个数据点,它可以代表所有的其它点。而一个批评点是指不能被一组原型有效代表的数据点。

有影响力的实例(Influential Instances)

机器学习的模型是训练数据的产出,删除任何一个训练数据都往往会影响训练结果。如果删除某一个训练数据对模型产生饿巨大的影响,那么我们称这个点为有影响力的点。对有影响力的点的分析也往往可以帮助我们解释模型。

 

总结

本文介绍了可解释机器学习的基本概念和方法,希望对小伙伴们有所帮助。

参考

© 著作权归作者所有

naughty

naughty

粉丝 348
博文 71
码字总数 139171
作品 0
其它
私信 提问
加载中

评论(4)

d
dwcz
人工智能被夸大了。无外乎就是匹配,至于匹配条件,是一个人择的问题,非常主管。人都经常干蠢事,机器也不例外。按人类的检验,重点不在于干蠢事,而是控制干蠢事的危害度。
久永
久永
机器学习还可以可解释,深度学习的可解释性就趋向无解了。
naughty
naughty 博主
7月17日,加州大学圣迭戈分校(UCSD)博士、卡内基梅隆大学(CMU)计算机科学助理教授Zachary C. Lipton在ACM Queue上发表了题为《The Mythos of Model Interpretability》的文章,讨论了监督式机器学习预测模型的可解释性问题。Lipton在文中试图明确“可解释性”的定义,并对“可解释性”进行分类,并提出了一个重要观点,认为线性模型的可解释性并不一定高于深度神经网络(DNN)模型 https://yq.aliyun.com/articles/617476
久永
久永
哈哈,这个文章留言下【相关文章】栏里面,第一个就是。我说怎么看起来那么眼熟呢。
线性模型可解释一定比DNN高?UCSD科学家:大错特错!

【新智元导读】人们对深度学习模型的真正运行机制还远远没有完全了解,如何提高预测模型的“可解释性”成了一个日益重要的话题。近来的一篇论文讨论了机器学习模型的“可解释性”的概念及其重...

技术小能手
2018/07/23
0
0
【译】(Introduction部分)Interpretable Machine Learning. A Guide for Making Black Box Models Explainable

Introduction部分 这本书向你解释了怎样让机器学习模型可解释,这章中包含了一些数学公式,但是即使没有这些公式,你也应该能够理解这些方法的思想。这本书并不适合于初学机器学习的同学,如...

水球喵
02/26
0
0
机器学习的可解释性:黑盒vs白盒(内附开源学习书) | Deep Reading

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/88967629...

AI科技大本营
03/30
0
0
深度学习的可解释性研究(一):让模型「说人话」

雷锋网(公众号:雷锋网) AI 科技评论按:本文为 BIGSCity 的知乎专栏内容,作者王小贱。北航智慧城市兴趣组 BIGSCITY是隶属于北京航空航天大学计算机学院的一个学术研究小组,小组致力于研究...

奕欣
2018/05/30
0
0
【译】可解释性的重要性2.1 Interpretable Machine Learning. A Guide for Making Black Box Models Explainable

2.1可解释性的重要性 可解释重要性 原文 如果一个机器学习的模型表现良好,我们为什么不能直接相信这个模型,并且忽略为什么它做了这样的决策?。原因是,仅靠一个指标(loss),例如分类准确...

水球喵
04/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

php 遇到 No input file specified的解决方法

(一)IIS Noinput file specified 方法一:改PHP.ini中的doc_root行,打开ini文件注释掉此行,然后重启IIS 方法二: 请修改php.ini 找到 ; cgi.force_redirect = 1 去掉前面分号,把后面的1...

chenhongjiang
今天
5
0
MySQL 基础

一、常用命令 在命令行中,配置好环境变量后,通过cmd可以直接进入mysql命令行模式,同时列举几种常用命令 # 进入mysql数据库,密码可以先不写,打完-p后再输入,防止被别人看到mysql -u账...

华山猛男
今天
6
0
简单的博客系统(四)Django请求HTML页面视图信息--基于函数的视图

1. 编写用于查询数据的功能函数 应用目录 下的 views.py 文件通常用于保存响应各种请求的函数或类 from django.shortcuts import renderfrom .models import BlogArticles# Create your ...

ZeroBit
今天
5
0
用脚本将本地照片库批量导入到Day One中

因为目前iCloud 空间已经不足,其中95%都是照片,之前入手了DayOne,且空间没有限制,订阅费一年也不少,再加上DayOne作为一款日记App 也比较有名,功能方面最大的就是地理视图与照片视图,尤...

在山的那边
昨天
19
0
jupyter部署安装

python373 -m ipykernel install --name python373 ipython kernelspec list sc create myjupyterservice binpath="D:\apply\Python373\Scripts\jupyter-notebook --config=V:/my_work/jupyt......

mbzhong
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部