可解释性机器学习

一、引言

        随着机器学习(ML)在各个领域的广泛应用,模型的复杂度不断增加,如深度神经网络等黑盒模型逐渐成为主流。这些模型虽然具有很高的预测性能,但其内部的决策机制往往难以理解,导致模型的透明度和可解释性不足。特别是在高风险的应用场景,如医疗诊断、金融评估和司法系统,缺乏解释的模型可能导致用户对结果产生质疑。因此,机器学习模型的可解释性问题越来越受到关注。

二、可解释性的类型

可解释性类型分为2种,一种是全局可解释性,另一种是局部可解释性。

1、全局可解释性

        在机器学习中,全局可解释性指的是对模型整体行为的理解和解释能力,即如何从全局角度解释模型的决策过程和预测方式。与局部可解释性(关注单个预测或局部行为)不同,全局可解释性提供了对模型在不同输入情况下的广泛理解。以下是一些常见的全局可解释性方法:

  • 特征重要性(Feature Importance)

        特征重要性衡量每个输入特征对模型预测的整体贡献。例如,线性回归模型可以通过计算各特征的权重来确定其重要性。通过这种方式,用户可以看到哪些特征对模型的整体预测最为关键。特征重要性示例如下图所示:

  • SHAP值(SHapley Additive exPlanations)

        SHAP是一种基于博弈论的方法,它为每个特征分配一个“贡献值”,表示该特征在所有可能组合中的平均贡献。SHAP提供了全局可解释性,通过汇总各个特征的SHAP值,可以了解每个特征在模型中对整体预测的影响。宏观特征重要性SHAP值示例图如下所示:

  • PDP(Partial Dependence Plot)

        部分依赖图展示了当一个或几个特征变化时,模型预测的均值如何变化。PDP用于解释模型对单个特征的全局依赖关系,帮助理解模型如何利用这些特征进行预测。

        以比特币数据集为例,我们使用PDP方法对Xgboost模型结果进行解析。下图刻画的是单变量“区块大小”与比特币价格之间的函数关系。这是一个典型的非线性关系:当“区块大小”在120000-150000范围内增长时,比特币价格逐渐上涨;随着“区块大小”的进一步增长,会对比特币价格产生负向影响,直到区块大小高于200000时,又会对比特币价格产生正向影响。

                PDP图的优点在于易实施,缺点在于不能反映特征变量本身的分布情况,且拥有苛刻的假设条件——变量之间严格独立。若变量之间存在相关关系,会导致计算过程中产生过多的无效样本,估计出的值比实际偏高。另一个缺点是样本整体的非均匀效应(Heterogeneous effect):PDP只能反映特征变量的平均水平,忽视了数据异质对结果产生的影响。

  • ICE(Individual Conditional Expectation)

        ICE图是PDP的个性化版本,显示了每个单个样本在一个或多个特征值变化时的预测结果。虽然ICE通常用于局部解释,但将多个样本的ICE图汇总起来,可以获得全局视角下模型对特征的敏感性。

        继上述比特币数据为例,下图反映的是“区块大小”对比特币价格影响的ICE图,其中浅蓝色线反映的是每个个体的条件期望图,深蓝色线反映所有个体的平均水平。从图中可看出所有个体并不一定遵循相同的变化趋势,因此相较于PDP的一概而论,ICE图能够更准确地反映特征变量与目标之间的关系。

2、局部可解释性

        局部可解释性是指解释机器学习模型在单个样本上的预测结果,帮助我们理解模型如何在特定情况下做出决策。与全局可解释性不同,局部可解释性专注于解释特定输入的数据点或单个预测的行为。以下是一些常见的局部可解释性方法:

  • LIME(Local Interpretable Model-agnostic Explanations)

LIME是一种与模型无关的解释方法。它通过生成局部的、可解释的模型(例如线性模型)来近似复杂模型在某个数据点附近的行为。LIME对某个特定样本的特征进行扰动,并观察模型的预测变化,从而揭示特征对该样本的预测结果的影响。所以其最大的优点是:可以解释任何一个机器学习分类模型,具体示例如下:

