写点什么

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

  • 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:305655

评论

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

DataPipeline荣膺CFS第十届财经峰会“2021数字化转型推动力奖”

DataPipeline数见科技

大数据 数据融合 数据管理

gitlab无法通过ssh拉代码

阿呆

#GitLab

关于Spring注解开发教程,打包全送你

华为云开发者联盟

Java spring 容器 注解 组件

Hologres揭秘:深度解析高效率分布式查询引擎

阿里云大数据AI技术

2021Java笔试题总结!Java个人学习之旅(第十天)

策划Java工程师

Java 程序员 后端

android 工作资料!职场中的中年危机

欢喜学安卓

android 程序员 面试 移动开发

2021Java面经:Android屏幕适配-重点盘点

策划Java工程师

Java 程序员 后端

基于 Apache APISIX,新浪微博API网关的定制化开发之路

API7.ai 技术团队

Apache 网关 APISIX 微博

编译脚本:编写CMakeFile(一)

正向成长

CMakeFile

2021Java春招面试真题详解,Git-如何优雅地回退代码

策划Java工程师

Java 程序员 后端

你使用的SimpleDateFormat类还安全吗?

华为云开发者联盟

Java 安全 线程 高并发 SimpleDateFormat类

啃书一年多的我,推荐Python初学者不要在乱看书了,有这三本就妥妥的

冇先生

频繁出现的分布式拒绝服务 (DDoS) 攻击​,有什么办法可以抵御吗?

九河云安全

【性能优化实战】Android架构组件Room功能详解

欢喜学安卓

android 程序员 面试 移动开发

FIL分币系统源码|分销商城功能开发模式介绍

Geek_23f0c3

fil Fil算力挖矿分币系统 Filecoin分销商城

ironSource 在 2021 ChinaJoy 举办多场活动赋能中国开发者

从河南暴雨、疫情反弹看区块链“灾疫”治理

CECBC

立体车库数据管理被卡脖子?织信车库管理系统全面掌控车辆新状况

优秀

低代码

FastApi-04-请求体-1

Python研究所

FastApi 8月日更

TRTC代码示例文档集合完毕!哪里不会点哪里!

腾讯云音视频

腾讯云 音视频 API sdk

面试官:你了解JVM的锁优化吗?

百度开发者中心

Java 最佳实践 方法论 语言 & 开发

防火墙 Keepalived 异常双活恢复后部分外网访问中断问题分析

Qunar技术沙龙

运维 防火墙 网络 故障诊断 keep-alive

迅捷录屏大师 Tech Support

凌天一击

当企业遭遇分布式拒绝服务 (DDoS) 攻击时,第一时间该如何进行操作?

九河云安全

Linux 网络管理技术 OSI 七层模型和 TCP/IP 四层模型

学神来啦

Linux 运维 IP

下一个颠覆的领域:区块链如何影响审计行业?(下)

CECBC

双非本化学跨专业,投岗阿里/滴滴后端三面,最终拿下offer

编程菌

Java 编程 程序员 面试 计算机

区块链技术如何有效应对气候变化

CECBC

Python代码阅读(第2篇):数字转化成列表

Felix

Python 编程 Code Programing 阅读代码

分布式拒绝服务 (DDoS) 攻击对企业运维造成的影响分析

九河云安全

2021Java大厂面试集合,java多线程

策划Java工程师

Java 程序员 后端

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