写点什么

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

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

评论

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

2023移动端技术探索

轻口味

android 移动端 行业趋势 三周年连更

《详谈·张勇》

石云升

读书笔记 三周年连更

挑战 30 天学完 Python:Day13 列表推导式和Lambda

MegaQi

挑战30天学完Python 三周年连更

Go的内存模型:如何保证并发读写的顺序性?

Jack

iOS MachineLearning 系列(9)—— 人物蒙版图生成

珲少

多维评测指标解读2022MSU世界编码器大赛结果

阿里云CloudImagine

云计算 编码 编码器 视频云 MSU

招商证券与易观千帆达成合作,持续深耕数字化金融

易观分析

金融 证券

一键生成rpc网关服务项目代码,让你轻松实现跨语言、跨平台的服务调用

vison

微服务 Go 语言 gin 代码自动生成 rpc gateway

深入理解vue2.x双向数据绑定原理

不叫猫先生

Vue vue响应式 三周年连更

ChatGPT-4!又双叒叕写了一本量化交易的书(附下载)

量化投资与机器学习

机器学习 量化投资 ChatGPT4 对冲基金 Quant

sdn网络

乌龟哥哥

三周年连更

Git 速查表:初学者必备的 12 个 Git 命令

Se7en

基于STM32+华为云设计的智慧烟感系统

DS小龙哥

三周年连更

【直播回顾】3月银行APP用户体验评测+中国金融业财富管理AI应用分析

易观分析

金融 银行

Qz学算法-数据结构篇(非线性结构、树)

浅辄

数据结构 三周年连更

Spring Boot之根据数据库连接信息指定分页查询表结构信息

bug菌

Spring Boot 2 spring-boot 三周年连更

【Linux】之Jumpserver堡垒机的部署_搭建

A-刘晨阳

Linux 跳板机 三周年连更

Java 中的 null 到底是什么?

Java架构历程

Java 三周年连更

《一文带你读懂:云原生时代业务监控》

后台技术汇

三周年连更

程序员失业:现实还是幻想?| 社区征文

断墨寻径

人工智能 三周年征文

如何在 Linux 中查看正在运行的进程?这三个命令轻松实现!

wljslmz

Linux 三周年连更

干货|SpringBoot JMS(ActiveMQ)API实践应用详解

浅羽技术

Apache 中间件 ​ActiveMQ 消息列队 三周年连更

Selenium操作已经打开的浏览器

IT蜗壳-Tango

三周年连更

Bitmap引起的OOM问题

芯动大师

App 三周年连更 Out Of Memory

【Python实战】Python采集图书信息

BROKEN

三周年连更

大数据集群的部署实例

TiAmo

大数据 集群 三周年连更 开发实例

产品质量管理利器,华为云发布CodeArts Defect缺陷管理服务

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

2023 年要避免的 17 个致命的网站设计错误

海拥(haiyong.site)

三周年连更

从软件哲学角度谈 Amazon SageMaker

亚马逊云科技 (Amazon Web Services)

Amazon SageMaker

什么是软件开发领域的 disruptive innovation

汪子熙

软件工程 软件开发 三周年连更

探秘!第四代北斗芯片

江湖老铁

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