写点什么

黑盒模型事后归因解析:LIME 方法

  • 2020-04-26
  • 本文字数:5245 字

    阅读完需:约 17 分钟

黑盒模型事后归因解析:LIME方法

机器学习模型可解释性方面的研究,在近两年的科研会议上成为一个相当热门的话题。随着机器学习应用越来越广泛,大家不再仅仅满足于模型的效果,而是希望对模型效果背后的原因有更好的理解。构建能让用户理解的模型正变得越来越重要,在医疗、金融和司法等高风险应用中,这一点尤其明显。可解释机器学习是索信达 AI 创新中心的重点研究方向之一,我们希望通过一系列文章介绍不同解释模型的方法,并分享可解释机器学习理论结合实际业务的应用和思考。

1. LIME 背景

现今的数据挖掘领域中,机器学习模型被广泛使用。传统的机器学习模型更关注预测效果,追求更高预测精准度和更快的训练速度。然而,机器学习模型的“黑盒”属性导致了其内部工作原理难以被理解,输入与输出之间往往存在极其复杂的函数关系。当模型应用到银行业等金融领域时,透明度和可解释性是机器学习模型是否值得信任的重要考核标准。我们需要告诉业务人员如何营销,告诉风控人员如何识别风险点,而不仅仅告诉他们预测的结果。一个预测表现接近完美、却属于黑盒的人工智能模型,会容易产生误导的决策,还可能招致系统性风险,导致漏洞被攻击,因而变得不安全可靠。例如在银行消费者贷款领域,美国联邦政府颁布的平等信贷机会法(ECOA)明确要求各家银行在拒绝每个消费者申请信用卡时,必须明确说明拒绝的理据。因此,应用复杂的机器学习模型时,我们需要构造一个“解释器”,对模型的预测结果进行事后归因解析,而 LIME 便是一个很好的事后解释方法。

2. LIME 介绍

LIME 全称 Local Interpretable Model-Agnostic Explanations,由 Marco Ribeiro, Sameer Singh 和 Carlos Guestrin 三个人在 2016 年《“Why Should I Trust You?” Explaining the Predictions of Any Classififier》这一文中提出来的,是一种事后解释方法,即在建立模型之后所做的解释,其名称也很好的反应了它的特点:


Local: 基于想要解释的预测值及其附近的样本,构建局部的线性模型或其他代理模型;


Interpretable: LIME 做出的解释易被人类理解。利用局部可解释的模型对黑盒模型的预测结果进行解释,构造局部样本特征和预测结果之间的关系;


Model-Agnostic: LIME 解释的算法与模型无关,无论是用 Random Forest、SVM 还是 XGBoost 等各种复杂的模型,得到的预测结果都能使用 LIME 方法来解释;


Explanations: LIME 是一种事后解释方法。



LIME 可处理不同类型的输入数据,如表格数据(Tabular Data)、图像数据(Image Data)或文本数据(Text Data)。对于表格数据,如用银行客户行为数据预测理财产品销售,训练完复杂模型后可以用 LIME 得到哪些特征影响理财产品销售;图像数据,如识别图片中的动物是否为猫,训练完复杂模型后可以用 LIME 得到图片中的动物被识别为猫是因为哪一个或几个像素块;文本数据,如识别短信是否为垃圾短信,训练完复杂模型后可以用 LIME 得到一条信息被判断为垃圾短信是因为哪一个或几个关键词。

3. LIME 原理

LIME 的算法需要输入想要解释的预测样本和已经训练好的复杂模型,基于表格数据,算法步骤如下:


(1)预测样本附近随机采样:对于连续型(continuous)特征,LIME 在预测样本点附近用一个标准正态分布 N(0,1)来产生指定个数(代码中设置的 num_samples)的样本;而对于类别型(categorical)特征,则根据训练集的分布进行采样,当新生成样本的类别型特征与预测样本相同时,该类别型特征取值为 1,否则取值为 0;假设,想要解释的预测点为 ,有 p 个特征,其中第 i 个特征为连续型特征,取值为为 该特征在训练集中的标准差;生成的 N 个样本为, 通过标准正态分布对应生成一个随机数(对应第 k 个新生成样本的第 i 个特征),则新生成的第 k 个样本的第 i 个特征的取值为


(2)对新生成的样本打标签:将新生成的样本放入已经训练好的复杂模型中训练,得到对应的预测结果;设训练好的复杂模型为,则新生成的的样本预测结果为


(3)计算新生成的样本与想要解释的预测点的距离并得到权重:新生成的样本距离想要解释的预测点越近,我们认为这些样本能够更好的解释预测点,因此需要赋予更高的权重。我们用指数核函数(exponential kernal)去定义新生成样本的权重,设为, 此处 为某个新生成的样本到的距离函数, 则为超参数。从公式中可以看到,距离越近, 的值越大。


