可解释性机器学习

一、引言

        随着机器学习(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 文件的…

CentOS 安装Redis

1. 安装 Redis 安装 EPEL 仓库(对于 CentOS/RHEL 系统): 首先安装 EPEL 仓库,因为 Redis 存在于 EPEL 仓库中: yum install epel-release安装 Redis 数据库: yum install redis2. 修改 Redis 配置文件 …

Spring Boot 基础入门指南

Spring Boot 基础入门指南 引言 在当今快速发展的软件行业中,开发者们一直在寻找简化应用程序开发的方法。Spring Boot 应运而生,它旨在帮助开发者快速构建基于Spring框架的应用程序,同时尽可能减少配置工作。本文将带您了解Spring Boot的基…

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在线考试系统的设计与实现 计算机毕业设计原创定制

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

Linux测试处理fps为30、1920*1080、一分钟的视频性能

前置条件 模拟fps为30、1920*1080、一分钟的视频 项目CMakeLists.txt cmake_minimum_required(VERSION 3.30) project(testOpenGl)set(CMAKE_CXX_STANDARD 11)add_executable(testOpenGl main.cpptestOpenCl.cpptestOpenCl.hTestCpp.cppTestCpp.hTestCppThread.cppTestCppTh…

Elasticsearch二次开发:实现实时定时同步同义词、近义词与停用词

Elasticsearch二次开发:实现实时定时同步同义词、近义词与停用词 引言 Elasticsearch(ES)作为开源搜索引擎的典范,以其强大的全文搜索、结构化搜索以及分析能力,在各个领域得到了广泛应用。在复杂的搜索场景中&#…

LeetCode_438.找到字符串中所有字母异位词

给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 示例 1: 输入: s "cbaebabacd", p "abc" 输出: [0,6] 解释: 起始索引等于 0 的子串是 "cba", 它是 "a…

服务器迁移MySQL

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

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

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

uni-simple-router史上最全使用方法教程

在 uni-app 项目中,随着应用的复杂度增加,传统的路由管理方式可能无法满足需求,尤其是在多页面和权限控制等场景下。这时,使用像 uni-simple-router 这样的路由管理库可以简化开发流程👍,如权限控制、路由守…

Android SystemUI——NavigationBar导航栏(七)

前面的文章我们分析了状态栏 StatusBar 的构建流程,而导航栏 NavigationBar 其实是状态栏的一种,也是在 StatusBar 中被创建的,这里我们来看一下与其相近的导航栏 NavigationBar 的窗口的创建过程。 一、导航栏窗口 对于导航栏 NavigationBar 窗口创建,前面的流程与 Statu…

Mockito+PowerMock+Junit单元测试

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

分频器code

理论学习 数字电路中时钟占有非常重要的地位。时间的计算都依靠时钟信号作为基本单元。一般而言,一块板子只有一个晶振,即只有一种频率的时钟,但是数字系统中,经常需要对基准时钟进行不同倍数的分频,进而得到各模块所需…