NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

  • 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


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2020-05-11 08:304144

评论

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

为鸿蒙OS说两句公道话(我对鸿蒙OS的一些看法)

Phoenix

一周信创舆情观察(5.24~5.30)

统小信uos

联邦学习这件小事

趣链科技

区块链 联邦学习 技术架构

2021年阿里/腾讯/美团/字节1万道Java中高级面试题汇总,新鲜出炉

Java架构师迁哥

☕【JVM技术之旅】全流程化分析Java对象的创建过程

洛神灬殇

JVM 6月日更 对象布局 内存结构

前后端分离浅析以及分离教程

北游学Java

前后

新手小白必须知道的Linux基础:常用命令(1)

学神来啦

Linux linux命令 linux运维 linux 文件权限控制 Linux教程

大专学历成功拿下阿里offer,分享面经及我的Java面试复习资料

Java架构之路

Java 程序员 架构 面试 编程语言

Qcon全球软件开发大会 融云分享SDK交付质量保障经验

融云 RongCloud

GitHub火到糊!这份阿里内部10W字Java面试总结,让你薪资翻倍

Java架构追梦

Java 架构 面试 跳槽

【案例】构建应急指挥体系,实现生产过程实时监控

星环科技

有道精品课全链路测试的改进和思考

有道技术团队

测试 有道精品课

Fabric架构演变之路

趣链科技

区块链 fabric 联盟链架构 演变

迎战大厂!“金九银十”和秋招通过率达95%的Java面试要点集锦

Java 程序员 架构 面试

从一面就被拒到收割字节offer,我花了一年时间,功夫不负有心人

Java架构师迁哥

难忘阿里,4面技术5面HR附加笔试面,走的真艰难真心酸

Java 编程 程序员 面试 架构师

毕业5年的同学突然告诉我,他已经是年薪50W的Java架构师了

Java架构师迁哥

Polkadot“升级”之道

趣链科技

区块链 区块链技术 polkadot

什么是交叉编译

IT蜗壳-Tango

IT蜗壳教学 6月日更

小树量化机器人系统开发(马丁策略)

薇電13242772558

区块链 数字货币

将DataX执行结果通过钉钉上报

白粥

DataX

博云容器云 3.2 发布:核心能力再提升,易用性再升级

BoCloud博云

容器

【融云技术】超大规模并发下自定义属性的设置与分发

融云 RongCloud

Java日志的心路历程

程序猿阿星

Java log4j logback log4j2框架 Java日志

一文回顾 Java 入门知识(中)

逆锋起笔

Java 后端 JAVA开发 java基础 javase

【星环案例】我们用TDH+Sophon把工厂“搬”进高校实验室,推进产学研一体化

星环科技

移动端iOS组件化

Geen练

ios CocoaPods 组件化 iOS Developer 路由

拼多多电商部java岗三面落选,记下的面试题,不睡觉都要背下来!

Java 程序员 架构 面试

华为云IoT设备接入服务全体验

华为云开发者联盟

物联网 IoT 华为云 智能IoT边缘服务 华为云IoT云服务

三位一体:打造软硬服一体化的区块链平台

趣链科技

区块链 联盟链 Baas 一体机 底层平台

奉劝各位准备面试的Java程序员耗子尾汁,赶紧扔掉网上那些千篇一律的面试题

Java架构之路

Java 程序员 架构 面试 编程语言

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