机器学习模型的可解释性算法汇总

news2025/4/4 1:47:56

模型可解释性汇总


现有许多机器学习模型,尤其是深度学习模型,虽然他们的预测效果很好,但不具备很强的解释性,难以解释模型内部是如何作出决策的。这确实会带来很多问题:

  1. 信任度问题。如果一个模型无法解释自身,人们很难 100%信任它。这对于一些重要应用场景如医疗诊断来说尤其重要。

  2. 透明度问题。模型不能解释自身,就无法满足许多国家/机构对算法透明度和公平性的要求。

  3. 调试问题。如果模型出错了,我们无法根据内部机理找到问题所在,进行有针对性的修正。

  4. 性能问题。如果无法理解模型 bias 是如何影响结果的,就难以针对特定任务进行更好的优化。

  5. 开发问题。缺乏解释性意味着模型设计过程更加依靠试错,效率相对较低。

所以您说得对,解释性弱是当前机器学习的一个重要挑战。解决它需要我们在模型、算法和应用层面进行努力,例如提出更易解释的模型结构,采用可解释 AI 技术等。只有解释性强、可信赖的算法,才能真正推广应用和解决更多复杂问题。这将是未来该领域一个重要研究方向。

文章目录

六大可解释性技术

  • 一、Partial Dependence Plot (PDP)
  • 二、Individual Conditional Expectation (ICE)
  • 三、Permuted Feature Importance
  • 四、Global Surrogate
  • 五、Local Surrogate (LIME)
  • 六、Shapley Value (SHAP)
  • 总结

一、Partial Dependence Plot (PDP)

Partial Dependence Plot(PDP)是机器学习模型解释技术中的一个重要方法。

Partial Dependence Plot用于可视化模型输出对单个或多个特征的部分依赖关系。它可以解释某个特征对结果的影响,而不是特征间的交互作用。

具体来说:

  • PDP 固定所有特征值,除了选定的那个(些)特征。

  • 然后计算该(些)特征取不同值时,模型输出的平均值。

  • 这些平均值的曲线就形成了Partial Dependence Plot图。

使用PDP可以查看:

  • 一个特征值区间内,模型输出如何变化。

  • 找到特征影响模型输出的“阈值区间”。

  • 比较不同特征对结果的单独贡献。

PDP具有很好的可解释性,能直观展示特征单独对应模型输出变化趋势,被广泛应用于树系和神经网络模型解释中。但是它忽略了特征间交互影响,只反映部分依赖关系。

总体来说,PDP是一种重要的可视化分析技术,能有效解释模型中特征对结果的影响,但也存在一定限制。它有助于判断模型行为和建立用户信任

 

上面图中,X轴表示特征 F0 的值,Y轴表示预测值。阴影区域中的实线显示了平均预测如何随着 F0 值的变化而变化。PDP能很直观地显示平均边际效应,因此可能会隐藏异质效应。

  • 例如,一个特征可能与一半数据的预测正相关,与另一半数据负相关。那么PDP图将只是一条水平线。

 

二、Individual Conditional Expectation (ICE)

ICE和PDP非常相似,但和PDP不同之处在于,PDP绘制的是平均情况,但是ICE会显示每个实例的情况。ICE可以帮助我们解释一个特定的特征改变时,模型的预测会怎么变化。

ICE(Individual Conditional Expectation)和PDP(Partial Dependence Plot)实际上是近似可以用来解释模型预测结果的两个技术。

ICE和PDP的主要区别如下:

  • PDP绘制的是随着某个特征值变化,模型预测结果平均值的变化曲线。它显示的是总体趋势。

  • 而ICE针对每个单独样本,绘制的是这个样本随特征值改变时,模型预测结果的变化曲线。它显示的是个体层面的变化情况。

这就导致ICE可以:

  • 对单个样本进行解释,帮助分析这个样本的预测结果为什么会这样。

  • 剔除平均值的 smoothed 影响,更细粒度地观察特征对预测的影响。

  • 查看是否存在个别样本的异常行为。