上图说明:一个人得了流感,是根据一些重要的特征得到,这些特征是人类能够理解的。

其他示例如下:

1)对于分类任务:LIME可以列出分类结果,所依据特征对应给比重。

2)对于图像分类任务:LIME可以表示出那些特征具有正向贡献,那些特征具有负向贡献。

3)对文本数据:如下图预测一封邮件是无神论还是有神论内容,可以给出预测结果对应的单词的比重。

  • Counterfactual Explanations(反事实解释)

        反事实解释通过提供与当前输入稍有不同的虚拟输入,来展示如何改变某些特征会改变预测结果。它回答了“如果某个特征值改变,模型的预测结果会怎样?”这样的问题,帮助我们理解哪些特征是驱动模型决策的关键。

        基于反事实解释的关键在于如何通过最小化更改特征参数来产生相反的结果或者大于(或者小于)某些阈值的结果从而能够解释模型,这种方式很符合人类直觉,因为通过对比来进行解释通常是人们进行解释的方法。

        上图中prediction是事件,而各个特征值是原因(即使输入和输出之间不是因果关系也将其看为具有因果关系)。

        预测的反事实解释描述了将预测更改为预定义输出时特征值的最小变化,反事实解释⽅法与模型⽆关,因为它仅适⽤于模型输⼊和输出。由于该解释可以表示为特征值差异的概要 (“更改特征 A 和 B 以更改预测”),因此该方法独立于模型。但是反事实解释本身就是⼀个新实例,因此它存在于 (“从实例 X 开始,改变 A 和 B 以得到⼀个反事实实例”)。与原型不同,反事实不⼀定是来⾃训练数据的实际实例,⽽可以是特征值的新组合。

一些具有良好解释性的反事实例子:

  • Peter 申请了⼀笔贷款,并被 (基于机器学习的) 银⾏软件拒绝了。他想知道为什么他的申请被拒绝,以及他怎样才能提⾼获得贷款的机会。 “为什么” 的问题可以表述为反事实:对特征 (收⼊,信⽤卡数量,年龄等) 的最⼩变化是什么,可以使预测从拒绝变为批准?⼀个可能的答案是:如果 Peter 每年能多赚 10,000 欧元,他将获得贷款。或者,如果 Peter 的信⽤卡较少,并且 5 年前没有拖欠贷款,那么他会得到贷款。 Peter 永远不会知道拒绝的原因,因为银⾏对透明度没有兴趣但这是另⼀回事。

  • Anna 想把她的公寓租出去,但她不确定要收取多少费用,因此她决定训练⼀个机器学习模型来预测租⾦。当然,由于 Anna 是⼀位数据科学家,因此她可以解决⾃⼰的问题。输⼊有关⾯积大小、位置、是否允许携带宠物等的所有详细信息之后,模型告诉她可以收取 900 欧元。她期望 1000 欧元或更多,但是她相信自己的模型,并决定使⽤公寓的特征值了解如何提⾼公寓的价格。她发现,如果公寓⾯积再⼤15 平方米,则可以以超过 1000 欧元的价格出租。有趣,但不可行,因为她无法扩⼤自己的公寓。最后,通过仅在其控制下调整特征值 (内置厨房是/否,允许宠物是/否,地板类型等),她发现如果允许宠物并安装隔热效果更好的窗户,她可以收取 1000 欧元。 Anna 凭直觉与反事实合作来改变结果。

