Interpretability 与 Explainability 机器学习

「AI秘籍」系列课程:

  • 人工智能应用数学基础
  • 人工智能Python基础
  • 人工智能基础核心知识
  • 人工智能BI核心知识
  • 人工智能CV核心知识

Interpretability 模型和 Explainability 模型之间的区别以及为什么它可能不那么重要

img

当你第一次深入可解释机器学习领域时,你会注意到类似的术语随处可见。Interpretability 与Explainability。解释与说明。我们甚至无法决定该领域的名称——是可解释机器学习 (interpretable machine learning - IML) 还是可解释人工智能 (explainable AI - XAI)?

我们将讨论一个定义,并希望澄清一些事情。这就是 Interpretability 模型和 Explainability 模型之间的区别。不过,我们应该警告你……

没有共性!

部分问题在于 IML 是一个新领域。定义仍在提出和争论中。机器学习研究人员也很快为已经存在的概念创造新术语。因此,我们将重点关注一个潜在的定义 1

Interpretability 与机器学习模型将原因和结果练习起来的准确性有关,指在机器学习中可以观察到系统中因果关系(先验推导)的程度。

Explainability 与隐藏在深层网络中的参数证明结果的能力有关,是指机器学习的内部机制可以用人类语言解释(后验解释)的程度。

具体来说,我们将:

  • 了解如何将模型分类为 interpretable 或者 explainable
  • 讨论 interpretability 的概念及其与此定义的关系
  • 了解该定义的问题以及为什么可能没有必要使用它来对模型进行分类

Interpretable 机器学习

如果某事物能够被理解,我们就说它是可解释的。考虑到这一点,如果一个模型能够被人类自己理解,我们就说它是可解释的。我们可以查看模型参数或模型摘要,并准确了解预测是如何做出的。这类模型的另一个术语是intrinsically interpretable model(本质上可解释的模型)2

Interpretable 模型可以被人类理解,无需任何其他辅助/技术。

决策树是此类模型的一个很好的例子。图 1给出了一棵经过训练的树,用于预测某人是否会拖欠(是)或不会拖欠(否)汽车贷款。要了解如何做出预测,我们只需遍历树的节点即可。

例如,假设一名29 岁、月收入3000 美元的女子提出申请。我们想了解为什么她会通过基于此模型的自动承保系统获得贷款。此人超过25 岁,所以我们直接进入第一个节点。然后,她的收入≥2000,所以我们再次直接进入 “No” 叶节点。换句话说,该模型预测该学生不会违约,贷款将获得批准。

在这里插入图片描述

假设我们还想要一个模型来预测一个人的最大贷款额度(Y)。我们使用一个人的年龄和收入作为特征。使用线性回归,我们得到以下等式:

Y = 100 × a g e + 10 × i n c o m e + 200 Y = 100 \times age + 10 \times income + 200 Y=100×age+10×income+200

我们可以很容易地看出为什么上述学生的预计最高贷款额为33,100 美元。也就是说,贷款额增加了:

  • 每增加一岁,需支付 100 美元
  • 每增加 1 美元收入就增加 10 美元

因此,就像决策树一样,我们可以查看该模型的参数并了解它如何进行预测。这是因为这些模型相对简单。决策树有几个节点,线性回归模型有 3 个参数。随着模型变得越来越复杂,我们不再能以这种方式理解它们。

Explainable 机器学习

您可以将 ML 模型视为一个函数。模型特征是输入,预测是输出。Explainable 模型是一种人类无法理解的复杂函数。这种模型的另一个名称是黑盒模型。我们需要一种额外的方法/技术才能窥视黑盒并了解模型的工作原理。

Explainable 模型需要额外的技术才能被人类理解

这种模型的一个例子是随机森林。随机森林由许多决策树组成。在做出最终预测时,会考虑所有单个树的预测。要了解随机森林的工作原理,我们必须同时了解所有单个树的工作原理。即使只有少量的树,人类也做不到这一点。

在这里插入图片描述

图片来源:Satya Mallick & Sunita Nayak

当我们开始研究神经网络等算法时,事情变得更加复杂。具体来说,用于图像识别的卷积神经网络 AlexNet362,378,344 个参数 4。相比之下,我们上面的回归模型只有3 个参数。人类不可能仅通过查看参数权重来理解 AlexNet 之类的模型的工作原理。

用于理解 explainable 模型的技术

因此,我们需要一些额外的技术来理解这些算法的工作原理。这些包括为特定模型创建的方法。例如,DeepLIFT: https://github.com/kundajelab/deeplift 就是为解释神经网络而创建的。它们还包括可应用于任何模型的模型无关方法。这些方法包括 LIME:https://github.com/marcotcr/lime、SHAP: https://github.com/slundberg/shap、PDPs 和 ICE Plots。

在这里插入图片描述

