前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习模型的可解释性

机器学习模型的可解释性

作者头像
曲奇
发布2021-12-14 20:06:12
1.9K0
发布2021-12-14 20:06:12
举报
文章被收录于专栏:曲奇的博客曲奇的博客

通过模型可解释方法,可以直观地传递关于模型行为的解释,比如为什么这个样本被预测为这个标签,某个特征对预测结果起到了什么样的作用。

1.1 可解释的重要性

  1. 模型改进 通过可解释分析,可以指导特征工程。一般我们会根据一些专业知识和经验来做特征,并分析特征重要性,可以挖掘更多有用的特征,尤其是在交互特征方面。当原始特征众多时,可解释性分析将特别重要。 科学的目标是获取知识,模型本身应该成为知识的来源,而不是结果或数据。比如在一个文本分类任务中,判断文章是与“基督教”(Christianity)有关还是“无神论教”(Atheism)”,模型准确率,90%多很高。但是用LIME进行可解释分析发现,Posting(邮件标头的一部分)这个词重要性很高,但这个词汇与无神论本身并没有太多的联系,只是因为在无神论文章中出现的频次很高。这意味着尽管模型准确率很高,但所使用的原因是错误的。我们可以借此改进模型,判断是否捕捉到有意义的特征。
  2. 检测偏见 方差和偏差是机器学习中广泛讨论的话题。有偏差的模型经常由有偏见的事实导致,即数据本身很有可能带有偏差。某类特征的偏差可能对我们结果导致不好的影响。
  3. 模型可信度 对使用模型的运维人员来讲,可能只只知道预测结果是什么,是否异常,但是人类的好奇心是天性,想知道模型为什么要给出这样的预测,我为什么要相信模型的结果。解决模型可解释问题有利于用户更加放心地应用和部署在真实场景上。

1.2 可解释分类

Pre-Model vs. In-Model vs. Post-Model

  • pre-model的解释独立于模型本身,他们只能应用于数据。比如提供一个对数据更好的理解。这和数据可解释性很接近,包括了数据分析和数据探索。常见的方法从描述统计学到数据可视化,包括PCA,t-SNE,聚类方法等。
  • in-model主要是模型本质可解释。又称为Intrinsic。比如模型本身存在的稀疏性、单调性、因果性,或外在约束,或是模型权重。
  • post-model指已经建立模型之后再去做可解释分析。又称为Post hoc。

Model Specific, Model Agnostic

  • model specific指方法本身是基于特定模型的。比如线性模型的权重就是model-specific的。
  • model agnostic指方法可以应用于任何模型,同时也是后验的(post hoc)。这种方法是分析输入和输出,而不能分析到模型内部。

上述两种分类方法的关联:

可解释方法的返回结果

  • Feature summary:一些可解释性方法返回每个特征的一些统计信息,比如每个特征一个重要性衡量。有些方法是用图示来表示的特征统计的,比如partial dependence plots。
  • Model Internals:对一些本质可解释的模型,他们的输出比如线性模型的权重。当然,他们的输出是model-specific的。
  • Data Point:返回一些本身可解释的数据点,比如图片和文本。但是对高维的连续型样本可能没有用。
  • Surrogate intrinsically interpretable model:使用一个替代模型去解释原来的黑盒模型,把问题转化为对替代模型的解释。

可解释性的范围

  • 全局可解释 这个层级的可解释性指的是,模型如何基于整个特征空间和模型结构、参数等作出决策的。什么特征是重要的,特征交互会发生什么。模型的全局可解释性可以帮助理解,针对不同特征,目标变量的分布是什么。
  • 局部可解释 局部可解释性更加关注单条样本或一组样本。这种情况下我们可以将模型看做是一个黑盒,不再考虑模型的复杂情况。单条样本来看,模型给出的预测值和某些特征可能是线性关系,甚至是单调关系。因此局部可解释性可能相比全局可解释,更加准确点。

1.3 可解释的模型

最简单的机器学习可解释性就是直接使用可解释模型,比如逻辑回归、线性模型、决策树。

可解释的模型主要考虑以下几个性质:

  • 线性:特征取值和标签取值是否存在线性关系
  • 单调性:特征取值和标签取值是否存在单调性关系
  • 交叉:一些模型能自动交叉特征

1.4 模型解释方法

model-specific 依赖模型

比如对DNN的话,主要有以下方法:guided backpropagation, integrated gradients, SmoothGrad saliency maps, Grad-CAM, Concept Activation Vectors。这些方法主要应用于CV领域。

还有一类post-hoc的model-specific方法---知识蒸馏,将一个复杂模型化为一个简单模型。比如模型压缩,树的正则化,降维。

model-agnostic 独立于模型

不取决于模型的机器学习后验(模型已做完训练和预测)的解释方法,这块总结主要摘取自论文《Machine Learning Interpretability: A Survey on Methods and Metrics》[1]。

1.5 模型可解释方法SHAP