所以总体来说:

  • PDP用于观察总体规律
  • ICE更侧重于个别样本,可实现更细粒度的解释

ICE利用个体层面信息,在解释模型预测结果时比PDP提供了更丰富的细节。它们都有各自的使用场景,互相补充,对提升模型解释能力都很重要。

与PDP不同,ICE曲线可以揭示异质关系。但其最大的问题在于:它不能像PDP那样容易看到平均效果,所以可以考虑将二者结合起来一起使用。

 

三、Permuted Feature Importance

Permuted Feature Importance确实是一种通过特征值打乱检查特征对模型预测贡献的重要性计算方法。

具体来说:

  • Permuted Feature Importance通过对每个特征值进行打乱,从而破坏这个特征与label之间的关系。

  • 然后计算随机打乱前后模型的预测性能差异,如AUC差异等。

  • 预测性能下降越大,说明这个特征原本对预测贡献越大,它的重要性就越高。

与其他方法如特征选择比重不同,Permuted Feature Importance的计算思路是:

  • 通过打乱特征来模拟这个特征“不存在”的情况
  • 判断没有这个特征时,模型表现如何变化
  • 表现下降幅度就代表这个特征的贡献程度

它可以给出每个特征的相对重要性,有助于解释模型中每个特征对结果的影响。

Permuted Feature Importance是一种重要且直观的特征重要性衡量方法,有助于解释模型预测中的特征贡献程度关系。

 特征f2在特征的最上面,对模型的误差影响是最大的,f1在shuffle之后对模型却几乎没什么影响,生息的特征则对于模型是负面的贡献。

四、Global Surrogate

Global Surrogate方法是一种很好的可解释模型近似方法。

Global Surrogate的工作流程和原理如下:

  1. 先使用复杂难解释的"黑箱模型"对数据集进行预测。

  2. 然后在原始数据集和黑箱模型预测结果基础上,训练一个解释性较强的"替身模型"。

  3. 这个替身模型由于模型 simpler 和更具解释性,我们可以使用技术如PDP等解释它的预测规则。

  4. 因为替身模型能够很好地近似黑箱模型的表现,那么它的解释结果也能在一定程度上反映黑箱模型的内在机制。

通过这样一个易解释模型来近似复杂模型的预测结果和过程,从而实现对原始难解释模型的解释。

Global Surrogate由于采用替身模型,可以很好地平衡预测性能和解释性之间的权衡。

  • 代理模型可以是任何可解释的模型:线性模型、决策树、人类定义的规则等。

使用可解释的模型来近似黑盒模型会引入额外的误差,但额外的误差可以通过R平方来衡量

  • 由于代理模型仅根据黑盒模型的预测而不是真实结果进行训练,因此全局代理模型只能解释黑盒模型,而不能解释数据。

五、Local Surrogate (LIME) 

LIME与Global Surrogate在解释模型预测时存在重要差异:

  • Global Surrogate是训练一个全局替身模型来近似原始难解释模型的全局预测表征。

  • 而LIME的思路是,对每个预测结果单独地训练和解释,它不尝试解释整个模型。

  • 更具体地说,LIME通过对样本附近数据点进行随机扰动,观察样本被分类为各类别的概率变化。

  • 从这些变化中获得独立预测结果的“局部解释”。

所以:

  • Global Surrogate注重全局趋势近似
  • LIME注重单个预测结果的局部因素分析

LIME的思路更细粒度,可以获得每个预测背后的不同特征影响,但解释范围局限在单个样本。

 

上面左边的图像被分成可解释的部分。然后,LIME 通过“关闭”一些可解释的组件(在这种情况下,使它们变灰)来生成扰动实例的数据集。对于每个扰动实例,可以使用经过训练的模型来获取图像中存在树蛙的概率,然后在该数据集上学习局部加权线性模型。最后,使用具有最高正向权重的成分来作为解释。

六、Shapley Value (SHAP)

 

