写点什么

黑盒模型事后归因解析:四种常用基本方法

  • 2020-05-11
  • 本文字数:3821 字

    阅读完需:约 13 分钟

黑盒模型事后归因解析:四种常用基本方法

机器学习模型应用到银行业等金融领域时,需要保证其安全可靠。目前学术界已研究出一些基本的模型事后解释方法,旨在解决机器学习“黑箱”问题,加速 AI 技术在业界的深度融合与应用。索信达 AI 创新中心致力于可解释机器学习模型的研究与推广,在内在可解释模型、事后归因解析方法等方面已有一些成果与应用。我们将通过本文介绍部分事后归因解析方法,解密黑箱模型。


在可解释机器学习领域,获取可解释性最简单的方法是使用传统的可解释统计模型,如线性回归、逻辑回归、决策树模型等。然而,传统统计模型却往往有精度低的弊端,为了追求更高的精度,人们往往选用现在比较流行的一些机器学习模型,其中包含黑箱模型。


黑箱模型精度很高,但可解释性差,人们无法知道为什么模型给出了这个结果,更不清楚如何判断结果的合理性。为了解决这个问题,科学家们提出一种与模型无关的可解释方法(model-agnostic interpretable)。它能够在模型训练完成后解析出部分可解释性质,从而摆脱了模型本身的限制。


我们将分三部分介绍几个与模型无关的可解释方法:


(一)VI、PDP、ICE、ALE


(二)LIME


(三)SHAP


本文将介绍第一部分。除了阐明相关原理,为了演示与模型无关的可解释方法,我们从 Blockchain.org 下载了一组比特币近两三年的价格数据,以及与之相关的货币交易统计、区块信息、采矿信息、网络活动等多维度特征数据。作为一种典型黑箱模型,XGBoost 被用来建立多维特征与比特币价格之间的预测关系,训练得出的 R 方高达 0.9795。下面我们将用不同方法对模型结果进行归因解析。

1 变量重要性

变量重要性(Variable Importance)也被称为特征重要性(Feature Importance),指的是当某个变量的值发生改变后,模型在预测表现上的差异。如果一个特征非常重要,它对模型精度的影响会很大。通过对一个模型的特征重要性进行排序,就可获得对模型的全局解释。


在与模型无关的几种特征重要性判断方法中,我们举例介绍一种“置换特征重要性”算法(Permutation Feature Importance Algorithm),其基本过程如下:


  1. 已知:训练出的模型,特征矩阵,目标变量以及损失函数;

  2. 通过损失函数计算出原始模型误差;

  3. 对于特征矩阵中的每一个特征:

  4. 随机置换该特征的取值,从而得到了一个新的置换特征矩阵。由于改变了原有特征的值,该特征与目标变量之间的原有关系被打破;

  5. 使用新的置换特征矩阵得到模型预测值,并计算出置换模型的误差;

  6. 通过计算置换模型误差和原始模型误差的差异来反映特征重要度。

  7. 将计算出的每个特征的特征重要度按降序排列。


下图显示的是基于比特币数据集的 Xgboost 模型变量重要性排行榜。从中我们能清晰地看出区块信息“区块总大小”这个变量极其重要,其次是交易量、平均区块大小等等。



这种方法能够针对模型提供一种高度浓缩、全局化的解释。但是,当特征变量之间高度相关时,置换特征重要性的方法会产生一定程度的偏差。

2 部分依赖图

部分依赖图简称 PDP,能够展现出一个或两个特征变量对模型预测结果影响的函数关系:近似线性关系、单调关系或者更复杂的关系。


给定任意黑箱模型,定义一个部份依赖函数:



其中, 表示我们所感兴趣的特征变量,表示所有其他变量。通过对进行积分,我们得到一个只依赖于的函数。该函数即为部份依赖函数,它能够实现对单一变量的解释。


在实际操作中,我们通常使用蒙特卡洛方法,通过计算训练集的平均值,来得到部分依赖函数,具体公式如下图所示,其中 n 表示样本容量。



单一变量 PDP 图的具体实施步骤如下:


  1. 挑选一个我们感兴趣的特征变量,并定义搜索网格;

  2. 将搜索网格中的每一个数值代入上述 PDP 函数中的,使用黑箱模型进行预测,并将得到的预测值取平均。

  3. 画出特征变量的不同取值与预测值之间的关系,该图即为部分依赖图。