Shapley值法是指所得与自己的贡献相等,是一种分配方式。普遍用于经济活动中的利益合理分配等问题。最早由美国洛杉矶加州大学教授罗伊德·夏普利(Lloyd Shapley)提出。shapley值法的提出给合作博弈在理论上的重要突破及其以后的发展带来了重大影响。简单的来说就是使分配问题更加的合理,用于为分配问题提供一种合理的方式。

SHAP将Shapley值解释表示为一种可加特征归因方法,SHAP将模型的预测值解释为每个输入特征的归因值之和。与feature importance相比,SHAP value最大的优势是SHAP能反映出每一个样本中的特征的影响力,而且还表现出影响的正负性。

一个特征的shapley value是该特征在所有的特征序列中的边际贡献的加权平均值

第i个样本实例的Shapley value的解释:对第i个样本实例来说,其所有特征值对预测目标值的总贡献(也就是预测目标实际值)与预测目标平均值之差。

1.5.1 原理

f(x) 是一个线性模型,X 是一个样本,xj 是该样本的一个特征值,

[公式]
[公式]

是该特征的权重:

[公式]
[公式]
[公式]
[公式]

是第 j 个特征对预测值

[公式]
[公式]

的贡献,其中

[公式]
[公式]

是该特征取值的期望

[公式]
[公式]

然后把一个样本所有特征值的贡献进行求和,样本x 所有特征的贡献之和等于目标预测值减去目标平均预测值

[公式]
[公式]

1.5.2 性质

1 效率性

特征贡献的累加等于x的预测和预测平均值的差值

[公式]
[公式]

2 对称性

如果两个特征值j和k的贡献对所有可能的特征序列贡献相同,则他们的贡献应该相同。

[公式]
[公式]

3 虚拟性

一个不改变预测值的特征j,无论它添加到哪个特征值序列中,Shapley值都应该为0。

[公式]
[公式]

1.5.3 实践1

20170315_training

这里使用的是机器学习的方法来对API曲线中出现的异常点进行预测,图中棕色的方块标记就是模型预测出的异常,在这里用的模型是随机森林。

如上图,选择10:00左右的异常区间中一个点,计算各个特征的Shapley value。并且这个样本最终的预测值由各个特征的shapley value贡献,加上预测目标平均值得到的。

预测目标平均值为0.5,在这个例子中,对增加预测概率起到最大作用的特征是涨幅(increasing),表示当前点相对于上一个点的涨幅。在这里涨幅是-0.1012,说明这里时间序列值掉了超过10%。对增加预测概率起作用排在第二位的是变异系数(coefficient_of_variation),表示当前值与历史依赖的变异系数。

20170315_training_shap

1.5.2 实践2

20200420_prediction

如上图,选择17点左右被模型预测出来的异常点,计算各个特征的Shapley value。

预测目标平均值为0.5,在这个例子中,对增加预测概率起到最大作用的特征是偏度(skew),表示当前值与历史依赖数据的偏度。在这个异常点中,偏度取值为1.572。但是,这个样本的异常概率预测出来只是0.51,异常程度不是特别高。此类样本可被判别为异常也可以不判。

20200420_prediction_shap

1.5.3 实践3

20200501_prediction

如上图,选择0点左右被模型预测出来的异常点,计算各个特征的Shapley value

预测目标平均值为0.5,在这个例子中,对增加预测概率起到最大作用的特征是值域(range),表示当前值与历史依赖数据的值域。在这个异常点中,值域取值为0.2016。样本预测异常的概率有0.87。值得注意的是,变异系数在这两个例子中都起到了降低异常概率的作用,所以变异系数会不会是一个效果较差的特征?

20200501_prediction_shap

1.6 模型可解释方法LIME

LIME全称是Local Interpretable Model-Agnostic Explanations。LIME与模型无关,这意味着它可以应用于任何机器学习模型。该技术试图通过扰动数据样本的输入并理解预测的变化来理解模型。

流程

  • 训练模型,模型(记作 ff)可以是LR、NN、Wide and deep、C4.5 Decision tree、Random forest、GBDT等任意模型。
  • 训练结束后我们需要解析模型,先选择一个待解析的样本,样本通过模型计算可以得到一个prediction(包含预测的label以及预测为1的probability),这时我们在这个样本的附近选择新的样本并用模型计算出多个prediction,这样样本组合新的样本集。
  • 然后使用新的可解析的特征和prediction作为label来训练新的简单模型(例如LR),然后使用简单模型的权重作为这些特征的重要性作为输出。

就是选择一个样本以及样本附近的点,然后训练一个简单模型来拟合,虽然简单模型不能在完整数据集上有效,但至少在这个点附近都是有效的,这个简单模型的特征是人类可解析的,而训练出的权重也可以表示特征重要性。

1.6.1 实践1

20200420_prediction

这里使用的是机器学习的方法来对API曲线中出现的异常点进行预测,图中棕色的方块标记就是模型预测出的异常,在这里用的模型是随机森林。

如上图,选择17点左右被模型预测出来的异常点,我们使用LIME方法计算该点的特征解释情况。

