“Why Should I Trust You?“ Explaining the Predictions of Any Classifier 论文阅读笔记

“Why Should I Trust You?” Explaining the Predictions of Any Classifier

会议:KDD
时间:2016年
现有机器学习(深度学习)方法大多为黑盒模型,即我们无法像线性回归、决策树等方法一样理解模型的决策。为解决上述问题,本文提出LOCAL INTERPRETABLE MODEL-AGNOSTIC EXPLANATIONS(LIME)—— 一个全新的可解释技术,以对任何分类器的单个预测结果,生成可靠且易于理解的解释。此外,本文还以一种非冗余(non-redundant)的方式结合多个可解释模型,生成对预测模型的整体理解。

1. Introduction

近年来,机器学习已成为一种常用的技术,在科学工程领域具有十分广泛的应用,但是其依然存在许多问题。

例如:个体预测(指对单个输入样本进行预测,如一张图片)的信任是模型在进行预测时一个十分重要的问题,特别是在如医疗诊断、恐怖主义的检测等任务上,如果不能给出模型预测该结果的依据,人们是无法根据模型结果直接做出决策的,因此对个体预测结果的解释是十分重要的。

此外,可解释性在模型部署方面也有十分重要的作用。通常情况,实验者通过划分训练集与验证集,并在人为设定的评价指标下对模型效果进行评估。但在实际场景下(in the wild),这些人为设定的评价指标也许并不科学,并不能反应真正想要达到的结果。(例如下文基督教案例)在这种情况下,利用可解释性算法获取模型预测为该类别的依据,可以更直观反应模型的有效性。

本文的主要贡献如下:

  1. 本文提出一种全新的算法LIME,其可以用一个可解释的模型对任何分类器或回归器进行局部近似,以对单个实例的预测结果进行解释。
  2. 本文提出SP-LIME,通过子模块优化选择一组具有解释的代表性实例,获取一个更值得信任的模型,而不是单个实例。
  3. 实验部分。

2. The Case for Explanations

所谓的“解释预测(explaining a prediction)”,是指通过人工设计的文本或图像(如文本中的单词,图像patch),使人们定性地理解输入样例与预测结果的关系。本文认为,一个好的能让人们相信的解释预测一定要准确(faithful)并易于理解(intelligible)。

在图1中,本文对单个个体(样本)预测结果进行举例。从图中可以看到,通过可解释模型的输入,对预测网络计算获得的结果进行解释,其中绿色的特征(sneeze、headache)表示对该预测结果(流感Flu)产生正向影响的特征,而红色表示负向。通过结合解释结果和医生的先验知识,医生可以决定接受或拒绝此次预测结果,增加了结果的可信度,防止错判。

此外,每种机器学习的应用还需要对模型整体具有一定信任度。通常人们通过划分训练集和验证集通过指标评价模型的准确性,但第一节也提到了,这些指标往往在真实场景下并不可靠。因此本文提出通过选取一些有代表性的样本,来反应整个模型全局的可解释性。

下面我们将介绍几种错误的评估方式以验证上面的理论。首先是数据泄露,其指一些信息被无意识地泄露到训练或验证的过程中,潜在的提高了在实验室场景下测试的准确率。比如Kaufman等人发现,在一些疾病诊断任务中,患者ID与训练和验证数据中的目标类别高度相关。这就导致即使模型预测准确率较高,但其依据的是患者ID等无关特征,而非真实症状。其次,数据漂移(dataset shift)问题也是检测问题中的一个难题,其指训练数据集和测试数据集并不在同一个数据分布下(数据集来自不同图像域)。而通过可解释性方法,可以发现并移除这些泄露的数据或改变训练集避免数据漂移,将不可信模型转化为可信模型。

在模型选取方面,通过可解释性方法可以找到可信度更高的模型。图2中展示了样本预测如何应用于模型选取。该任务是预测一个文章属于基督教的还是无神论的,可以看到虽然一个算法的准确率高,但是他依据的是一些和是否预测为基督教无关的单词,因此该算法是不可靠的。此时,开发者可能会选择一个尽管精准度要低一些,但可信的模型。此外,在推荐系统等领域同样存在上述问题,综上可以证明可解释性方法在模型选取上的重要性。

