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


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%的样本标签翻转,训练好模型后,对每个样本计算影响函数 ,检查影响函数值较大的样本,这样可以快速发现标注错误的样本,提升分类准确率。

interpretable machine learning相关推荐

  1. 【机器学习笔记】可解释机器学习-学习笔记 Interpretable Machine Learning (Deep Learning)

    [机器学习笔记]可解释机器学习-学习笔记 Interpretable Machine Learning (Deep Learning) 目录 [机器学习笔记]可解释机器学习-学习笔记 Interpre ...

  2. zz[读书笔记]《Interpretable Machine Learning》

    [读书笔记]<Interpretable Machine Learning> Jul 19, 2019 看到这本书,特意翻了下微博妖僧老冯_之前的一条微博,这样写道:"在机器学习 ...

  3. 可解释机器学习(Explainable/ Interpretable Machine Learning)的原理和应用(李宏毅视频课笔记)

    文章目录 0 前言 1 Introduction of Explainable/ Interpretable ML 1.1 Why we need Explainable ML? 1.2 Interp ...

  4. 解密谷歌机器学习工程最佳实践——机器学习43条军规 翻译 2017年09月19日 10:54:58 98310 本文是对Rules of Machine Learning: Best Practice

    解密谷歌机器学习工程最佳实践--机器学习43条军规 翻译 2017年09月19日 10:54:58 983 1 0 本文是对Rules of Machine Learning: Best Practi ...

  5. Paper:《Multimodal Machine Learning: A Survey and Taxonomy,多模态机器学习:综述与分类》翻译与解读

    Paper:<Multimodal Machine Learning: A Survey and Taxonomy,多模态机器学习:综述与分类>翻译与解读 目录 <Multimoda ...

  6. Machine Learning Algorithms Study Notes--Supervised Learning

    转载自:http://www.tuicool.com/articles/VvuIvqU Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Mic ...

  7. Machine Learning Basics(2)

    文章目录 CODE WORKS CONTENTS Capacity, Overfitting and Underfitting The No Free Lunch Theorem Regulariza ...

  8. Machine Learning Algorithms Study Notes

    2    Supervised Learning    3 2.1    Perceptron Learning Algorithm (PLA)    3 2.1.1    PLA -- " ...

  9. 论文阅读 :A survey of visual analytics techniques for machine learning

    题目:A survey of visual analytics techniques for machine learning A survey of visual analytics techniq ...

  10. Explaining complex machine learning models with LIME

    (This article was first published on Shirin's playgRound, and kindly contributed to R-bloggers) 272 ...

最新文章

  1. linux设备驱动之总线、设备、驱动
  2. wince支持多线程编程吗_以前面试只问多线程,现在都开始问响应式编程了!我懵了...
  3. SDO_GEOMETRY结构说明
  4. 苹果系统的自带的系统录屏软件中新录制的视频会出现在这里!
  5. Activity (项目实战:选择宝宝装备-UsersRegister)【Intent打开Activity、数据传递-回传、更新进度条】
  6. Caffe训练过程:test_iter test_interval等概念
  7. 第一个错误的版本_寻找第一个错误的版本
  8. 5个Python特性 越早知道越好的
  9. 李兴华java开发实战经典---Java数据库编程
  10. STM8S003F3P6采集DS18B20数码管显示 串口通讯
  11. Android 获取设备SN号
  12. java安装后为什么是英文_java用到英语多吗
  13. 网站地图是什么,怎么制作和查看网站的地图呢?
  14. 大M法的介绍以及建模过程中if else的实现
  15. 牙医管家口腔管理软件DSD微笑设计3.8版本更新
  16. 随笔杂记(十二)——_pickle.UnpicklingError: unpickling stack underflow
  17. linux 获取视频截图,linux ffmpeg 视频截图 安装使用
  18. 汇编中的串操作指令(MOVS,CMPS,SCAS,LODS,STOS)
  19. 基于内存搜索的进程检测方法
  20. 在不解压缩的情况下修改压缩包内的文件

热门文章

  1. 深度解析dubbo源码 (dubbo整体设计) (二)
  2. 2021FME博客大赛 —— 利用FME实现三调地类图斑统计分析
  3. 图书管理系统的E-R图和数据库模型图
  4. UDA/语义分割/ICCV2021:Dual Path Learning for Domain Adaptation of Semantic Segmentation语义分割领域自适应的双路径学习
  5. Android开发--内容提供者(Content provider)
  6. 【解决问题】java.lang.ClassNotFoundException: com.Application 问题的几种解决方案
  7. 不输 MacType,这些优化思路也能让 Windows 字体细腻清晰
  8. android webview 魅族,魅族 Flyme 系统出现大面积应用闪退问题,提供临时解决方法...
  9. Android性能优化(第一章)
  10. opencv convertTo函数详解