interpretable machine learning

最近入了可解释机器学习的坑。


Stop explaining black box machine learning models for high stakes decisions and use interpretable models instead

1.模型的准确度和可解释度成反比,accuracy/ interpretability/explainability trade-off。有图
2.解释一定是错误的。他们对原始模型不能完全保真。如果解释完全忠实于原始模型的计算结果,则该解释将等于原始模型,并且首先不需要解释的就是原始模型。
关于解释的一个更重要的误解源自术语“解释”,该术语通常以一种误导性的方式使用,因为解释模型并不总是试图模仿原始模型所做的计算。
甚至预测模型几乎与黑盒模型相同的解释模型也可能会使用完全不同的功能,因此对黑盒的计算也不忠实。
3.解释通常没有意义,或者没有提供足够的细节来理解黑匣子在做什么。即使两个模型都是正确的,也有可能由于解释遗漏了太多信息,因此毫无意义 。

1.constructing optimal logical models 建立逻辑模型,像决策树那样的
2.construct optimal sparse scoring systems 建立评分系统,对特征评分
3.define interpretability for specific domains and create methods accordingly, including computer vision 对特定领域建立解释方法

Interpretable machine learning/ definitions, methods, and applications

  1. 可解释定义
  2. 因果关系(相关但领域不同)和Stability
  3. 可解释模型在数据分析周期中的地位:在模型建立阶段的可解释是model-based的,在事后阶段的可解释是post-hoc的
  4. 给出评估可解释模型的方法PDR:predictive accuracy, descriptive accuracy, and relevancy.预测准确性,描述准确性和相关性
    预测准确性:ML模型的预测
    描述准确性:可解释ML对解释的ML的还原度
    两种准确性有trade-off
    相关性:interpretable ML要是领域相关的。对于同一组数据,不同专业的人想要不同的解释
    model-based模型影响预测准确性和描述准确性;post-hoc只影响描述准确性
  5. Model-bases
    可解释模型总是用在医疗领域
    Sparsity 稀疏易解释
    Simulatability 可模拟的 如决策树的if-then规则
    Modularity
    Domain-based feature engineering 领域独特的方法,如视觉上cnn可视化kernel
    Model-based feature engineering PCA
  6. post-hoc
    局部解释和全局解释。
    预测级别的解释方法着重于解释模型做出的各个预测,例如哪些特征和/或相互作用导致了特定的预测。
    数据集级别的方法侧重于模型已学习的全局关系,例如哪些视觉模式与预测的响应相关联。
    这两个类别有很多共同点(实际上,数据集级别的方法通常会在预测级别产生信息),但是我们将分别讨论它们,因为不同级别的方法存在显着差异。

Explaining Explanations: An Overview of Interpretability of Machine Learning

  1. XAI(explainable IA).COMPAS its predictions were unreliable and racially biased.

  2. Explanation=interpretable+completeness
    The most accurate explanations are not easily interpretable to people; and conversely the most interpretable descriptions often do not provide predictive power.
    在解释时应在可解释性和完整性之间进行权衡。
    系统不仅应提供简单的描述,还应允许以更高的解释性和更高的代价进行更详细和完整的描述。
    权衡取舍时,不应在单个点上评估解释方法,而应根据它们在从最大可解释性到最大完整性的曲线上的行为进行评估。

DNN的可解释分类
Explanations of Deep Network Processing
(proxy model)可以通过创建行为与原始模型相似但更易于解释的代理模型来完成,(salience map)也可以通过创建显着图以突出显示与计算最相关的一小部分来实现。

  1. Linear proxy model: LIME
  2. Proxy model: decision tree
  3. Automatic-Rule Extraction 将DNN的神经元变成if-then规则
  4. Salience Mapping 以Zeiler [38]的遮挡程序为例,其中重复测试了网络,并遮盖了部分输入以创建一个图,该图显示了数据的哪些部分实际上对网络输出产生了影响。
    Explanations of Deep Network Representations
  5. Role of Layers
  6. Role of Individual Units
  7. Role of Representation Vectors
    Explanation-Producing Systems
  8. attention
  9. Disentangled Representations
  10. Generated Explanations

评估方法
the tradeoff between inter- pretability and its completeness can be seen not only as a balance between simplicity and accuracy in a proxy model. The tradeoff can also be made by anchoring explanations to substitute tasks or evaluating explanations in terms of their ability to surface important model biases.可解释性和完整性之间的权衡不仅可以看作是代理模型中简单性和准确性之间的平衡。也可以通过锚定解释以替代任务,或者根据其解释重要模型偏差的能力来评估解释来进行权衡。

A Survey of Evaluation Methods and Measures for Interpretable Machine Learning

  1. Auditing Inexplicable AI
    审计方法侧重于算法决策中的问题性影响,并忽略了技术实施细节。
  2. Explanation Formats
    视觉:Attention maps and visual saliency in the form of heatmaps
    语言:Verbal explanations
    Analytic explanation
  3. what to explain
    why-type explains
    why-not explains
    what-if explanations
    How-to explanation
  4. XAI的评估方法
    从方法和目标受众分类