以比特币数据集为例,我们使用 PDP 方法对 XGBoost 模型结果进行解析。下图刻画的是单变量“区块大小”与比特币价格之间的函数关系。这是一个典型的非线性关系:当“区块大小”在 12000-15000 范围内增长时,比特币价格逐渐上涨;随着“区块大小”的进一步增长,会对比特币价格产生负向影响,直到区块大小高于 20000 时,又会对比特币价格产生正向影响。



PDP 图的优点在于易实施,缺点在于不能反映特征变量本身的分布情况,且拥有苛刻的假设条件——变量之间严格独立。若变量之间存在相关关系,会导致计算过程中产生过多的无效样本,估计出的值比实际偏高。另一个缺点是样本整体的非均匀效应(Heterogeneous effect):PDP 只能反映特征变量的平均水平,忽视了数据异质对结果产生的影响。

3 个体条件期望图

个体条件期望图(ICE Plot)计算方法与 PDP 类似,它刻画的是每个个体的预测值与单一变量之间的关系。个体条件期望图消除了非均匀效应的影响,它的原理和实现方法如下:对某一个体,保持其他变量不变,随机置换我们选定的特征变量的取值,放入黑箱模型输出预测结果,最后绘制出针对这个个体的单一特征变量与预测值之间的关系图。


继续以上述比特币数据为例,下图反映的是“区块大小”对比特币价格影响的 ICE 图,其中浅蓝色线反映的是每个个体的条件期望图,深蓝色线反映所有个体的平均水平。从图中可看出所有个体并不一定遵循相同的变化趋势,因此相较于 PDP 的一概而论,ICE 图能够更准确地反映特征变量与目标之间的关系。



如果想要比较不同个体间的差异,需要将他们的起始点进行“统一”,这就是所谓的“中心化 ICE 图”,如下图所示。



ICE 图的优点在于易于理解,能够避免数据异质的问题。在 ICE 图提出之后,人们又提出了衍生 ICE 图,能够进一步检测变量之间的交互关系并在 ICE 图中反映出来。


ICE 图的缺点在于只能反映单一特征变量与目标之间的关系,仍然受制于变量独立假设的要求,同时 ICE 图像往往由于个体过多导致图像看起来过于冗杂,不容易获取解释信息。

4 累积局部效应图

累积局部效应图(Accumulated Local Effects plot),用于描述特征变量对预测目标的平均影响。ALE 最大的特点是摆脱了变量独立性假设的约束,使其在实际环境中获得了更广泛的运用。


若两个特征变量之间存在相关性,要剥离出单一特征变量对目标的纯粹影响,一种方法是利用条件分布计算出预测值并对结果取平均。举例来说,若相关,想要计算出对于目标的影响,需先固定并构建一个条件分布函数,如,再放入模型计算出预测值,从而达到“固定仅反映预测值之间关系”的目标。这种方法看似有效,但实际却存在问题,它真正反映出的是的联合效应与预测值之间的关系。


下面介绍 ALE 的原理:通过计算局部效应来消除相关性的干扰。仍以比特币数据为例,探究“区块大小”与比特币价格之间的关系。由于“区块大小”和“(挖矿)难度”之间存在相关性,我们的目标是找出“区块大小”与预测值之间纯粹的影响关系。首先,计算出特征变量“区块大小”在某一点对预测值的影响:如下图所示将空间划分成一系列区间,假设某一点落在 N(7)这个区间内,使用模型计算出该区间左右两个边界点处的预测值,两个预测值相减后的差值即能反映出变量在这一点对目标的影响大小。鉴于每一个小区间内通常会存在多个样本点,此时将他们的预测结果取平均,便能得到该区间内“区块大小“与比特币价格之间的关系。


这种方法之所以能够消除变量相关性的影响是因为在一个小的区间内,相关变量的取值基本不变,两个边界点预测值的差别仅仅来自于变量“区块大小”取值的差别。因此,特征变量的纯粹影响能够被剥离出来。这种方法就叫做局部效应法(Local Effect)。



要获知某单一变量在整个值域上对预测值的影响,需要进一步引出累积局部效应法(Accumulated Local Effect)。累积局部效应法将单个局部效应进行累积,能够反映单一特征变量对预测结果的整体影响情况。


下面举例说明:在比特币数据集中,变量“区块大小”与“(挖矿)难度”之间呈强相关关系,相关系数超过 0.95。若研究单变量对目标的影响,则 PDP、ICE 两种方法不再适用。使用 ALE 方法处理后能得到如下所示的图。相较于前文的 PDP 图,ALE 图置信区间更窄,精确度更高。