Shapley值源于博弈论,通过将特征看作“博弈者”,基于机会公平性的思想来解释每个特征对预测结果的贡献。

您总结得特别好:

  • 每个特征在各子集中做出的增量贡献称为边缘贡献
  • Shapley值是其所有边缘贡献的加权平均
  • Shapley值拥有加性性质,之和等于真实预测值减去基线预测

这一加性、可解释性非常强的性质,使 shapley值成为解释模型一个优秀而独特的方法:

  • 可以清晰地分解每个特征的独立贡献
  • 叠加后恰好等于最终预测值
  • 符合公平性和经济学中的游戏论解释

该图显示了每个特征的Shapley值,表示将模型结果从基础值推到最终预测的贡献。红色表示正面贡献,蓝色表示负面贡献。 

总结

机器学习模型的可解释性是机器学习中一个非常活跃而且重要的研究领域。本文中我们介绍了6种常用的用于理解机器学习模型的算法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/917774.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【安全】原型链污染 - Code-Breaking 2018 Thejs

目录 准备工作 环境搭建 加载项目 复现 代码审计 payload 总结 准备工作 环境搭建 Nodejs BurpSuite 加载项目 项目链接 ① 下载好了cmd切进去 ② 安装这个项目 可以检查一下 ③运行并监听 可以看到已经在3000端口启动了 复现 代码审计 const fs require(fs) cons…

整理mongodb文档:聚合管道

个人博客 整理mongodb文档:聚合管道 个人博客,求关注,电脑版看体验更加,如果不够清晰,请指出来,谢谢 文章概叙 文章主要通过几个常用的聚合表达式来介绍聚合管道的使用,以及从索引的角度来介绍聚合管道…

使用lambda表达式提取共用代码使其更加简洁

