区分信任的两个不同的(但相关的)定义很重要:
(1)信任预测,即用户是否充分信任单个预测,以便基于该预测采取一些行动;
(2)信任模型,即用户是否信任模型在部署时以合理的方式运行。
这篇文章提出为单个预测提供解释作为“信任预测”问题的解决方案,并选择多个这样的预测(和解释)作为“信任模型”问题的解决方案。我们的主要贡献总结如下。
•LIME,一种算法,通过使用可解释的模型对其进行局部近似,以忠实的方式解释任何分类器或回归器的预测。
•SP-LIME,一种通过子模块优化选择一组具有代表性的实例和解释来解决“信任模型”问题的方法。
通过“解释预测”,我们指的是呈现文本或视觉伪影,这些伪影能够定性地理解实例组件(例如文本中的单词、图像中的补丁)与模型预测之间的关系。
图1说明了解释单个预测的过程。很明显,如果能提供清晰的解释,医生在模型的帮助下更容易做出决定。在这种情况下,解释是一个带有相对权重的症状列表-这些症状要么对预测有贡献(绿色),要么是对预测不利的证据(红色)。
图1:解释个别预测。一个模型预测一个病人患有流感,lime强调病人病史中的哪些症状导致了这种预测。打喷嚏和头痛被认为是导致“流感”预测的因素,而“没有疲劳”则是反对的证据。有了这些,医生就可以对模型的预测做出明智的决定。(绿色的特征促进预测流感,红色的特征阻碍预测流感)
如果成百上千的特征对一个预测有很大的贡献,那么期望用户理解为什么做出预测是不合理的,即使他们可以检查单个权重。这一要求还意味着解释应该容易理解——对于模型所使用的特性来说,这并不一定正确。
因此,解释中的“输入变量”可能与模型使用的特征不同。
我们注意到局部保真度并不意味着全局保真度:全局重要的特性在局部环境中可能并不重要,反之亦然。虽然全局保真度意味着局部保真度,但呈现可解释的全局忠实解释仍然是复杂模型的挑战。
lime的总体目标是确定一个可解释的模型,使得可以在局部解释分类器。
这里我们关注稀疏线性模型作为解释,并使用扰动执行搜索。
图3:展示lime方法的玩具分类的例子。黑盒模型的复杂决策函数f(lime不知道)用蓝色/粉色背景表示,线性模型无法很好地逼近。鲜亮的红十字是正在解释的例子。LIME对实例进行采样,使用f获取预测,并通过与被解释实例的接近程度(这里用大小表示)来衡量它们的权重(距离越近,权重越大)。虚线是在局部(但不是全局)学习的可靠的解释。
在“基督教和无神论”的例子中,对一个例子的解释表明,预测是出于相当武断的原因(单词“Posting”、“Host”和“Re”与基督教或无神论都没有关系)。“张贴”一词出现在训练集中的22%的例子中,其中99%出现在“无神论”一类中。
从解释中得到这些见解后,很明显,这个数据集有严重的问题(仅通过研究原始数据或预测就不明显),而且这个分类器进行的评估是不可信的。问题是什么很清楚,以及可以采取哪些步骤来解决这些问题并训练一个更可信的分类器。
4、用于解释模型的子模块选择
虽然对单个预测的解释为用户提供了对分类器可靠性的一些理解,但仅从整体上评估和评估模型的信任度是不够的。我们建议通过解释一组单独的实例来对模型进行全局性的理解。这种方法仍然与模型无关。
尽管对多个实例的解释可能很有见地,但这些实例需要明智地选择,因为用户可能没有时间检查大量的解释。我们用预算B来代表人类所拥有的时间和耐心,这个预算表示为了理解一个模型,他们愿意看多少种解释。给定一组实例X,我们将pick步骤定义为选择B个实例供用户检查的任务。
此外,这种方法应该选择一组不同的、具有代表性的解释来向用户展示,即代表模型全局行为方式的非冗余解释。
在图5中,我们展示了一个玩具示例的矩阵W,其中W=d‘=5,其中W是二进制的(为了简单起见)。重要性函数应将特征f2的得分高于特征f1,即I2>I1,由于特征f2用于解释更多实例。
虽然我们希望选择包含重要组件的实例,但在它们向用户展示的组件中,解释集不能是多余的,即避免选择具有类似解释的实例。在图5中,在选择第二行之后,第三行没有添加任何值,因为用户已经看到了特性f2和f3,而最后一行添加了新的特征。选择第二行和最后一行可以覆盖几乎所有的特性。我们在等式(3)中将这种非冗余覆盖直觉形式化,其中我们将覆盖定义为给定W和I的集合函数c,它计算在集合中V至少一个实例中出现的特征的总重要性。
设 c(V∪{i},W,i)−c(V,W,i)是向集合V添加实例 i 的边际覆盖增益。由于子模块性,贪婪算法迭代地将具有最高边际覆盖增益的实例添加到解中。我们概述了算法2中pick步骤的这种近似,并称之为 submodular pick。
5、 模拟用户实验
5.1 实验设置
我们使用两个情绪分析数据集(书籍和DVD,各2000个实例),其中的任务是将产品评论分为正面或负面。我们将每个数据集分为train(1600个实例)和test(400个实例)。
为了解释个别预测,我们将我们提出的方法(LIME)与parzen进行了比较,对于parzen,我们以具有最高绝对梯度的K个特征作为解释。我们使用交叉验证为parzen和LIME设置超参数,并设置N=15000。我们还与greedy过程(类似于Martens和Provost)进行比较,其中我们贪婪地删除对预测类贡献最大的特征,直到预测发生变化(或达到特征的最大值K),以及random过程随机选择K个特征作为解释。在我们的实验中设置K=10。
对于应用pick程序的实验,我们要么进行随机选择(random pick,RP),要么执行第4节中描述的程序(submodular pick,SP)。我们通过添加RP或SP作为前缀来引用pick-explainer组合。
5.2 解释是否与模型相符?
我们衡量分类器上解释的忠实性,分类器本身是可解释的(稀疏逻辑回归和决策树)。特别是,我们训练两个分类器,使它们在任何实例中使用的最大特征数为10。对于这样的模型,我们知道一组真正重要的特性。对于测试集上的每个预测,我们生成解释并计算由解释恢复的真正重要特征的分数。我们报告了图6和图7中所有测试实例的平均召回率。我们观察到贪婪方法在logistic回归上与parzen方法相当,但在决策树上则更差,因为一次改变一个特征通常不会对预测产生影响。然而,对于parzen解释器来说,文本是一个特别困难的例子,因为在高维上难以近似原始分类器,因此parzen的整体召回率很低。在这两个数据集中,LIME一致地为logistic回归和决策树提供了90%的召回率,证明了LIME的解释对模型是相当忠实的。