How does the trained model make predictions?为了解释模型的全局输出,需要训练模型了解算法和数据。这个层级的可解释性指的是,模型如何基于整个特征空间和模型结构、参数等作出决策的。什么特征是重要的,特征交互会发生什么。模型的全局可解释性可以帮助理解,针对不同特征,目标变量的分布是什么。实际在,模型具有大量参数的情况下,人们很难想象 特征之间是如何相互作用的,以得到这样的预测结果。某些模型在这个层级是可以解释的。例如线性模型的权重是可以解释的,树模型如何划分分支和如何得到结点预测值是可以解释的。
1.2.3 局部可解释(Local Interpretability)
Why did the model make a certain prediction for an/a group of instance?
Local Interpretable Model-Agnostic Explanation(LIME) ,通过名字便可以看出,该模型是一个局部可解释模型,并且是一个与模型自身的无关的可解释方法。通过扰动输入样本(perturb the input),来对模型的预测结果进行解释。该算法不止适用于表格型(tabular)数据,而且适用于文本和图片任务。论文作者提出了解释器需要满足的四个条件:
参考资料 文章:[1] Interpretable Machine Learning A Guide for Making Black Box Models Explainable.: https://christophm.github.io/interpretable-ml-book/ [2] 可解释的机器学习: https://zhuanlan.zhihu.com/p/71907204 [3] Kaggle课程-Machine Learning Explainability: https://www.kaggle.com/learn/machine-learning-explainability [4] 机器学习模型可解释性的详尽介绍: https://www.jiqizhixin.com/articles/2019-10-30-9 [5] A Brief History of Machine Learning Models Explainability: https://medium.com/@Zelros/a-brief-history-of-machine-learning-models-explainability-f1c3301be9dc [6] Shapley, LIME and SHAP: https://ypei.me/posts/2018-12-02-lime-shapley.html [7] Interpreting machine learning models:https://towardsdatascience.com/interpretability-in-machine-learning-70c30694a05f [8] What If... you could inspect a machine learning model, with minimal coding required?: https://pair-code.github.io/what-if-tool/ [9] Papers on Explainable Artificial Intelligence: https://github.com/anguyen8/XAI-papers [10] Limitations of Interpretable Machine Learning Methods: https://compstat-lmu.github.io/iml_methods_limitations/ [11] Comparison between SHAP (Shapley Additive Explanation) and LIME (Local Interpretable Model-Agnostic Explanations): https://stats.stackexchange.com/questions/379744/comparison-between-shap-shapley-additive-explanation-and-lime-local-interpret [12] One Feature Attribution Method to (Supposedly) Rule Them All: Shapley Values: https://towardsdatascience.com/one-feature-attribution-method-to-supposedly-rule-them-all-shapley-values-f3e04534983d [13] Introduction to AI Explanations for AI Platform: https://cloud.google.com/ml-engine/docs/ai-explanations/overview [14] Hands-on Machine Learning Model Interpretation: https://towardsdatascience.com/explainable-artificial-intelligence-part-3-hands-on-machine-learning-model-interpretation-e8ebe5afc608 论文:[15] Friedman, J. (2001). Greedy Function Approximation: A Gradient Boosting Machine. The Annals of Statistics, 29(5):1189–1232. : https://statweb.stanford.edu/~jhf/ftp/trebst.pdf [16] Goldstein, A., Kapelner, A., Bleich, J., and Pitkin, E., Peeking Inside the Black Box: Visualizing Statistical Learning With Plots of Individual Conditional Expectation. (2015) Journal of Computational and Graphical Statistics, 24(1): 44-65: https://arxiv.org/abs/1309.6392 [17] Lundberg S M, Erion G G, Lee S I. Consistent individualized feature attribution for tree ensembles[J]. arXiv preprint arXiv:1802.03888, 2018.: https://arxiv.xilesou.top/abs/1802.03888 [18] Ribeiro M T, Singh S, Guestrin C. Why should i trust you?: Explaining the predictions of any classifier[C]//Proceedings of the 22nd ACM SIGKDD international conference on knowledge discovery and data mining. ACM, 2016: 1135-1144.:https://dl_acm.xilesou.top/citation.cfm?Id=2939778 [19] Lundberg S M, Lee S I. A unified approach to interpreting model predictions[C]//Advances in Neural Information Processing Systems. 2017: 4765-4774.: http://papers.nips.cc/paper/7062-a-unified-approach-to-interpreting-model-predicti [20] Nori H, Jenkins S, Koch P, et al. InterpretML: A Unified Framework for Machine Learning Interpretability[J]. arXiv preprint arXiv:1909.09223, 2019.: https://arxiv.org/pdf/1909.09223.pdf [21] AI Explainability Whitepaper-Google: https://storage.googleapis.com/cloud-ai-whitepapers/AI%20Explainability%20Whitepaper.pdf 开源库:[22] eli5: https://github.com/TeamHG-Memex/eli5 [23] pdpbox: https://github.com/SauceCat/PDPbox [24] shap: https://github.com/slundberg/shap [25] lime: https://github.com/marcotcr/lime [26] interpret: https://github.com/interpretml/interpret [27] skater: https://github.com/oracle/Skater