三、未来发展可能面临的挑战

        可解释性机器学习近年来虽然取得了显著进展,但仍面临一系列挑战,特别是在模型复杂性、应用需求和用户理解方面。以下是一些未来发展中可能遇到的主要挑战:

  • 复杂模型的解释难度

        随着深度学习和其他复杂模型(如大型语言模型(LLM)、集成学习等)变得越来越强大,它们的复杂性也随之增加。虽然这些模型的预测能力强大,但它们的内部机制往往难以解释。要在不损害模型性能的情况下对这些“黑箱”模型进行解释,是未来的一个重大挑战。

  • 多样化的应用场景

        不同应用领域对可解释性的需求和标准各不相同。例如,医疗、金融和法律领域对解释性有极高要求,而在推荐系统或图像识别等领域,可解释性的需求则较弱。未来的发展需要根据不同的行业和场景定制可解释性技术,满足特定应用场景的需求。

  • 用户理解与认知负荷

        即便有了可解释的模型,如何确保用户能够正确理解这些解释也是一个挑战。复杂的可视化图表或技术性语言可能会让非技术人员感到困惑,导致错误的决策或理解偏差。未来的发展需要更加注重用户体验,设计出易于理解、直观的解释方式,减少用户的认知负荷。

四、总结展望

        可解释性机器学习的未来发展充满了机遇和挑战。通过技术标准化、以人为中心的设计、性能与透明度的优化,未来的AI系统将不仅提高人们对AI的信任度,还将帮助AI系统在更广泛的领域中得到安全、高效的应用。AI解释的演进将推动AI技术从黑盒向透明化、可信化转变,最终实现AI与人类决策系统的深度融合。

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

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

相关文章

PyTorch使用教程(8)-一文了解torchvision

一、什么是torchvision torchvision提供了丰富的功能,主要包括数据集、模型、转换工具和实用方法四大模块。数据集模块内置了多种广泛使用的图像和视频数据集,如ImageNet、CIFAR-10、MNIST等,方便开发者进行训练和评估。模型模块封装了大量经…

网络安全防护指南:筑牢网络安全防线(510)

一、网络安全的基本概念 (一)网络的定义 网络是指由计算机或者其他信息终端及相关设备组成的按照一定的规则和程序对信息收集、存储、传输、交换、处理的系统。在当今数字化时代,网络已经成为人们生活和工作中不可或缺的一部分。它连接了世…

关于vite+vue3+ts项目中env.d.ts 文件详解

env.d.ts 文件是 Vite 项目中用于定义全局类型声明的 TypeScript 文件。它帮助开发者向 TypeScript提供全局的类型提示,特别是在使用一些特定于 Vite 的功能时(如 import.meta.env)。以下是详细讲解及代码示例 文章目录 **1. env.d.ts 文件的…

1.17学习

crypto nssctf-[SWPUCTF 2021 新生赛]crypto8 不太认识这是什么编码,搜索一下发现是一个UUENCODE编码,用在线工具UUENCODE解码计算器—LZL在线工具解码就好 misc buuctf-文件中的秘密 下载附件打开后发现是一个图片,应该是一个图片隐写&…

Python爬虫学习前传 —— Python从安装到学会一站式服务

早上好啊,大佬们。我们的python基础内容的这一篇终于写好了,啪唧啪唧啪唧…… 说实话,这一篇确实写了很久,一方面是在忙其他几个专栏的内容,再加上生活学业上的事儿,确实精力有限,另一方面&…

LabVIEW时域近场天线测试

随着通信技术的飞速发展,特别是在5G及未来通信技术中,天线性能的测试需求日益增加。对于短脉冲天线和宽带天线的时域特性测试,传统的频域测试方法已无法满足其需求。时域测试方法在这些应用中具有明显优势,可以提供更快速和精准的…

LabVIEW 程序中的 R6025 错误

R6025错误 通常是 运行时库 错误,特别是与 C 运行时库 相关。这种错误通常会在程序运行时出现,尤其是在使用 C 编译的程序或依赖 C 运行时库的程序时。 ​ 可能的原因: 内存访问冲突: R6025 错误通常是由于程序在运行时访问无效内…

【漏洞预警】FortiOS 和 FortiProxy 身份认证绕过漏洞(CVE-2024-55591)

文章目录 一、产品简介二、漏洞描述三、影响版本四、漏洞检测方法五、解决方案 一、产品简介 FortiOS是Fortinet公司核心的网络安全操作系统,广泛应用于FortiGate下一代防火墙,为用户提供防火墙、VPN、入侵防御、应用控制等多种安全功能。 FortiProxy则…

