XAI/MLI 可解释机器学习系列1- 开源&paper汇总
持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第3天,点击查看活动详情
一直在关注可解释领域,因为确实在工作中有许多应用
- 模型检查,特征重要性是否符合预期和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 throughpropagating 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, 以及在模型解释不如预期的时候如何追查原因。说白了就是要在玄学中找规律。。。所以后面我们会找个数据集来试试看
持续更新中~
- 聊聊损失函数1. 噪声鲁棒损失函数简析 & 代码实现
- XAI/MLI 可解释机器学习系列1- 开源&paper汇总
- CTR代码实现5-深度ctr模型 DeepCrossing -> DCN
- CTR代码实现6-深度ctr模型 后浪 xDeepFM/FiBiNET
- AB实验人群定向HTE模型5 - Meta Learner
- 无所不能的Embedding7 - 探索通用文本表达[FastSent/InferSent/GenSen/USE]
- tensorflow踩坑合集2. TF Serving & gRPC 踩坑
- 中文NER的那些事儿3. SoftLexicon等词表增强详解&代码实现
- 无所不能的Embedding2 - 词向量三巨头之FastText详解
- 无所不能的Embedding1 - 词向量三巨头之Word2vec模型详解&代码实现
- 中文NER的那些事儿1. Bert-Bilstm-CRF基线模型详解&代码实现