在这里插入图片描述

Desired Characteristics for Explainers

本段将讨论一个好的可解释性方法所应该具备的特征。首先这个方法必须是可解释的,也就是易于理解,在输入和结果之间提供定性理解。其次这个方法必须具有局部保真性(local fidelity),也就是这里分析设计的可解释性方法一定要与原始分类模型在局部上具有一致性(也就是图3中,回归计算的线性函数应该与分类模型的决策边界在局部尽可能相同)。需要注意的是,局部保真度并不意味着全局保真度(global fidelity):全局重要的功能在局部上下文中可能不重要,反之亦然。虽然全球保真度意味着局部保真度,但对于复杂模型来说,确定可解释的全局保真度解释仍然是一个挑战。

本文提出的算法类似于一个可解释的范式,可应用于任何模型中,因此可被认为是通用的,与模型无关的(model-agnostic)。此外,除了对单个样本的结果进行解释,从全局角度解释模型的可信度也是十分重要的。因此,本文在对单个预测的解释的基础上,人为选择一些解释呈现给用户,这样它们就代表了对整个预测模型的解释,下面将对模型细节进行介绍。

3. Local Interpretable Model-agnostic Explanations

我们可以通过一句话理解LIME的本质:使用“可解释特征”训练“可解释模型”,在“特定样本的局部线性邻域”拟合“原模型”。

3.1 Interpretable Data Representations

由于我们要根据原始分类模型获得的结果,构建可解释特征,再将其用于训练可解释模型,因此本节要先对特征features(这里指输入分类模型的特征)和可解释的数据表示interpretable data representation(输入可解释模型的特征)进行解释。

如前所述,无论模型使用的实际特征如何,对结果的解释都需要使用人类可以理解的表述方式。例如在自然语言文本分类中,通过一个二进制向量,构建一个词的存在或不存在(词袋模型),比复杂的词嵌入(word embedding)更易于解释。在图像分类中,可以将图像分为多个patch,再通过存在或不存在一个二维向量,以反应每个patch部分在分类时的重要程度。这里定义 x ∈ R d x\in\mathbb{R}^d xRd为原始样本输入维度,而用于解释的二元向量则定义为 x ′ ∈ { 0 , 1 } d ′ x' \in \{0,1\}^{d'} x{0,1}d,表示维度为 d ′ d' d,每个元素为0或1。

3.2 Fidelity-Interpretability Trade-off

本章主要介绍模型如何对可解释性和局部保真度也就是准确性进行一个权衡。一个可解释性高的模型的复杂度往往较低,因此会影响模型准确性,反之依然。