请记住,即使有了这些技术,我们也无法像使用i nterpretable 模型那样确定模型的工作原理。这些技术只能提供模型如何进行预测的近似值。它们都有自己的假设和局限性。

这意味着在使用任何技术得出结论时都应保持一定程度的谨慎。如果可能,应结合使用多种技术。还应使用数据可视化和领域知识来验证结论。

Interpretability

到目前为止,我们已经讨论了模型是 interpretable 还是 explainable。然而,应用这个二元标志可能并不总是有意义的。模型的 Interpretability 是一个范围。如果一个模型比另一个模型更容易让人理解它的预测方式,那么这个模型就比另一个模型更容易解释。

Interpretability 是指模型能被人类理解的程度2

图 2给出了可解释性频谱。卷积神经网络的可解释性不如随机森林,而随机森林的可解释性又不如决策树。大多数模型通常可以归类为可解释或可解释的。然而,存在一个灰色区域,人们对此的分类意见不一。

在这里插入图片描述

定义问题

这个灰色区域是我们发现这个定义的第一个问题。我们可能同意,一个有 2 棵树的随机森林是可解释的。然而,一个有 100 棵树的随机森林是不可解释的。在什么时候(即有多少棵树),模型从 interpretable 变为 explainable ?即使是具有许多节点的决策树或具有许多参数的回归,如果没有额外的技术,也可能变得过于复杂,人类无法理解。

问题是我们试图根据人类的理解能力对模型进行分类。没有正式的方法来衡量这一点。你理解模型的能力取决于你的技术技能和专业经验。即使在专业人士中,也会有分歧。

另一个问题是我们定义什么为附加技术。为了理解哪怕是最简单的模型,我们也会寻求其他方法的帮助。例如,在解释线性回归的权重时,通常使用相关矩阵。这是否意味着回归现在是一个 explainable 模型?

显示高度相关特征的相关热图

这就引出了一个问题:我们真的需要这个定义吗?IML 的目标是理解和解释我们的模型。我们不需要将它们归类为 interpretable 或 explainable。我们选择的方法最终将取决于模型的类型和我们寻求回答的具体问题。

参考


  1. C. Rudin, Stop explaining black-box machine learning models for high stakes decisions and use interpretable models instead (2019), https://arxiv.org/abs/1811.10154 ↩︎

  2. C. Molnar, Interpretable Machine Learning: A Guide for Making Black Box Models Explainable (2023), Chapter 3: Interpretability, https://christophm.github.io/interpretable-ml-book/taxonomy-of-interpretability-methods.html ↩︎ ↩︎

  3. AlexNet, https://en.wikipedia.org/wiki/AlexNet ↩︎

  4. S. Mallick & S. Nayak, Number of Parameters and Tensor Sizes in a Convolutional Neural Network (CNN) (2018), https://www.learnopencv.com/number-of-parameters-and-tensor-sizes-in-convolutional-neural-network/ ↩︎

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

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

相关文章

ubuntu 22 安装 lua 环境 编译lua cjson 模块

在 windows 下使用 cygwin 编译 lua 和 cjson 简直就是灾难,最后还是到 ubuntu 下完成了。 1、下载lua源码(我下载的 5.1 版本,后面还有一个小插曲), 直接解压编译,遇到一个 readline.h not found 的问题,需要安装 re…

207 课程表

题目 你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。 在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程 bi 。 …

在 PostgreSQL 中,如何处理数据的版本控制?

文章目录 一、使用时间戳字段进行版本控制二、使用版本号字段进行版本控制三、使用历史表进行版本控制四、使用 RETURNING 子句获取更新前后的版本五、使用数据库触发器进行版本控制 在 PostgreSQL 中,处理数据的版本控制可以通过多种方式实现,每种方式都…

JVM(Java虚拟机)详解(JVM 内存模型、堆、GC、直接内存、性能调优)

JVM(Java虚拟机) JVM 内存模型 结构图 jdk1.8 结构图(极简) jdk1.8 结构图(简单) JVM(Java虚拟机): 是一个抽象的计算模型。如同一台真实的机器,它有自己…

思维导图插件--jsMind的使用

vue引入jsmind(右键菜单)_jsmind.menu.js-CSDN博客 第一版 vue-JsMind思维导图实现(包含鼠标右键自定义菜单)_jsmind 右键菜单-CSDN博客 // 新增节点addNode() {console.log(this.get_selected_nodeid());this.get_selected_…

如何使用HippoRAG增强LLM的记忆

大型语言模型(LLM)已经证明是一种非常宝贵的思考工具。经过大量文本、代码和其他媒体数据集的训练,它们能够创作出接近人类水平的文章、翻译语言、生成图像,还能以信息丰富的方式回答人们提出的问题,甚至可以编写不同类…

CANopen协议开发梳理总结笔记教程

0、提醒 CANOpen使用时,需要清楚什么是大端和小端,这对于CANOpen数据发送及解析时,有很大的帮助。且学习开发CANOpen时,需要具备一定的CAN基础。 1、CANOpen协议介绍 ①、什么是CANOpen协议 CANOpen协议是一种架构在控制局域网络…