免费送源码:Java+ssm+MySQL 基于PHP在线考试系统的设计与实现 计算机毕业设计原创定制

摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对在线考试等问题,对如何通过计算…

服务器迁移MySQL

由于公司原有的服务器不再使用,需要将老的服务器上的MySQL迁移到新的服务器上,因此需要对数据进行备份迁移,前提是两台服务器已安装相同版本的MySQL,这里就不再讲解MySQL的安装步骤了,可以安装包、可以在线下载、可以容…

前端【3】--CSS布局,CSS实现横向布局,盒子模型

盒子分类 1、块级盒子 2、内联级盒子 3、内联块级盒子 4、弹性盒子 5、盒子内部分区 方法一:使用 float 普通盒子实现横向布局 方法二:使用 display: inline-block 内联块级元素实现横向布局 方法三:使用弹性盒子 flexbox&#xff0…

Mockito+PowerMock+Junit单元测试

一、单元测试用途 1、日常开发团队要求规范,需要对开发需求代码进行单元测试并要求行覆盖率达到要求,DevOps流水线也会开设相关门禁阀值阻断代码提交,一般新增代码行覆盖率80%左右。 二、Mock测试介绍 1、Mock是为了解决不同的单元之间由于…

Ubuntu上,ffmpeg如何使用cuda硬件解码、编码、转码加速

本文使用 Ubuntu 环境。Ubuntu 直接使用 APT 安装的就支持 CUDA 加速。本文使用这样下载的版本进行演示,你自己编译或者其他源的版本可能会不同。 ffmpeg 的一些介绍,以及 macOS 版本的 ffmpeg 硬件加速请见《macOS上如何安装(不需要编译安装…

WPS计算机二级•高效操作技巧

听说这里是目录哦 斜线表头 展示项目名称🍋‍🟩横排转竖排🍐批量删除表格空白行🍈方法一方法二建辅助列找空值 能量站😚 斜线表头 展示项目名称🍋‍🟩 选中单元格,单击右键➡️“设…

【Linux系列】查看服务器是否使用了 SSD 的多种方法

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

unity2022以上导出到AndroidStudio后更新步骤

1、unity里面Export出unityLibrary 2、导出apk,里面才包含libil2cpp(新版unity无法直接导出libil2cpp 3、注释AS项目app下的build.gradle里面包含unityLibrary的代码 4、注释AS项目settings.gradle包含unityLibrary的代码 5、删除AS项目里面的unityLibrary文件夹 6、…

挖掘机检测数据集,准确识别率91.0%,4327张原始图片,支持YOLO,COCO JSON,PASICAL VOC XML等多种格式标注

挖掘机检测数据集,准确识别率91.0%,4327张图片,支持YOLO,COCO JSON,PASICAL VOC XML等多种格式标注 数据集详情 数据集分割 训练组70% 3022图片 有效集20% 870图片 测试集10&…

【框架篇】Spring MVC 介绍及使用(详细教程)

Spring MVC 介绍 1,MVC 设计模式 MVC(Model-View-Controller)是一种常见的软件设计模式,用于将应用程序的逻辑分离成三个独立的组件: 模型(Model):模型是应用程序的数据和业务逻辑…

qt vs ios开发应用环境搭建和上架商店的记录

qt 下载链接如下 https://download.qt.io/new_archive/qt/5.14/5.14.2/qt-opensource-mac-x64-5.14.2.dmg 安装选项全勾选就行,这里特别说明下qt5.14.2/qml qt5.14.2对qml支持还算成熟,但很多特性还得qt6才行,这里用qt5.14.2主要是考虑到服…

windows 极速安装 Linux (Ubuntu)-- 无需虚拟机

1. 安装 WSL 和 Ubuntu 打开命令行,执行 WSL --install -d ubuntu若报错,则先执行 WSL --update2. 重启电脑 因安装了子系统,需重启电脑才生效 3. 配置 Ubuntu 的账号密码 打开 Ubuntu 的命令行 按提示,输入账号,密…