XAI/MLI 可解释机器学习系列1- 开源&paper汇总
一直在关注可解释机器学习领域,因为确实在工作中有许多应用
- 模型检查,特征重要性是否符合预期和AUC一样重要
- 模型解释,比起虚无缥缈的模型指标,解释模型学到的规律更能说服业务方
- 样本解释,为什么这些用户会违约,是否有指标能提前预警?
- 决策归因,有时模型只是提取pattern的方式,最终需要给到归因/决策,例如HTE模型和XAI结合是否也是一种落地方式
18年被H2O Driverless AI 提供的可解释机器学习引擎(下图)种草后,就对这个领域产生了兴趣。不过用的越多,XAI暴露的问题就越多,比如特征的微调可能会导致整个特征解释发生翻天覆地的变化,再比如表现很好的模型会给出完全不能理解的特征解释。不过在接触因果推理后希望可以换个视角来看XAI,于是重新捡起这个系列(挖坑慎入,这是一个18年就开始挖,到现在都没有填完的坑)~

Algo & paper
开源库每个算法只提供了一个,大多是原作者或者我用过的,并不一定是start最多的,要是你知道better source欢迎留言哟~
| 算法 | paper | GitHub |
|---|---|---|
| Permutation Importance | 【1】 | eli5 |
| Feature Importace | 计算方法有多种【2】 | LGB/XGB/sklearn自带 |
| Surrogate Model | 【3】 | h2o.ai |
| Local interpretable model_agnostic explanations(LIME) | 【4】 | lime |
| Leave one covariate out(LOCO) | 【5】 | h2o.ai |
| Individual Conditional Expectation(ICE) | 【6】 | PDPbox |
| Partial Dependence Plot(PDP) | 【7】 | PDPbox |
| shapley/SHAP | 【8】【9】【10】 | shap |
| DeepLift | 【11】 | deeplift |
| Layerwise Relevance Propagation(LRP) | 【12】 | LRP demo |
| Integrated Gradients | 【13】 | Integrated-Gradients |
【1】Breiman, 2001, Random Forests
【2】方法有很多可以找xgb/lgb文档来看
【3】Osbert Bastani, Carolyn Kim, and Hamsa Bastani, 2017. Interpreting Blackbox Models via Model Extraction.
【4】Ribeiro, Marco Tulio, Sameer Singh, and Carlos Guestrin. Why should I trust you?: Explaining the predictions of any classifier. 2016
【5】Jing Lei, Max G’Sell, Alessandro Rinaldo, Ryan J. Tibshirani, and Larry Wasserman, 2016, Distribution-Free Predictive Inference For Regression
【6】Goldstein, Alex, et al, 2015, Peeking inside the black box: Visualizing statistical learning with plots of individual conditional expectation.
【7】J. H. Friedman, 2001, Greedy function approximation: a gradient boosting machine
【8】Lundberg, Scott M., and Su-In Lee, 2017. A unified approach to interpreting model predictions
【9】Lundberg, Scott M., Gabriel G. Erion, and Su-In Lee, 2018. Consistent individualized feature attribution for tree ensembles.
【10】Sundararajan, Mukund, and Amir Najmi, 2019, The many Shapley values for model explanation
【11】 Avanti Shrikumar, Peyton Greenside, and Anshul Kundaje, 2017 . Learning important features through
propagating activation differences
【12】Sebastian Bach, Alexander Binder, Grégoire Montavon, Frederick Klauschen, Klaus-Robert Müller,
and Wojciech Samek, 2015. On pixel-wise explanations for non-linear classifier decisions by layer-wise
relevance propagation
【13】Mukund Sundararajan, Ankur Taly, and Qiqi Yan, 2017. Axiomatic attribution for deep networks
Tutorial
以下tutorial不同程度覆盖了上述算法,这两年的只能看paper咯。
推荐第一本,据说是LMU2019年学生研讨会的作业汇总。。。引入了因果的概念来分析在哪些情况下XAI会cheating,虽然大多是点到即止没有深入,不过指出的一些坑命中率还是很高的>_< ,有一句话记忆很深刻 可解释算法解释的是模型学到了什么,而非实际数据表现如何
- Limitations of Interpretable Machine Learning Methods
- Interpretable Machine Learning, A Guide for Making Black Box Models Explainable.
- OREILLY, Ideas on interpreting machine learning
- Kaggle, Machine Learning Explainability
- H2O AI, An-Introduction-to-Machine-Learning-Interpretability-Second-Edition
- MLI-source
- h2o.ai interpretable_machine_learning_with_python
- h2o.ai awesome-machine-learning-interpretability
XAI的难度不在理解算法本身,而是算法和数据结合时,你需要知道什么时候算法会fail, 以及在模型解释不如预期的时候如何追查原因。说白了就是要在玄学中找规律。。。所以后面我们会找个数据集来试试看
持续更新中~
XAI/MLI 可解释机器学习系列1- 开源&paper汇总的更多相关文章
- Weka中数据挖掘与机器学习系列之Weka系统安装(四)
能来看我这篇博客的朋友,想必大家都知道,Weka采用Java编写的,因此,具有Java“一次编译,到处运行”的特性.支持的操作系统有Windows x86.Windows x64.Mac OS X.L ...
- Weka中数据挖掘与机器学习系列之Exploer界面(七)
不多说,直接上干货! Weka的Explorer(探索者)界面,是Weka的主要图形化用户界面,其全部功能都可通过菜单选择或表单填写进行访问.本博客将详细介绍Weka探索者界面的图形化用户界面.预处理 ...
- Spark2.0机器学习系列之11: 聚类(幂迭代聚类, power iteration clustering, PIC)
在Spark2.0版本中(不是基于RDD API的MLlib),共有四种聚类方法: (1)K-means (2)Latent Dirichlet all ...
- Spark2.0机器学习系列之10: 聚类(高斯混合模型 GMM)
在Spark2.0版本中(不是基于RDD API的MLlib),共有四种聚类方法: (1)K-means (2)Latent Dirichlet allocation (LDA) ...
- Spark2.0机器学习系列之9: 聚类(k-means,Bisecting k-means,Streaming k-means)
在Spark2.0版本中(不是基于RDD API的MLlib),共有四种聚类方法: (1)K-means (2)Latent Dirichlet allocation (LDA) ...
- Weka中数据挖掘与机器学习系列之Weka Package Manager安装所需WEKA的附加算法包出错问题解决方案总结(八)
不多说,直接上干货! Weka中数据挖掘与机器学习系列之Weka系统安装(四) Weka中数据挖掘与机器学习系列之Weka3.7和3.9不同版本共存(七) 情况1 对于在Weka里,通过Weka P ...
- Weka中数据挖掘与机器学习系列之Weka3.7和3.9不同版本共存(七)
不多说,直接上干货! 为什么,我要写此博客,原因是(以下,我是weka3.7.8) 以下是,weka3.7.8的安装版本. Weka中数据挖掘与机器学习系列之Weka系统安装(四) 基于此,我安装最新 ...
- 【转】自学成才秘籍!机器学习&深度学习经典资料汇总
小编都深深的震惊了,到底是谁那么好整理了那么多干货性的书籍.小编对此人表示崇高的敬意,小编不是文章的生产者,只是文章的搬运工. <Brief History of Machine Learn ...
- 机器学习&深度学习经典资料汇总,data.gov.uk大量公开数据
<Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost到随机森林.D ...
随机推荐
- 解析webpack插件html-webpack-plugin
前言: 本文将分为基本概念.基础使用.模块的运用(问题解决)来进行阐述. 一.基本概念 我们为什么会需要HtmlWebpackPlugin插件? 在真实发布项目时,发布的是dist文件夹中的内容,但是 ...
- SICP 题解集合
1.1(略) 1.2 biwascheme> (/ (+ 5 4 (- 2 (- 3 (+ 6 (/ 4 5))))) (* 3 (- 6 2) (- 2 7))) => -0.24666 ...
- 蓝桥杯 试题 历届试题 对局匹配 DP解决
问题描述 小明喜欢在一个围棋网站上找别人在线对弈.这个网站上所有注册用户都有一个积分,代表他的围棋水平. 小明发现网站的自动对局系统在匹配对手时,只会将积分差恰好是K的两名用户匹配在一起.如果两人分差 ...
- 使用for循环疑难问题
接触js的基本语句之后,有一些疑难杂症在初期很难自己想出来,对我自己来说for输出三角形,倒三角行还有等腰三角形还是有点难度,所以记录一下,以便以后查找 倒三角,需要控制每行的输出个数,此处可以想象为 ...
- Spring_api方式实现aop
第一步: public interface UserService { public void add(); public void update(int a); public void delete ...
- C# HttpClient 使用 Consul 发现服务
试用了Overt.Core.Grpc, 把 GRPC 的使用改造得像 WCF, 性能测试也非常不错, 非常推荐各位使用. 但已有项目大多是 http 请求, 改造成 GRPC 的话, 工作量比较大, ...
- 【java】关键字volatile
volatile 1. 含义: volatile是JVM提供的轻量级的同步机制,具有三个特点:保证可见性.不保证原子性.禁止指令重排. 1.1 保证可见性 一个线程修改了共享变量并写回主内存,其他线程 ...
- [软件版本贴]SD.TEAM软件集
手机轰炸机-版本:v1.0.下载地址:http://pan.baidu.com/1.zip! 营销软件盒-版本:v1.0.下载地址:http://pan.baidu.com/2.zip! 不加群提取群 ...
- Rocket - debug - TLDebugModuleInner - Drive Custom Access
https://mp.weixin.qq.com/s/1bIqzDYXM36MIfSsjvvYIw 简单介绍TLDebugModuleInner中的针对Custom的访问. 1. customNode ...
- Java实现 LeetCode 594 最长和谐子序列(滑动窗口)
594. 最长和谐子序列 和谐数组是指一个数组里元素的最大值和最小值之间的差别正好是1. 现在,给定一个整数数组,你需要在所有可能的子序列中找到最长的和谐子序列的长度. 示例 1: 输入: [1,3, ...