下图是LIME的输出,给我们解释了对于一个样本的预测结果,是哪些特征决定样本被分类到类别0,哪些特征决定样本被分类到类别1,且具体列出样本在这些特征的数值大小。很直观和明确的解释为什么模型做这个决定。

在这个例子中,相对上周变化(diff_last_week)特征对该样本预测为异常贡献最大,该特征取值为0.14,说明这个时间戳的值相对上周同期上升了14%。但是该样本的预测置信度不是很高,预测为异常和预测为正常的概率相差不多。

20200420_prediction_LIME

1.6.2 实践2

20200501_prediction

如上图,选择0点左右被模型预测出来的异常点,使用LIME方法计算该点的特征解释情况。

在这个例子中,对增加预测概率起到最大作用的特征是值域(range),表示当前值与历史依赖数据的值域。在这个异常点中,值域取值为0.2016。这个正好和SHAP算法计算出来是一致的,两种算法都表明值域对此样本预测为异常贡献最大。

20200501_prediction_LIME

1.7 问题项

在应用中,存在一些问题可以思考:

  1. 在异常区间较大,是由多个样本组成的时候,选择哪一个样本去做机器学习解释?比如第一个异常点。
  2. 目前大多数时间序列特征已经相对抽象,像变异系数、偏度等,用户得知此特征对预测异常有较大帮助之后,是否有真正的帮助?并且,依然存在理解门槛的问题,所以目前的技术,好像比较难真正帮助用户理解模型。
  3. LIME和SHAP作为单独的特征可解释性方法,不依赖于模型,其本身置信度如何?
  4. 模型本身是特征之间的高阶交叉,从单个特征的重要性可能没有办法解释高阶交叉对预测结果的帮助。

Reference

  1. Diogo V. Carvalho, Machine Learning Interpretability: A Survey on Methods and Metrics
  2. Friedman, J.H. Greedy function approximation: A gradient boosting machine. Ann. Stat. 2001, 29, 1189–1232.
  3. Goldstein, A.; Kapelner, A.; Bleich, J.; Pitkin, E. Peeking inside the black box: Visualizing statistical learning with plots of individual conditional expectation. J. Comput. Gr. Stat. 2015, 24, 44–65.
  4. Apley, D.W. Visualizing the Effects of Predictor Variables in Black Box Supervised Learning Models. arXiv 2016, arXiv:1612.08468.
  5. Friedman, J.H.; Popescu, B.E. Predictive learning via rule ensembles. Ann. Appl. Stat. 2008, 2, 916–954.
  6. Fisher, A.; Rudin, C.; Dominici, F. Model Class Reliance: Variable Importance Measures for any Machine Learning Model Class, from the “Rashomon” Perspective. arXiv 2018, arXiv:1801.01489.
  7. Ribeiro, M.T.; Singh, S.; Guestrin, C. “Why Should I Trust You?”: Explaining the Predictions of Any Classifier. In Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, San Francisco, CA, USA, 13–17 August 2016; pp. 1135–1144.
  8. Lundberg, S.M.; Lee, S.I. A unified approach to interpreting model predictions. In Advances in Neural Information Processing Systems; MIT Press: Cambridge, MA, USA, 2017; pp. 4765–4774.
  9. Staniak, M.; Biecek, P. Explanations of model predictions with live and breakDown packages. arXiv 2018, arXiv:1804.01955.
  10. Ribeiro, M.T.; Singh, S.; Guestrin, C. Anchors: High-Precision Model-Agnostic Explanations. In Proceedings of the AAAI Conference on Artificial Intelligence (AAAI), New Orleans, LA, USA, 2–7 February 2018.
  11. Wachter, S.; Mittelstadt, B.; Russell, C. Counterfactual Explanations without Opening the Black Box: Automated Decisions and the GDPR.(2017). Harv. J. Law Technol. 2017, 31, 841
  12. Kim, B.; Khanna, R.; Koyejo, O.O. Examples are not enough, learn to criticize! Criticism for interpretability. In Advances in Neural Information Processing Systems; MIT Press: Cambridge, MA, USA, 2016; pp. 2280–2288.
  13. Koh, P.W.; Liang, P. Understanding black-box predictions via influence functions. arXiv 2017, arXiv:1703.04730.
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.1 可解释的重要性
  • 1.2 可解释分类
    • Pre-Model vs. In-Model vs. Post-Model
      • Model Specific, Model Agnostic
        • 可解释方法的返回结果
          • 可解释性的范围
          • 1.3 可解释的模型
          • 1.4 模型解释方法
            • model-specific 依赖模型
              • model-agnostic 独立于模型
              • 1.5 模型可解释方法SHAP
                • 1.5.1 原理
                  • 1.5.2 性质
                    • 1 效率性
                      • 2 对称性
                        • 3 虚拟性
                          • 1.5.3 实践1
                            • 1.5.2 实践2
                              • 1.5.3 实践3
                              • 1.6 模型可解释方法LIME
                                • 1.6.1 实践1
                                  • 1.6.2 实践2
                                  • 1.7 问题项
                                  • Reference
                                  领券
                                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档