1、在开发预下单接口访问并发问题出现需要加锁代码如下 RLock lock redissonClient.getLock(String.format(appointmentKey, activityId, studentId));try {boolean tryLock lock.tryLock(10, 20, TimeUnit.SECONDS);if (tryLock) {AppointmentMallOrderInfoDTO appointmentM…

【修改MAC地址工具】-TMAC

本文介绍修改MAC地址的神器小工具Technitium-MAC-Address-Changer 1. 下载地址 地址1: https://technitium.com/tmac/ 地址2: 链接:https://pan.baidu.com/s/1-jtwQ936gtepVWXKo_qwfg 提取码:2n1s 2. 安装 直接双击就可以安装…

iTwinCapture中文版原ContextCapture安装包以及安装教程

iTwinCapture软件安装教程 一、获取软件 中文安装包评论区或后台回复iTwinCapture 在App Store或Google Play搜索软件名称"iTwin Capture",下载安装软件。 您也可以在Bentley官网下载对应的iTwin Capture版本。 二、软件安装 点击下载后的安装包,根据提示完成安装…

NR SDAP

在NR系统的核心网中,业务不再以EPS承载的形式下发到接入网,而是以QoS flow的形式下发到接入网。在核心网引入QoS flow之后,可以提供比EPS承载更好的QoS粒度,从而更好地对IP数据流进行管理。一个QoS flow由一个或多干IP data stream聚合而成。因此,在核心网中,IP flow映射…

git 统计(命令)

查询某人某个时刻提交了多少代码 added 添加代码 removed 删除代码 total 总代码 git log --author刘俊秦 --since2023-08-01 00:00:00 --until2023-08-23 23:00:00 --prettytformat: --numstat | awk { add $1; subs $2; loc $1 - $2 } END { printf "added lines: %s…

JW0818近电报警芯片

JW0818 市电感应报警电路适用于电业人员和电信行业施工人员的安全保护用品–近电预警器 报警电路。 特别注意芯片引脚6,输出信号是方波,而不是高低电平;在产品开发过程遇到这个坑。

C++中的抽象类和接口

面向对象中的抽象概念 在进行面向对象分析时,会发现一些抽象的概念! 图形的面积如何计算? 什么是抽象类? 在现实中需要知道具体的图像类型才能求面积,所以对概念上的 "图形" 求面积是没有意义的&#xff…

私有化部署即时通讯平台,30分钟替换钉钉和企业微信

随着企业对即时通讯和协作工具的需求不断增长,私有化部署的即时通讯平台成为企业的首选。WorkPlus作为有10余年行业深耕经验与技术沉淀品牌,以其安全高效的私有化部署即时通讯解决方案,帮助企业在30分钟内替换钉钉和企业微信。本文将深入探讨…

基于Jenkins自动打包并部署docker、PHP环境,ansible部署-------从小白到大神之路之学习运维第86天

第四阶段提升 时 间:2023年8月23日 参加人:全班人员 内 容: 基于Jenkins部署docker、PHP环境 目录 一、环境部署 (一)实验环境,服务器设置 (二)所有主机关闭防火墙和selinu…

Docker容器与虚拟化技术:Gitlab账户注册

目录 一、实验 1.gitlab 一、实验 1.gitlab (1) 概念 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。 (2)官网 The DevSecOps Platform | GitLab (3&#…

nginx 一个端口配置前后端分离项目访问

nginx 一个端口配置前后端分离项目访问 nginx配置 server {listen 8888;server_name _;location ~ .*\.(gif|jpg|jpeg|png|pdf|txt|zip|rar|7z|doc|docx|xls|xlsx|ppt|pptx|mp3|mp4)$ {root D:/platform/tomcat/apache-tomcat-9.0.31/webapps/resources;}location /api/…

智慧灌区闸控一体化解决方案

智慧灌区闸控一体化解决方案是指将灌溉系统中的闸门控制与水文监测、远程通信和数据管理等功能相集成,实现对灌区水资源的智能化管理和控制的方案。以下是智慧灌区闸控一体化解决方案的主要组成部分: ■闸门控制系统:包括闸门、闸门执行器和控…

计算机视觉入门 4)滑动窗口

系列文章目录 计算机视觉入门 1)卷积分类器计算机视觉入门 2)卷积和ReLU计算机视觉入门 3)最大池化计算机视觉入门 4)滑动窗口计算机视觉入门 5)自定义卷积网络计算机视觉入门 6) 数据集增强(D…

WoShop跨境电商系统开发:打造全球畅销产品

随着全球贸易的发展,跨境电商成为了许多企业拓展市场、增加盈利的重要途径。而要在跨境电商领域取得成功,开发一个高效、稳定的跨境电商系统是至关重要的。本文将为您详细介绍跨境电商系统开发,以及打造全球畅销产品的关键要素和方法。 一、…

H5页面跳转到公众号关注页面

效果展示: 未关注展示关注;已关注展示发消息 实现步骤: 登录微信公众平台 : https://mp.weixin.qq.com/鼠标右键选择查看网页源代码,找到uin_base64值如果没有uin_base64,那就找到uin进行base64编码编码地…

在使用springer模板的时候,引用书 book时候,末尾的引文地方出现问号???

文章目录 背景解决办法 背景 其实springer有很多模板的,比如nature系列有一个模板,计算机系列有一个模板,计算机系列的模板引用参考文献时好像不会出现标题的问题,我是使用nature系列模板出现这个问题的,如下&#xf…

Linux网络服务 七:iptables防火墙工具

文章目录 1.防火墙简介1.1 什么是防火墙1.2 Netfilter1.3 firewalld和iptables 2. iptables工具简述2.1 iptables的定义2.2 三种报文流向2.3iptables的表和链2.3.1**四表** ----规则表2.3.2**五链** ----规则链 3.iptables配置及操做3.1 基本语法3.1.1 控制类型项 (要大写!!!)3…

AR地图微信小程序:数字化时代下地图应用的新突破

随着数字化时代的到来,地图应用成为人们日常生活中不可或缺的工具。而随着增强现实(AR)技术的快速发展,AR地图微信小程序应运而生,为用户提供了一种全新的地图导航体验。本文将深入探讨AR地图微信小程序的专业性和思考…