可解释机器学习- LIME模型讲解|interpretable machine learning-LIME

Contents

  • 原理
  • 计算流程
  • 优势
  • 劣势
  • Reference

原理

  • LIME生成了一个新的数据集,数据集由扰动的样本(permuted samples)黑箱模型对应的预测构成。LIME在这个数据集上训练一个可解释模型(比如lasso或决策树),该模型根据生成样本与真实样本的近似程度(proximity)来加权
  • 如何生成扰动的样本:
    • 对于图像和文字,可以通过隐藏一些像素点(pixels)或单词
    • 对于表格数据(tabular),LIME对于每一个特征单独进行扰动,比如说从正态分布中采样,该正太分布由特征的均值和方差决定
  • LIME是在保持可解释模型复杂度较低的情况下,尽可能减小loss(可解释模型与原始模型的接近程度,也就是对扰动后产生的数据集拟合)
  • 但在实际应用中,用户需要确定复杂度

可解释机器学习- LIME模型讲解|interpretable machine learning-LIME_第1张图片

计算流程

  1. 选择ML模型和需要解释的样本点
  2. 生成样本
  3. 根据生成样本,使用blackbox模型产生预测值
  4. 对样本进行加权,权重是生成样本点和参考点的相似程度,相似程度通过不同的核函数进行计算(比如RBF kernel)
  5. 加权线性回归,回归系数就是对应特征的解释

使用InterpretML对 PCA+Random Forest组合成的黑箱模型进行解释,结果如下

  • 如何使用请参考:https://blog.csdn.net/qq_41103204/article/details/125796207

可解释机器学习- LIME模型讲解|interpretable machine learning-LIME_第2张图片

优势

  • 即使替换了底层(underlying)的机器学习模型,仍然可以用局部的可解释模型进行解释
  • 当使用lasso或者决策树的时候,解释是简短的(有选择性的),并且是可以比较的(contrastive)。但需要更全面的解释的时候,LIME就不合适了
  • 可用于表格数据(tabular),文本和图像
  • 保真度度量fidelity measure (可解释模型与黑盒预测的近似程度) 使我们很好地了解了可解释模型在解释感兴趣的数据实例附近的黑盒预测方面的可靠性
  • 用局部代理模型创建的解释可以使用除原始模型所用以外的其他 (可解释) 特征。当然,这些可解释的特征必须从数据实例中派生。文本分类器可以将抽象词嵌入作为特征,但解释可以基于句子中是否存在词。回归模型可以依赖于某些属性的不可解释的转换,但是可以使用原始属性来创建解释。与其他方法相比,对LIME 使用可解释特征可能是一个很大的优势,尤其是当模型使用不可解释特征进行训练时
  • 比如上面的例子,分类模型Random Forest是基于PCA降维后的特征,但是LIME可以把PCA+Random Forest当成一个黑箱,直接在原始数据上进行解释。

劣势

  • 当对表格式数据使用 LIME 时,**正确定义邻域(correct definition of the neighborhood)**是一个很大的未解决的问题,需要尝试不用的核函数,来看解释是否合理
  • 采样可能不合理。现在只通过高斯分布来采样,忽略了特征之间的相关性,这会导致一些不可能的数据出现在训练样本中
  • 解释不稳定(instability)。两个相近的样本点,解释非常不同

可解释机器学习- LIME模型讲解|interpretable machine learning-LIME_第3张图片

可解释机器学习- LIME模型讲解|interpretable machine learning-LIME_第4张图片

从第一张图可以看到,正确的邻域应该是绿色圆圈表示的区域,要尽可能包括ML的线形区域。但是不同的核函数的宽度会带来不同的邻域,如图二。

Reference

  • https://interpret.ml/
  • https://christophm.github.io/interpretable-ml-book/
  • https://towardsdatascience.com/lime-explain-machine-learning-predictions-af8f18189bfe

你可能感兴趣的:(Python机器学习基础教程,机器学习,人工智能,算法)