微软公司可解释性模型Explainable Boosting Machine (EBM) 介绍和开箱测评!

作者Toby,来源公众号:Python风控模型,微软公司可解释性模型Explainable Boosting Machine

最近看到一篇知网论文比较火,2023年5月发布,中山大学信息管理学院学生发布,有1700多下载量。该论文主要讲述SHAP机器学习模型可解释性,来挖掘抑郁症的致病因子。

SHAP之前我介绍过,大家可以看之前发布文章《SHAP(SHapley Additive exPlanations)使用 XGBoost 的可解释机器学习》。我方公司可以复现此论文技术内容。

图片

图片

今天我介绍机器学习可解释性的另一种更新算法,Explainable Boosting Machine (EBM) 。此算法已被美国微软公司收录,其重要地位可想而知。今天Toby老师不但要介绍Explainable Boosting Machine (EBM) 算法,而且要用金融风控领域German credit数据集来开箱测评!

图片

Explainable Boosting Machine (EBM) 概述

Explainable Boosting Machine(EBM,可解释增强机)是一种集成机器学习模型,它结合了梯度提升树和可解释性建模的思想,旨在提供比传统机器学习模型更好的可解释性。EBM 特别关注于解释特征与预测结果之间的关系,使得模型的决策过程更加透明和易于理解。EBM 不仅可以提供高精度的预测能力,还可以解释模型的决策过程,帮助用户理解模型的预测结果。现在该模型已经被嵌入到微软开发的可解释工具中。

官方定义如下,翻译过来 (EBM) 是一种基于树的循环梯度增强广义加性模型,具有自动交互检测功能。EBM 通常与最先进的黑盒模型一样准确,同时保持完全可解释性。

Explainable Boosting Machine (EBM) is a tree-based, cyclic gradient boosting Generalized Additive Model with automatic interaction detection. EBMs are often as accurate as state-of-the-art blackbox models while remaining completely interpretable.

Explainable Boosting Machine (EBM) 工作原理

作为框架的一部分,InterpretML 还包括一种新的可解释性算法——可解释增强机 (EBM)。EBM 是一种玻璃盒模型,旨在实现与随机森林和增强树等最先进的机器学习方法相当的准确度,同时具有高度的可理解性和可解释性。EBM 是一种广义加性模型 (GAM),其形式如下:

图片

在哪里𝑔是使 GAM 适应不同设置(例如回归或分类)的链接函数。

与传统 GAM 相比,EBM 有几个重大改进。首先,EBM 学习每个特征函数f i𝑓𝑗

使用 bagging 和梯度提升等现代机器学习技术。提升过程被严格限制为以循环方式一次训练一个特征,使用非常低的学习率,因此特征顺序无关紧要。它循环遍历特征以减轻共线性的影响并学习最佳特征函数𝑓𝑗f i为每个特征显示每个特征对模型预测问题的贡献。其次,EBM 可以自动检测并包含以下形式的成对交互项:

图片

这进一步提高了准确性,同时保持了可理解性。EBM是GA2M算法[1]的快速实现,用C++和Python编写。该实现可并行化,并利用joblib提供多核和多机并行化。训练过程的算法细节、成对交互项的选择和案例研究可以在中找到。EBM具有高度可理解性,因为每个特征对最终预测的贡献可以通过绘制可视化和理解fj。由于EBM是一种加性模型

每个特征都以模块化的方式对预测做出贡献,这使得推断每个特征对预测的贡献变得容易。

为了做出单独的预测,每个函数f,充当每个特征的查找表,并返回术语贡献。这些术语贡献被简单地加起来,并通过链接函数传递g计算最终预测。由于模块化(可加性),术语贡献可以进行排序和可视化,以显示哪些特征对任何单个预测的影响最大。为了保持各个术语的可加性,EBM需要付出额外的训练成本,因此比类似方法要慢一些。但是,由于进行预测涉及特征函数内部的简单添加和查找f;,EBM是预测时执行速度最快的模型之一。EBM的内存占用低且预测时间快,因此特别适合在生产中部暑模型。

Explainable Boosting Machine (EBM) 核心特点