(4)筛选用来解释的特征,拟合线性模型:设想要用来解释的特征有 个,则用来解释的特征为,此处 不一定相等,只是用来表示从 p 个特征中选取 个作为解释;设用来解释的线性模型为 ,为了求出线性模型的系数,我们用一个加权平方损失构造损失函数:, 找出使得损失最小的 ,而即为我们用来解释的特征的线性组合;而对于个特征的选择,代码中提供 forward selection、highest weights、lasso_path 等方法。

4. Submodular Pick

虽然 LIME 可以实现对单个预测值的事后解释,提高了大家对黑箱模型的理解,但要看变量对模型预测值的整体影响,还需要进行全局解释。当我们用数据集做特征变量的全局解释时,需要挑选具有代表性且多元化的样本。一般的随机挑选方法(Random pick)得到的效果一般般,而且也不太稳定。论文中提出次模挑选(Submodular Pick)来得到具有代表性的样本集。

4.1 什么是 submodular?

submodular(次模)实际上是对“边际效用递减”这个说法的形式化。对于一个集合函数, 如果有一个集合 V,满足, 那么在中增加一个元素所增加的收益要小于等于在的子集中增加一个元素所增加的收益。更清晰地表示:对于函数而言,若, 且,则


在事后解释领域里, 我们想找到最具有代表性的样本集,就可以借鉴次模的思想,在集合中不断加入增益最大的样本。但是如何寻找到这样的样本呢?在计算机领域里,次模函数有个性质,俗称 NP-hard,即对于一个次模函数, 如果给定一个限制条件,找出一个满足条件的集合,使得值最大。


贪心算法常用于解决上述的 NP-hard 问题。迭代地在解集合中加入增益最大且满足条件的元素,即第 i 次迭代时解 , 其中增益为.

4.2 Submodular pick(SP) 的步骤

当使用 SP-LIME 时,首先得设定好 sample_size, 也就是次模挑选需要的样本数目。假定我们从数据集中挑选 n 个样本来做事后解释,每个样本是维的,是用来做事后解释的特征变量个数。基于该样本集 在解释器中得到的解释,我们构建了的解释矩阵


解释矩阵中的每一个元素, 代表第个样本的第个可解释成分的局部重要性。鉴于使用的是线性模型当代理模型,解释器中对每一个样本 都会计算出对应的线性解释, 是经过标准化之后的。在这里定义


为了度量解释空间中第 j 个特征的全局重要性,根据上文计算好的解释矩阵,定义了重要性函数 , 。直观地,我们想要令选取的特征可以解释不同的样本,使重要性函数可以取更高的值。


在下图中,我们展示了一个例子。假定的二元矩阵,即 5 个样本,每个样本是 5 维的,每个元素要么取 0 要么取 1。重要性函数给特征 f2 打的分比特征 f1 打的分要高, 所以特征 f2 用来解释更多的实例, 属于重要的可解释特征。



为了挑选可以覆盖最重要特征的样本,解释集一定不能冗余,即避免选取有相似解释性的实例。比如,第二个样本第三个样本的事后解释特征相同,所以我们只用二选一即可。


我们将非冗余的覆盖程度用下面的公式来计算。定义覆盖函数, 给定, 计算至少出现在集合中的一个样本的特征的重要性。


挑选的问题由如下公式定义,找到集合, 满足,可以使得达到最大。


集合函数是次模函数, 上文提出贪心算法来解决挑选 n 个样本的问题。其可以迭代地增加对函数有最高边际覆盖增益的样本,并以常数的速度近似到最优。


算法展示了具体的挑选流程,我们称之为 submodular pick (次模挑选)。


5. 案例展示

我们以比特币的数据集为例,先使用 XGBoost 回归模型预测比特币价格,再用 LIME 做事后解释。用到数据集中的 15 个变量作为特征,响应变量为比特币价格。下图展示了部分的数据集结构。



用 XGBoost 对数据集做回归预测,发现该模型的高达 97%。模型效果很好但是内在是黑箱模型。



因此接下来对 XGBoost 用 LIME 做事后解释。先产生一个 LIME 的解释器。



接着在测试集中任意挑选一个样本,设置用 10 个特征来开始解释。代码会输出线性代理模型的截距,系数,标准化之后的样本数据,用 LIME 得到的预测值以及 XGB 预测该样本的比特币价格。




上图是在 Notebook 中展示的 LIME 解释。左边是用默认的 5000 个抽样得到的样本,通过拟合线性回归模型计算出来的预测值,最小是 355.03,最大是 15423.96,2295.3 则是 XGBoost 模型的预测值。中间的图是线性模型中 10 个特征变量对应的系数大小,positive 代表系数为正,negative 代表系数为负。右边是样本中对应 10 个特征的取值。


下面会输出对应的特征变量的局部解释图。



接下来尝试使用 submodular pick 来挑选 10 个代表性的样本做全局解释。