基于CLIP特征的多模态大模型中的视觉短板问题

【论文极速读】 基于CLIP特征的多模态大模型中的视觉短板问题 FesianXu 20240706 at Tencent WeChat search team 前言 今天读到篇CVPR 24’的论文 [1],讨论了常见的多模态大模型(大多都基于CLIP语义特征,以下简称为MLLM)中的视觉…

Python处理表格数据常用的 N+个操作

Python作为一种强大且易用的编程语言,其在数据处理方面表现尤为出色。特别是当我们面对大量的表格数据时,Python的各类库和工具可以极大地提高我们的工作效率。以下,我将详细介绍Python处理表格数据常用的操作。 首先,我们需要安…

复现YOLO_ORB_SLAM3_with_pointcloud_map项目记录

文章目录 1.环境问题2.遇到的问题2.1编译问题1 monotonic_clock2.2 associate.py2.3 associate.py问题 3.运行问题 1.环境问题 首先环境大家就按照github上的指定环境安装即可 环境怎么安装网上大把的资源,自己去找。 2.遇到的问题 2.1编译问题1 monotonic_cloc…

ASP.NET Core----基础学习01----HelloWorld---创建Blank空项目

文章目录 1. 创建新项目--方式一: blank2. 程序各文件介绍(Project name :ASP.Net_Blank)(1)launchSettings.json 启动方式的配置文件(2)appsettings.json 基础配置file参数的读取&a…

ChatGPT:SpringBoot解决跨域问题方法-手动设置请求头

ChatGPT:SpringBoot解决跨域问题方法-手动设置请求头 这里的设置响应头是为了发送请求方还是接收请求方 设置响应头是为了发送请求方。具体来说,添加 Access-Control-Allow-Origin 头部是为了告诉浏览器,哪些域名可以访问资源。当设置为 * 时…

自动批量将阿里云盘文件发布成WordPress文章脚本源码(以RiPro主题为例含付费信息下载地址SEO等自动设置)源码

背景 很多资源下载站,付费资源下载站,付费内容查看等都可以用WordPress站点发布内容,这些站点一般会基于一个主题,付费信息作为文章附属的信息发布,底层存储在WP表里,比如日主题,子比主题等。 …

Apache Seata tcc 模块源码分析

本文来自 Apache Seata官方文档,欢迎访问官网,查看更多深度文章。 本文来自 Apache Seata官方文档,欢迎访问官网,查看更多深度文章。 一 .导读 spring 模块分析中讲到,Seata 的 spring 模块会对涉及到分布式业务的 b…

《梦醒蝶飞:释放Excel函数与公式的力量》9.2 FV函数

9.2 FV函数 FV函数是Excel中用于计算投资或贷款在若干期后的未来值的函数。它是一个非常实用的财务函数,能够帮助我们快速计算投资的最终价值或贷款的期末余额。 9.2.1 函数简介 FV函数用于计算基于定期固定支付和固定利率的投资或贷款的未来值。未来值是指在一定…

cs224n作业3 代码及运行结果

代码里要求用pytorch1.0.0版本,其实不用也可以的。 【删掉run.py里的assert(torch.version “1.0.0”)即可】 代码里面也有提示让你实现什么,弄懂代码什么意思基本就可以了,看多了感觉大框架都大差不差。多看多练慢慢来,加油&am…

文件、文本阅读与重定向、路径与理解指令——linux指令学习(一)

前言:本节内容标题虽然为指令,但是并不只是讲指令, 更多的是和指令相关的一些原理性的东西。 如果友友只想要查一查某个指令的用法, 很抱歉, 本节不是那种带有字典性质的文章。但是如果友友是想要来学习的,…

PD虚拟机怎么联网?PD虚拟机安装Win11无法上网 pd虚拟机连不上网怎么解决 mac安装windows虚拟机教程

PD虚拟机既可以联网使用,也可以单机使用。如需将PD虚拟机联网,可以共享Mac原生系统的网络,其使用体验与真实系统无异。本文会详细讲解PD虚拟机如何联网,并会进一步解决PD虚拟机安装Win10无法上网的问题。 如果有网络相关问题的小伙…

游戏服务器搭建选VPS还是专用服务器?

游戏服务器搭建选VPS,VPS能够提供控制、性能和稳定性。它不仅仅是让游戏保持活力。它有助于减少延迟问题,增强您的游戏体验。 想象一下:你正沉浸在一场游戏中。 胜利在望。突然,屏幕卡住——服务器延迟。 很崩溃,对…

C语言实现【程序设计与实践】实验三:自动售货机

声明:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 附上c版http://t.csdnimg.cn/BbDSL https://blog.csdn.net/As_sBomb/article/details/105485940 实验三:自动售货机 题目: 图所示为简易自动售货…