EBM 的核心特点:

  1. 可解释性:EBM 通过使用决策树作为基学习器,构建了一个容易理解的模型。每个决策树都对应于数据中的一个特征,并且模型的最终预测是所有这些树的加权和。

  2. 特征交互:EBM 能够捕捉特征之间的交互作用。与传统的决策树模型不同,EBM 通过逐步添加树来考虑更复杂的交互。

  3. 概率模型:EBM 是一种概率模型,它为每个可能的输出类别生成概率估计。这使得模型能够提供更细致的预测解释。

  4. 损失函数优化:EBM 使用特定的损失函数来优化模型参数,这有助于在保持模型可解释性的同时,提高模型的预测准确性。

  5. 增量学习:EBM 可以增量地构建,这意味着可以逐步添加基学习器,直到模型达到所需的性能水平。

  6. 适用于各种数据类型:EBM 可以处理各种类型的数据,包括连续数据、分类数据以及缺失数据。

    Explainable Boosting Machine (EBM) 应用场景

EBM 的应用场景:

  • 风险建模:在金融领域,EBM 可以用来构建风险模型,同时提供对风险因素的清晰解释。

  • 医疗诊断:在医疗行业,EBM 可以帮助医生理解模型的预测决策,从而提高诊断的透明度。

  • 营销分析:在营销领域,EBM 可以用来分析客户数据,识别影响购买决策的关键因素。

Explainable Boosting Machine (EBM) 局限性

EBM 的局限性:

  • 计算复杂性:由于需要构建多个决策树并优化损失函数,EBM 的训练过程可能比其他模型更耗时。

  • 模型复杂度:EBM 在捕捉复杂模式方面可能不如深度学习模型强大。

Explainable Boosting Machine (EBM) 实验German credit数据集

German Credit是一种信用评分体系,用于评估德国居民的信用风险。该评分系统是根据个人财务状况和信用历史来确定的,帮助银行和其他金融机构决定是否给个人贷款或信用卡。German Credit评分通常从300分到850分,分数越高表示信用越好,风险越低。较高的German Credit评分可帮助个人获得更优惠的贷款利率和信用条件。

下图是German Credit数据集截图,共21个变量。

图片

toby老师运行Explainable Boosting Machine (EBM) 算法来评估German Credit数据集变量重要性。如下图,程序运行完后显示确认15个变量有真正价值,5个变量无价值。

图片

EBM模型显示Account Balance是最重要变量,在个人信贷领域,Account Balance通常指的是信用卡账户或贷款账户的欠款余额,即未偿还的金额。这个数值包括未支付的本金、利息、逾期费用或其他费用。

下图有2个子图组成。上图显示的是Account Balance与目标变量(是否逾期)之间的关系, 下图显示的是Account Balance在数据集中的概率分布直方图。我们清晰看到Account Balance的值为4和1时,对应score有显著区别。

图片

credit amount指的是借款人能够获得的信贷金额,也就是贷款的数量。这个金额取决于借款人的信用评级、收入水平、债务情况等因素。借款人可以根据自己的需要和资质申请不同额度的信贷。如下图,credit amount较高时相应score较高。

图片

EBM支持局部解释,即对单个贷款用户分析,例如下图客户真实标签是坏客户(1),模型预测结果也是坏客户(1),下图黄色变量为计算坏客户概率正面得分,蓝色变量为负面得分。

图片

下图是另一个客户信息,真实标签是好客户(0),模型预测结果也是好客户(0),下图黄色变量为计算坏客户概率正面得分,蓝色变量为负面得分。

图片

EBM 对比其它算法

对比其它算法,Account Balance的IV值高达0.63,EBM对头部变量识别能力还是可以,但不同算法策略对变量重要性排序还是有一定差异。

图片

比对boruta算法,account balance变量也被识别为重要入模变量。

图片

Explainable Boosting Machine (EBM) 结论

EBM 是一种强大的机器学习模型,它在提供高预测准确性的同时,还提供了对模型决策过程的深入理解。这对于需要模型解释能力的应用场景尤为重要,如金融风控、医疗诊断等领域。然而,由于其计算成本和模型复杂性,EBM 可能不适用于所有类型的机器学习问题。

我们在判断变量重要性时要参考其它算法,不能一叶障目。

相关文章
SHAP(SHapley Additive exPlanations)使用 XGBoost 的可解释机器学习
探秘boruta:一款强大的特征选择工具
woe_iv原理和python代码建模

catboost特征重要性feature importance计算逻辑深度揭秘(全网最全,硬核收藏)

论文或企业定制服务项目联系人:重庆未来之智信息技术咨询服务有限公司,Toby老师,文章末尾有联系方式。

版权声明:文章来自公众号(python风控模型),未经许可,不得抄袭。遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

  • 27
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值