[可解释性分析]LIME
1. 前言
出自论文《“Why Should I Trust You?”Explaining the Predictions of Any Classifier》,LIME是通用的机器学习可解释性分析方法。使用“可解释特征”,训练“可解释模型”,在“特定样本的局部线性邻域”拟合“原模型”。通过可解释模型的特征权重,定量分析特征重要度,及特定样本的某个特征对模型预测某一类的影响。挑选有代表性的非冗余样本,代表模型全局可信度。在表格、文本、图像等数据模态上的模拟实验和人工实验,都表现出良好的可信性和可解释性。
2. 算法原理
2.1. 思路
总体思路:使用“可解释特征”,训练“可解释模型”,在“特定样本的局部线性邻域”拟合“原模型”。
如下图所示,LIME的思想是在需要关注的样本点,在该样本点周围进行扰动采样,并按照他们到X额距离赋予样本权重,然后用原模型对这些样本进行预测,获得标签值,并使用这些局部样本,训练一个可解释性比较强的线性模型,这样就可以利用线性模型的可解释性,对复杂模型进行局部解释。
如下图所示,原始的模型很复杂,非线性,但是在待测样本附近,可以拟合一个局部线性模型。
如下图所示,X为原始特征(样本数据),转换为可解释特征X’代表的样本,然后扰动X’获得领域特征Z’,再将Z’恢复为原始特征Z,将Z输入原模型获得预测值f(z),重复n遍,最后使用所有X’为样本,f(z)为标签,训练一个可解释模型g。
2.2. 目标函数
LIME会产生一个新的数据集(选定样本x周围进行扰动得到), 接着在这个新的数据集上,训练一个简单模型(可解释的模型), 通过以下目标函数衡量衡量两个模型之间的差异:
- f表示原始的模型, 即需要解释的模型;
- g表示简单模型, G是简单模型的一个集合, 如所有可能的线性模型;
- πx表示新数据集中的数据x'与原始数据 x的距离;
- Ω(g)表示模型g的复杂程度;
假设原始模型f为需要被解释的复杂模型,对实例x 的解释模型是模型g (例如线性回归模型),G 是可能的可解释模型的集,接近度πx 定义了实例x 附近进行采样的邻域大小(即对x附近进行扰动,扰动前后的样本距离)。我们希望可解释模型的复杂度Ω(g) 保持较低水平时,最小化损失L (例如均⽅误差) ,即解释模型g 与原始模型f 预测的接近程度。
2.3. 样本相似度
在样本X附近进行扰动,对扰动前后的样本相似度进行定义,样本类型不同会有不同的定义(文本的话就是余弦相似性,图像的话就是L2范数距离)。相似度计算公式如下
2.4. 最终函数
有了相似度的定义,便可以将原先的目标函数改写成如下的形式。其中f(z)就是扰动样本,在d维空间(原始特征)上的预测值,并把该预测值作为答案,g(z’)则是在d’维空间(可解释特征)上的预测值,然后以相似度作为权重,因此上述的目标函数便可以通过线性回归的方式进行优化。
3. 不同领域的应用
原始特征vs可解释特征:
在文本分类领域,原始特征是抽象是Word Embedding,可解释特征是unigram词袋模型(二进制向量,位代表是否有指定单词)。
在图像分类,原始特征是代表三通道像素的tensor,可解释特征是连续图块的二进制表示(图像用分割后,用二进制代表是否存在特定图块)。
3.1. 表格数据
对每个待测样本特征进行扰动取样,并在原模型上获得标签值,然后基于这些训练一个可解释模型,然后在待测样本上就可以使用这个可解释模型进行解释了。
3.2. 图像数据
原始图片,利用超像素分割算法,分割为m个区域,然后将这m个区域当作是原图的m个特征,对区域使用灰色模块进行遮挡形成2^m个样本,如下图所示:
将这些样本喂入原模型,获得预测值,并利用可解释性特征(图块向量)和预测值,训练一个局部线性模型,用这个模型结合图块特征对原模型进行解释,如下图所示:
3.3. 文本数据
在文本分类任务上,原模型使用的特征是Word Embedding:
将其转为可解释性的词袋模型:
然后在词袋模型的基础上进行扰动,取样,训练局部线性模型,最后用这个模型解释原模型。
4. 优缺点与挑战
4.1. 优点
- 兼容任意一种机器学习算法
特征重要性:解释、理解、信赖、改进 (特征工程) - What-if 场景:如果每个月多挣500元,额度是多少
- 可解释单个样本预测结果、选取代表性样本
可人工设计、构造可解释特征
4.2. 缺点
- 人工设计、构造的“可解释特征”’,不一定科学
- “局部线性”可能无法拟合原模型
- 不同样本,如何计算邻域样本权重
- 每个待测样本都需训练对应可解释模型,耗时长
4.3. 挑战
- 如何构造可解释特征——仍然需要人工先验知识。
- 如果原模型在局部邻域仍然非线性,可解释模型无法很好拟合。
5. 参考
[1] LIME机器学习可解释性分析
[2] LIME: explain Machine Learning predictions
[3] 机器学习可解释性Lime方法小结
(完)