写点什么

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

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

评论

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

都别拦着我,我要删库了

MySQL从删库到跑路

Linux oracle重装 MySQL 运维 root

数字经济2.0—趋势、逻辑、选择

CECBC

区块链 数字经济

读——沟通的艺术,看入人里,看出人外(第三章)

废材姑娘

MySQL-技术专题-事务和并发一致性问题

码界西柚

头条终面:写个消息中间件

yes

面试 消息队列

Kubeless 架构设计 | 玩转 Kubeless

donghui

Serverless kubeless

mybatis plus 自动更新数据库时间的小坑

废材姑娘

Java mybatis

当我在听播客时,我在听什么?

Nydia

深拷贝链表,python处理音频信号和数字信号、vim教程、swift单元测试和UI测试 John 易筋 ARTS 打卡 Week 21

John(易筋)

单元测试 ARTS 打卡计划 python 数字信号 vim教程 深拷贝链表

MySQL-技术专题-mysql的联合索引

码界西柚

第四周 作业一:系统架构【未陌】

a d e

系统架构

JAVA中的内部类详解

倔强的攻城狮

Java

第四周 作业二:系统架构学习总结【未陌】

a d e

系统架构 互联网架构

kubernetes是微服务发展的必然产物

架构师修行之路

Kubernetes 分布式 微服务

图解超难理解的 Paxos 算法(含伪代码)

多颗糖

分布式 算法 分布式系统 架构师 一致性算法

后疫情时期,看区块链如何赋能文创产业加快经济复苏?

CECBC

区块链技术 文创产业

打破区块链游戏经济的隔阂,或许该从跨游戏资产入手

CECBC

区块链 游戏

Week 2命题作业

balsamspear

极客大学架构师训练营

IDEA常用设置、快捷键及代码模板

jiangling500

IDEA

Week 2 学习总结

balsamspear

极客大学架构师训练营

MySQL-技术专题-解决死锁问题

码界西柚

中国首个“芯片大学”即将落地;生成对抗网络(GAN)的数学原理全解

京东科技开发者

技术 网络 GAN 芯片

架构师训练营第 1 期 - 第四周课后练习

Anyou Liu

极客大学架构师训练营

有状态的服务其实可以做更多的事情

架构师修行之路

分布式 微服务

Netty源码解析 -- 服务端启动过程

binecy

Netty nio

反向保理系统设计

森林

学习笔记:架构师训练营-第四周

四夕晖

高并发 系统架构演化

浅析:线程安全

朱华

Java 多线程与高并发

甲方日常 29

句子

工作 随笔杂谈 日常

【高并发】秒杀系统架构解密,不是所有的秒杀都是秒杀(升级版)!!

冰河

并发编程 高并发 架构设计 秒杀 异步

实现一个简单的 MobX

局外人

大前端 js React

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