Explainable machine-learning predictions for the prevention of hypoxaemia during surgery

预测手术中出现低氧血症。辅助麻醉师预测病人是否在手术中会出现低氧血症,预测是可以解释的。
使用的方法:梯度提升算法
解释的方法:SHAP

Intelligible Models for HealthCare/ Predicting Pneumonia Risk and Hospital 30-day Readmission

generalized additive models(GAM)加法模型

generalized additive models with pairwise interactions(GA^2M)

使用梯度提升/bagging训练
因为模型简单,GAM可以考虑成逻辑回归,GA2M最后一项可以用热力图可视化

Learning Important Features Through Propagating Activation Differences

DeepLIFT用一些“参考”输入的输入差异来解释某些“参考”输出的输出差异。
“参考”输入代表根据当前问题适当选择的一些默认或“中性”输入。 对minist来说 这个参考是0,也就是图片的背景

使用反向传播差异得到特征对预测的贡献

A Unified Approach to Interpreting Model Predictions

  1. LIME,DeepLIFT,传统shapley其实就是加法模型
  2. shapley的性质
    local accuracy即局部准确性,表示每个特征的重要度之和等于整个Function的重要度
    missingness即缺失性,表示缺失值对于特征的重要度没有贡献
    consistency即一致性,表示改变模型不会对特征的重要度造成改变。

提出的方法SHAP(SHapley Additive exPlanation )
SHAP values as a unified measure of feature importance.
python有了SHAP库

其实就是吧shapley的公式用在了机器学习模型上

An Interpretable Disease Onset Predictive Model Using Crossover Attention Mechanism From Electronic Health Records

将诊断和治疗分开,分别用RNN学习。再使用交叉attention(crossover attention mechanism )连接提供解释

Axiomatic Interpretability for Multiclass Additive Models

  1. boosted trees 扩展到多分类
  2. interpretability of GAMs in the multiclass setting(普通的GAM分类超过两个是就无法解释)

Understanding Black-box Predictions via Influence Functions

https://zhuanlan.zhihu.com/p/28520049

论文是ICML2017 best Papp 儿

文章从训练数据的角度出发,解释模型的预测结果。具体地说,输入一个测试样本 ,模型给出了预测结果 ,我们想知道这一行为与哪些训练样本关系最大;换个角度说,把这些训练样本去掉,或者改变他们的label,那模型就很可能在 上给出不同的预测结果。

    1. 增加训练样本的权重
      第一步,研究改变某个训练样本的权重对 的影响。
      从训练集中选出一个样本 ,将 在训练集中的权重增加 ,这时根据ERM得到的模型参数变为

现在,我们想知道模型参数的变化与训练样本权重变化的关系,这个被称作影响函数(influence function):

其中 是经验风险的Hessien矩阵,并且假设是正定的。本质上这个式子是对经验风险做了二阶泰勒展开,然后按照牛顿法向前走了一步。
第二步,利用链式法则,研究改变某个训练样本的权重对测试样本loss的影响。

    1. 与欧氏距离的关系
      想要计算某个测试样本与某个训练样本之间关系的紧密程度,一个方法是直接求样本间的欧氏距离,距离越小关系越紧密。但现在,可以使用influence function替代欧氏距离。
      作者以logistic regression为例,令 ,其中 是 函数,想要计算测试样本 的loss与训练样本 的关系,根据前面的公式,展开得到 为

如果使用欧氏距离作为度量,那二者的关系为

前面的式子长很多,这里主要关注两点区别:
第一, 这一项是一个只与训练样本有关的权重,样本的训练损失越大,权重就越大,而训练损失大的样本很可能是outlier,也就是说outlier对模型参数影响很大。
第二, 前者在
之间多了一个
,这个Hessian矩阵的逆反应了训练集中其他所有样本对
的抗性(resistence),如果训练样本在某个方向上variation很大,那这个方向的抗性就比较大,反之亦然。

  1. 从ImageNet中取鱼和狗的图片,分别使用Inception和RBF SVM进行二分类,然后找了一张鱼的测试图片,观察跟它相关的影响函数。
    在RBF SVM模型里,影响函数与欧氏距离相关度很大(第二行左图),说明RBF SVM学到了一些表面东西;
    而在Inception里,影响函数与欧氏距离相关度很小(第三行左图),说明Inception学到了真正的结构信息。
    而且在Inception里,即使是狗的图片,只要分类正确,同样可以对鱼的测试图片的分类有正面的影响。
    1. 修正错误的标注
      这是我个人比较感兴趣的一个应用,真实数据里标注错误还是挺常见的,对标注的check是个很大的问题,这里就借助影响函数寻找标注错误。思路就是找到对模型影响最大的训练数据,这个问题没有测试集,直接用 表示训练样本 的影响。
      实验是在垃圾邮件分类任务上进行的,人为将训练集中10%的样本标签翻转,训练好模型后,对每个样本计算影响函数 ,检查影响函数值较大的样本,这样可以快速发现标注错误的样本,提升分类准确率。
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值