同时,使用 ALE 方法也可以研究具有强相关性的两个变量对目标的联合效应。以比特币数据为例,“哈希率”和“(挖矿)难度”之间存在强相关性,他们对比特币价格的联合效应如下图所示:红色代表比特币价格高于平均值,蓝色代表比特币价格低于平均值。这张图反映出了“哈希率”与“(挖矿)难度”之间的交互关系:挖矿难度较大且哈希率较高(大于 0.8)会提高比特币价格。当哈希率处于 0.5-0.7 的范围且挖矿难度较大时,会降低比特币价格。



综上,ALE 方法有三个优点:第一,ALE 方法做出的图是无偏的。由于 ALE 能够处理特征之间的相关关系,做出的图像不会受到联合效应的影响。第二,ALE 的计算速度比 PDP 快,需要计算的次数少于 PDP。第三,ALE 图的解释非常清晰明了。由于剥离了相关变量的影响,人们可以很容易对特征变量和模型结果进行解释。


ALE 方法同样存在一些问题,比如如何去确定区间,到底确定多少个区间比较合适等等,都是需要进一步的研究与探讨。

5 总结

上述介绍的 VI、PDP、ICE 和 ALE 是“与模型无关的解释方法”中最基本、最常用的四种。四种方法各有利弊,人们可以针对实际的业务场景有选择性地应用这些方法,从而达到技术与业务相结合、一加一大于二的效果。


原文链接:


https://mp.weixin.qq.com/s/fEy1A0IjwQC46JS6PBIByA


2020-05-11 08:305103

评论

发布
暂无评论
发现更多内容

探索式测试-用Scrum的套路做测试

大头

Scrum 敏捷测试 探索测试 敏捷迭代

JVM内存管理--GC算法精解(五分钟教你终极算法---分代搜集算法)

java易二三

编程 程序员 计算机 科技 技术宅

并发中atomic BUG分享

FunTester

TextBrewer:融合并改进了NLP和CV中的多种知识蒸馏技术、提供便捷快速的知识蒸馏框架、提升模型的推理速度,减少内存占用

汀丶人工智能

人工智能 自然语言处理 知识蒸馏

让三驾马车奔腾:华为如何推动空间智能化发展?

脑极体

全屋智能

Zebec Protocol ,不止于 Web3 世界的 “Paypal”

BlockChain先知

Go 注释

小万哥

Go 程序员 云原生 后端 开发

SpringBoot3进阶用法

Java 架构 springboot SpringBoot3

有奖活动 | 大咖论道:一同畅聊鸿蒙生态

HarmonyOS开发者

HarmonyOS

10. 数据类型 - 元组详解

茶桁

Python 数据类型 tuple

适合自己企业的erp系统怎么选?这8条关键因素缺一不可!

优秀

ERP系统

Zebec Protocol ,不止于 Web3 世界的 “Paypal”

西柚子

何时使用Elasticsearch而不是MySql

越长大越悲伤

MySQL elasticsearch

Programming abstractions in C阅读笔记:p76-p83

codists

梳理日常开发涉及的负载均衡

WizInfo

负载均衡 网关

CMake中使用vcpkg

芯动大师

【腾讯云 Cloud Studio 实战训练营】使用Cloud Studio快速构建React完成点餐H5页面还原

小小白

腾讯云 Cloud Studio

代码随想录Day41 - 动态规划(三)

jjn0703

企业轻量应用,云耀云服务器L实例能帮大忙!

YG科技

挖掘数据价值,助力企业智能升级丨华为云华为云通用AI解决方案简评

YG科技

Zebec Protocol ,不止于 Web3 世界的 “Paypal”

大瞿科技

Zebec Protocol ,不止于 Web3 世界的 “Paypal”

股市老人

k8s安装prometheus

tiandizhiguai

k8s Promethues

【腾讯云 Cloud Studio 实战训练营】使用Cloud Studio构建SpringSecurity权限框架

小鲍侃java

Java' spring、

深入理解 HDFS(三):HRPC

冰心的小屋

hdfs RPC hadoop rpc

erp系统都有哪几家,如何选择适合自己企业的erp系统?

优秀

ERP系统

吴声年度演讲,关于Notion 的“模版”和 CLG |highlight

B Impact

Zebec Protocol ,不止于 Web3 世界的 “Paypal”

威廉META

Zebec Protocol ,不止于 Web3 世界的 “Paypal”

鳄鱼视界

黑盒模型事后归因解析:四种常用基本方法_AI&大模型_索信达控股_InfoQ精选文章