首先定义可解释模型 g ∈ G g \in G gG,其中 G G G表示一类潜在可解释的模型如线性模型、决策树、下降规则列表(falling rule lists)等。 g g g的定义域为 { 0 , 1 } d ′ \{0,1\}^{d'} {0,1}d,即 g g g作用于可解释成分的无/有。因为并不是每个模型 g g g都简单到可以对结果进行解释(比如有几千个特征的情况),因此这里用 Ω ( g ) \Omega(g) Ω(g)表示模型 g g g的复杂度(complexity)。例如对于决策树, Ω ( g ) \Omega(g) Ω(g)也许表示树的深度,而对于线性模型, Ω ( g ) \Omega(g) Ω(g)则表示非零的权重数量。

假设预测模型 f : R d − > R f:\mathbb{R}^d->\mathbb{R} f:Rd>R f ( x ) f(x) f(x) x x x属于指定类别的概率。此外,这里还用 π x ( z ) \pi_x(z) πx(z)表示近邻样本 z z z x x x的距离度量指标,这里样本 z z z表示对样本 x x x的“可解释特征”进行扰动后获得的近邻样本。最后,定义 L ( f , g , π x ) L(f,g,\pi_x) L(f,g,πx)来衡量模型 g g g在由 π x \pi_x πx定义的局部区域中的局部不可信度,可以理解为图3中虚线和真实结果的差距。而为了权衡可解释性和局部保真度,这里希望同时缩小 L ( f , g , π x ) L(f,g,\pi_x) L(f,g,πx) Ω ( g ) \Omega(g) Ω(g),因此LIME公式如下:

ξ ( x ) = a r g m i n g ∈ G L ( f , g , π x ) + Ω ( g ) \xi(x)=\underset{g \in G}{argmin} L(f,g,\pi_x) + \Omega(g) ξ(x)=gGargminL(f,g,πx)+Ω(g)

3.3 Sampling for Local Exploration

我们希望在最小化损失函数的同时不对模型 f f f做出任何假设,因为我们希望这个可解释模型是model-agnostic(通用的)的。因此,为了随着可解释输入的变化而学习 f f f的局部行为,我们通过提取样本并用 π x \pi_x πx加权来近似 L ( f , g , π x ) L(f,g,\pi_x) L(f,g,πx)。首先通过对 x ′ x' x中的特征进行随机设置0元素或加入随机扰动,得到扰动样本 z ′ ∈ { 0 , 1 } d ′ z' \in \{0,1\}^{d'} z{0,1}d。之后将其还原为原始输入得到 z ∈ R d z\in\mathbb{R}^d zRd并计算 f ( z ) f(z) f(z)的值,该值将作为解释模型的标签。利用扰动样本构建的数据集 Z \mathcal{Z} Z,优化上式,得到最终的解释 ξ ( x ) \xi(x) ξ(x)。LIME背后的主要机制如下图所示:

在这里插入图片描述
尽管原始分类模型的决策边界可能过于复杂,无法进行全局解释,但 LIME 提出了一种局部可信(在本例中为线性)的解释,其中 π x \pi_x πx反映了局部性。值得注意的是,本方法对采样中的噪声具有相当高的鲁棒性,因为在上式中,采样是通过 π x \pi_x πx进行加权的,也就是距离远的扰动样本的权重更小。下面本文将用稀疏线性模型进行解释(稀疏线性指很多权重W为0)。

流程如下图:

3.4 Sparse Linear Explanations

在本文的剩余部分,我们使 G G G表示一类线性分类模型,即 g ( z ′ ) = w g ⋅ z ′ g(z')=w_g \cdot z' g(z)=wgz。损失函数使用局部加权平方损失,如下式所示:

L ( f , g , π x ) = ∑ z , z ′ ∈ Z π x ( z ) ( f ( z ) − g ( z ′ ) ) 2 \mathcal{L}(f,g,\pi_x)=\sum_{z,z^{\prime}\in\mathcal{Z}}\pi_x(z)\left(f(z)-g(z^{\prime})\right)^2 L(f,g,πx)=z,zZπx(z)(f(z)g(z))2

其中距离度量用一个幂指数核 π x ( z ) = e x p ( − D ( x , z ) 2 / σ 2 ) \pi_x(z)=exp(-D(x,z)^2/\sigma^2) πx(z)=exp(D(x,z)2/σ2)表示,D为距离函数(对于文本为余弦相似度,图像为L2距离)。该公式使分类模型 f f f的结果与可解释模型 g g g的结果尽可能小,因此该模型物理意义是使可解释模型与分类模型尽可能局部近似,距离函数表示对于远距离的样本给予更小权重,防止噪声数据的影响。

对于文本分类来说,通常使用词袋进行解释,使 Ω ( g ) = ∞ 1 [ ∣ ∣ w g ∣ ∣ 0 > K ] \begin{aligned}\Omega(g)=\infty1[||w_g||_0>K]\end{aligned} Ω(g)=∞1[∣∣wg0>K](这里 1 1 1为指示函数),其中 K K K表示词袋中词的数量。当 w g w_g wg中非零权重的数量大于 K K K时,则认为该模型过于复杂,此项取 ∞ \infty 。而在图像数据中, K K K表示超像素块的数量。整体算法流程如下:
在这里插入图片描述
目前,LIME算法需要解决两个难题。第一个难题也是LIME中最难的步骤是如何利用人的先验知识构造合适的可解释特征(如超像素图块等),在许多情况下,构建的可解释特征是不适合解释该数据,例如,一个预测棕褐色色调的图像是复古图像的模型不能用超级像素图块来解释的(因为色调整体为棕色)。第二个难题是稀疏线性模型可能存在局限性,因为一些分类模型即使在局部也是非线性的,因此可能没有一个可靠的解释。但对于第二个问题我们依然可以选择线性模型之外更好的可解释模型,兼容各类数据集和原模型。

3.5 Example 1: Text classification with SVMs

此处我们对图2中文本分类的结果进行讨论。此处用带RBF核的支持向量机对文本属于基督教"Christianity"还是无神论"Atheism"进行分类(在20 newsgroup dataset)。尽管右侧分类准确率高达94%,但通过解释发现其更关注一些和基督教/无神论无关的词如“Posting”,“Host”,“Re”。经过观察数据集发现,“Posting”这个词出现在训练集中22%的例子中,其中99%出现在“Atheism”类中。在从解释中获得这些理解之后,可以很明显地发现,这个数据集存在严重的问题,因此这个分类器是不可信的。我们可以通过更换数据等方式使模型转变为可信模型。

3.6 Example 2: Deep networks for images

此部分主要探索LIME在图像上的应用,选择K=10,结果如下图所示:

在这里插入图片描述
可以看到在图b中,因为有指板,因此网络将此图像预测为电吉他,而在图d中因为存在拉布拉多犬的头部。

4. Submodular Pick for Explaining Models

前面介绍了对单个样本的预测解释,下面将讨论如何评估整个模型的信任程度。本文认为,可以通过一组单独解释,以表示整个模型的解释。因此怎么选取这些单独的解释就变成了首要难题。这里我们假设 B B B表示用户的耐心或忍耐度,也就是最大的解释量。对于给定的一组实例 X X X,我们定义pick step表示选择 B B B个实例供用户解释。对于pick step,首先不能只看原始数据和预测结果,还应该看解释,而且这种方法还应该挑选一组具有代表性的不同解释向用户展示,即代表模型全局行为的非冗余解释。

以下是对于文本数据的一个定义。对于一个给定的样本集 X ( ∣ X ∣ = n ) X(|X|=n) X(X=n),构建一个维度为 n × d ′ n \times d' n×d的explanation matrix W W W。当使用线性模型对 x i x_i xi进行解释得到 g i = ξ ( x ) g_i=\xi(x) gi=ξ(x)后,设置 W i j = ∣ W g i j ∣ W_{ij}=|W_{g_{ij}}| Wij=Wgij。此外,对于每一列特征 j j j,我们定义 I j I_j Ij表示这个特征在解释空间中的全局重要性。直观地说,我们希望 I I I能使那些能解释多种不同情况的特征具有更高的重要性得分(也就是一个特征能在多个输入中均反应出重要性,说明这个特征在全局上比较重要)。 W W W举例如下图所示:

在这里插入图片描述
在这个例子中, n = d ′ = 5 n=d'=5 n=d=5,为了简单, W W W中的元素仅为二元的即(0,1)。从图中可以直观发现,特征 f 2 f_2 f2要比特征 f 1 f_1 f1更重要(因为特征 f 2 f_2 f2用于解释了更多实例),因此重要性函数 I 2 > I 1 I_2 > I_1 I2>I1。具体到文本上, I j = ∑ i = 1 n W i j I_j=\sqrt{\sum_{i=1}^n\mathcal{W}_{ij}} Ij=i=1nWij

而对于图像数据方面,由于使用该方法需要考虑不同图像超像素块之间的关系(比如一列都是狗的眼睛、鼻子),因此可以考虑使用颜色直方图或其他的特征超像素方法,这个讨论将用于后续工作。

下面将探讨如何选取合适的样本构建模型的可解释。在选取样本的过程中,我们希望尽可能减少冗余特征,比如当选取第二个样本后,选择第三个样本将不会引入新的特征,而选择第五个样本将覆盖更多特征。这里,我们将覆盖率定义为集合函数 c c c,给定 W W W I I I的情况下,计算在集合 V V V中至少出现一个实例的特征的总重要度。

c ( V , W , I ) = ∑ j = 1 d ′ 1 [ ∃ i ∈ V : W i j > 0 ] I j c(V,\mathcal{W},I)=\sum_{j=1}^{d^{\prime}}\mathbb{1}_{[\exists i\in V:\mathcal{W}_{ij}>0]}I_j c(V,W,I)=j=1d1[iV:Wij>0]Ij

而选择任务,则是找到一个能得到最大覆盖度的集合 V V V,满足 ∣ V ∣ ≤ B |V| \leq B VB

P i c k ( W , I ) = argmax ⁡ V , ∣ V ∣ ≤ B c ( V , W , I ) Pick(\mathcal{W},I)=\operatorname*{argmax}_{V,|V|\leq B}c(V,\mathcal{W},I) Pick(W,I)=V,VBargmaxc(V,W,I)

对上面问题求解是一个NP-hard的问题。因此这里通过贪心算法,每次计算 c ( V ∪ { i } , W , I ) − c ( V , W , I ) c(V\cup\{i\},\mathcal{W},I){-}c(V,\mathcal{W},I) c(V{i},W,I)c(V,W,I)的增长值。按照这种贪心方式找到的单样例解释,综合考虑了 I j I_j Ij的大小和包含特征的个数。比如在K固定的情况下,选择出的解释包含了更多重要的特征(即 I j I_j Ij更大)。

整体算法流程如下所示,我们称此算法为submodular pick

在这里插入图片描述
关于SP-LIME的用法,一开始一直比较迷茫不知应该怎么使用。通过阅读5.4的原文,我觉得SP-LIME就是选择B个具有代表性解释,将他们呈现给用户,使用户对模型整体有一个直观的认识,比如XX特征会被认为是A类,有XXX特征的会被认为是B类这种。

5. Simulated User Experiments

本节中,我们将介绍模拟实验,以评估解释在信任相关任务中的实用性。本节主要解决三个问题:(1)LIME认为重要的特征是否在原模型中也重要;(2) LIME给出的特征是否能增进人们对其理解;(3) 选择的有代表性的特征是否能从全局上反应模型的性能。

5.1 Experiment Setup

细节见原文

这里需要特别指明:

parzen[1]算法:是一种用 Parzen 窗口近似全局黑盒分类器的方法,通过预测概率函数的梯度来解释单个预测。

greedy算法:该方法通过贪婪地删除对预测类贡献最大的特征,直到预测发生变化。

random算法:随机选择K个特征用于解释。

5.2 Are explanations faithful to the model?

本节,我们将衡量一些本身可解释的分类器的解释的可靠性(如sparse logistic regression稀疏逻辑回归和决策树),也就是LIME找到的特征也应该是这些可解释的分类模型中重要的特征。首先,我们训练这些分类模型,并找到最重要的10个特征(由于这些分类模型都具有很强的可解释性),用gold set表示。之后,再将分类模型的结果送入可解释模型,观察这些在分类中重要的特征有多少能够在可解释模型中发现出来,结果如下所示:

在这里插入图片描述
可以看到LIME在所有分类方法和数据集上均能达到90%以上的Recall,说明LIME的是十分可信的。

5.3 Should I trust this prediction?

具体思路如下:人工挑选出一些“不可信的特征”,如果某个“不可信特征”被去掉后模型的预测结果改变,则证明模型依仗了“不可信特征”,因此模型本身也是不可信的。如果LIME给出的特征被去掉,LIME线性预测的结果发生改变,则说明LIME也不可信。F1的结果如下所示:

在这里插入图片描述

5.4 Can I trust this model?

本实验模拟主要模拟可解释性算法是否能够帮助用户在准确率相近的算法中做出选择。从图中可以看到,本算法可以用更少的具有代表性的样本就能够区分出模型的优劣程度。(这里原文实在太难读了,我直接看的[2]视频中的结论)

在这里插入图片描述

6. Evaluation with human subjects

第五章主要是模拟实验,而本章则主要是人工实验。主要进行的实验内容如下:(1)用户是否能选择泛化性更好的模型(2)基于这些解释,用户是否可以执行特征工程来改进模型(3)用户能够通过查看解释来识别和描述分类器的不规则行为(分类出现偏差)

6.1 Experiment setup

这里使用20 newsgroups dataset进行实验,但上面也介绍了,本数据集包含不泛化的特征,因此许多方法在验证集上结果较好。因此本文对原始数据集进行数据清洗,提出一个新的religion dataset。

6.2 Can user select the best classifier?

在本节中,我们想要评估解释是否可以帮助用户决定哪个分类器泛化得更好,也就是说,用户会在“现实中”部署哪个分类器。这里首先用原始20 newsgroups dataset和religion dataset分别训练SVM模型,可以看到在20 newsgroups的验证集上,前者能达到94%的准确率,而后者只有88.6%。但是在religion dataset的验证集上,前者只有57%的准确率,而后者却能达到69%。这是因为20 newsgroups dataset数据集本身包含的不泛化特征使模型训练出现偏差。因此可以证明,如果只使用准确性作为信任的度量,可能会选择较差的分类器。

下图表示采用greedy和LIME,在RP和SP的实验结果,可以看到LIME和SP的组合取得了最好的结果。

在这里插入图片描述

6.3 Can non-experts improve a classifier?

该实验主要探讨是否可以利用可解释性的结果,通过特征工程(feature engineering)改善分类网络性能。本实验依然使用带错误信息的20 newsgroups数据集训练模型,并通过B=10,K=10的可解释模型生成解释结果,并通过人工方式判断结果是否可靠。每次从原始数据中删除最不可靠的文本,并再次训练网络。最后结果图下图所示,浅色线表示每次删除后分类网络预测的准确率,实线为准确率的平均值,可以看到SP-LIME明显高于RP-LIME和未经过清晰的结果。

在这里插入图片描述

6.4 Do explanations lead to insights?

通常,数据收集的过程会引起分类器在训练过程中发现的不期望的相关性,比如数据集中自行车总是和人共同出现。这些问题很难仅仅通过观察原始数据和预测来识别,因此本实验将探究可解释模型是否有能力识别这些问题。这里认为构造一个识别狼和哈士奇的模型,其中狼的图像基本都包含雪。我们首先对测试者展示将被错误预测为狼的哈士奇图片,并询问他们几个问题:(1)他们是否相信本算法在现实情况下能工作的较好。(2)为什么?(3)他们认为算法如何能够区分这些狼和哈士奇的照片?之后,为测试者展示解释后的模型,并再次问相同问题,实验结果与图像如下所示:

在这里插入图片描述
可以看到,在展示之前,相信该模型的人有10个,而认为该图像被预测为狼的原因是因为“雪作为潜在特征”的人有12个,而当展示解释性图像后,相信该模型的人数下降到3个,而认为“雪是潜在特征”的人达到了25个。

因此该实验可以证明,解释个体预测对于深入了解分类器是有效的。

Reference

[1] D. Baehrens, T. Schroeter, S. Harmeling, M. Kawanabe, K. Hansen, and K.-R. M ̈ uller. How to explain individual classification decisions. Journal of Machine Learning Research, 11, 2010.

[2] https://www.bilibili.com/video/BV1wV4y1V7rD/?spm_id_from=333.788&vd_source=25d1a12ff92265ad29209fc06224b83d

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值