from lime import submodular_picksp_obj = submodular_pick.SubmodularPick(explainer, train, reg.predict, sample_size=10, num_features=10, num_exps_desired=1)[exp.as_pyplot_figure() for exp in sp_obj.sp_explanations]
复制代码



从该全局解释图中可以看到,排名前三的特征变量 BlockSizeTot, TradeFee,TradeVol 对 XGBoost 预测结果有正向的影响,TransValue 则是对 XGBoost 产生了相对大的负向的影响。排名靠后的特征变量影响相对较小。

6.结语

本文介绍了 LIME 作为一种复杂模型事后解释器,如何拟合局部代理模型,以及如何挑选全局样本,达到模型局部解释和整体解释的目的。更详细的介绍参考《“Why Should I Trust You?” Explaining the Predictions of Any Classififier》原文。为了演示 LIME 方法的效果,我们以一个比特币实际数据为例,对现下流行的 XGBoost 模型进行了 LIME 局部解释和全局解释。

7.参考文档

[1] Túlio Ribeiro, M., Singh, S., Guestrin, C.: “Why Should I Trust You?”: explaining the predictions of any classifier. In: ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (2016)


[2] https://github.com/marcotcr/lime


原文链接:


https://mp.weixin.qq.com/s/qkWGKrAuDQqmNl-vxTekXg


2020-04-26 18:277683

评论

发布
暂无评论
发现更多内容

同济医院R语言训练营第二期开讲!上交大张维拓老师主讲

ModelWhale

R语言 同济医院 上海交通大学

做付费社群,强烈建议大家做这件事!

Immerse

运营 社群 付费

精准盘点,无忧管理——RFID智能盘点终端解析

斯科信息

斯科信息 RFID技术

简单了解一下等保测评与密评的几个区别

行云管家

信息安全 等保 等保评测

Mirror for TCL TV Mac版(TCL电视投屏软件)

兮兮立立

Mirror for Sharp TV for Mac(Sharp电视投屏软件)

兮兮立立

MyEMS 4G 网关:打造高效协同的能源管理中枢

开源能源管理系统

开源 能源管理系统 4G网关

Mirror for Toshiba TV mac (东芝电视投屏软件)

兮兮立立

内部文件审计:企业文件服务器审计对网络安全提升有哪些帮助?

运维有小邓

网络安全 IT运维服务 文件审计工具

精准数据检索+数据飞轮自驱优化,彩讯AI知识库助力企业知识赋能和效率创新

彩讯股份300634

智能浪潮下,Alpha系统如何改写律师行业生存法则

科技汇

中国移动“沃土计划”升级!摩尔线程以全功能GPU为人工智能创新筑牢“算力底座”

新消费日报

Mirror for TCL TV Mac版(TCL电视投屏软件)

兮兮立立

Mirror for Samsung TV for mac(三星智能电视投屏软件)

兮兮立立

新能源锂电池制造执行系统(MES)全面解决方案

万界星空科技

mes 新能源行业 制造业工厂 新能源电池 锂电池mes

25年南京正规等保测评公司名单大汇总

行云管家

等保 等保评测

【邀请函】网易灵动露天矿山具身智能技术发布会,7月26日上海见

网易伏羲

网易伏羲 网易灵动 工程机械智能化 无人挖掘机 无人装载机

应对VMware转型挑战!腾讯云x Omdia发布业内首个《从VMware到分布式云:企业虚拟化转型实战指南》

极客天地

多模态情绪分析与意图识别:打造更懂用户的智能Agent

彩讯股份300634

iCourt与炜衡律师事务所达成战略合作,共建“法律AI数智化实践基地”

科技汇

持续领跑,华为云连续5年蝉联中国容器软件市场份额第一

华为云原生团队

云计算 容器 云原生

智能体崛起时代,“有灵智能体”如何诠释人机协作,共绘未来工作新图景

网易伏羲

网易伏羲 群体智能 有灵众包 有灵智能体 智能货柜

Omni Recover for Mac(iPhone数据恢复工具)

兮兮立立

设备维修不是单纯的修机器,这五个方面一定要清楚!

积木链小链

数字化转型 智能制造 设备维修

Rigid Audio Kontakt GUI Maker for mac(Kontakt 乐器创建工具)

兮兮立立

Mirror for Samsung TV for mac(三星智能电视投屏软件)

兮兮立立

如何在 Elasticsearch 中构建你的智能 AI 助手?

阿里云大数据AI技术

人工智能 elasticsearch 运维 数据分析 数据库 大数据

被忽视的新能源维修迷局

脑洞汽车

AI

FinClip战略优势解析:企业级跨平台小程序框架选型指南

xuyinyin

beaTunes5 for Mac(好用的iTunes管理工具)

兮兮立立

拖垮公司的真正元凶:低质量决策

禅道项目管理

项目管理 数据分析 数字化转型 市场分析 禅道项目管理软件

黑盒模型事后归因解析:LIME方法_AI&大模型_索信达控股_InfoQ精选文章