Motivation
对于机器学习和深度学习而言,模型很多情况下是非常复杂的。深度学习利用许多非线性的叠加提升了模型的泛化能力,其代价是模型内部的决策过程变得非常复杂,往往只能视作为黑盒子。在很多重要的任务中,模型必须是值得人们信赖的,人们才会去使用它。这种信赖分为两种:信赖一个预测和信赖模型本身。对于一个预测实例(instance),让人们相信这个预测是对的就是要提供对这个实例的人类能理解的解释,例如,一些重要的特征,一个人打喷嚏和头痛会让模型预测他得了流感。对于一个实例的解释是一种局部的解释(local explanation),而对于模型整体决策过程的解释,是全局的解释(global explanation)。全局的解释能让人们理解模型内部的决策过程,从而信赖这个模型本身。
这篇文章提出了LIME(Local Interpretable Model-agnostic Explanations),是一个对于实例而言寻找解释的解释器。LIME是一种基于代理模型的解释器。因为复杂的模型往往被视为黑盒子,而线性模型等简单模型人们是容易理解的,线性模型权重也代表了特征的重要程度。因此,使用一些简单的模型如线性回归模型,在一个实例的局部进行采样,使用这个简单的代理模型在实例局部寻找解释。因为LIME是基于代理模型的,所以他能解释任何的模型。
什么是解释?
对于一个实例的解释,就是提供一个具有语义或者视觉信息的人们能够理解的解释,能够让人们理解模型为什么做出了该预测,因为人们都有一些先验知识,能够理解现实世界中结果的真正原因,所以能够判断给出的解释是否是合理的,从而决定是否该相信这个模型。例如,现实数据集中可能存在很多伪关联,例如病人的ID和患病情况,此时模型训练的准确率可能很高,但是如果找出ID是一个解释,人们就不再会相信这个预测模型。
一个好的解释应该具备两个特征:interpretable和local fidelity。Interpretability是指,这个解释是人们能够理解的,且可以反应输入变量和预测结果之间的关系。Local fidelity是指,解释对模型是忠诚的,也就是指这些解释应该在模型决策过程中起作用的。值得注意的是,在模型决策过程中,很可能绝大部分的特征都参与到模型的决策过程中,也就是说,找出的解释是非常稠密的,而稠密的解释会让人们难以理解。因此,interpretability和local fidelity相互制约,而一个好的解释应是二者的平衡。
方法
使用代理模型作为实例局部的解释,其中
是潜在代理模型的集合。使用
来度量解释代理模型的复杂性,也就是度量interpretability的程度,
越小,解释就越容易被人们理解。使用
来表示模型和代理模型之间的局部距离,其中
是原模型。
越小,local fidelity就越高。寻找解释的过程如下:
其中为采样后样本
到原实例
的距离,作为权重。为了训练代理模型
,需要在实例
局部进行采样,获得样本集合
。在文章中,对非零的特征进行扰动,进行随机的均匀分布扰动,采样得到的样本标签为
。
本文使用稀疏的线性模型作为代理模型,,如K-LASSO。模型的local fidelity的损失项为:
其中,是一个指数核作为距离权重,D是距离函数,通常来说,文本使用cosine距离,图像使用L2距离。
原文:"Why Should I Trust You?": Explaining the Predictions of Any Classifier