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/ ↩︎

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第十四届蓝桥杯省赛C++B组G题【子串简写】题解(AC)

题目大意 给定字符串 s s s,字符 a , b a, b a,b,问字符串 s s s 中有多少个 a a a 开头 b b b 结尾的子串。 解题思路 20pts 使用二重循环枚举左端点和右端点,判断是否为 a a a 开头 b b b 结尾的字符串,是则答案加一…

MyBatis1(JDBC编程和ORM模型 MyBatis简介 实现增删改查 MyBatis生命周期)

目录 一、JDBC编程和ORM模型 1. JDBC回顾 2. JDBC的弊端 3. ORM模型 Mybatis和hibernate 区别: 4. mybatis 解决了jdbc 的问题 二、MyBatis简介 1. MyBatis快速开始 1.1 导入jar包 1.2 引入 mybatis-config.xml 配置文件 1.3 引入 Mapper 映射文件 1.3 测试 …

构建滑块组件_第 2 部分

本篇我们继续学习滑块组件,让我们把滑块组件构建的更好; ● 首先,我们想要获取组件的三个点,首先在获取到他的HTML元素 const dotContainer document.querySelector(.dots);● 接着遍历 slides 数组,并在动态创建 元…

【MySQL】锁(黑马课程)

【MySQL】锁 0. 锁的考察点1. 概述1. 锁的分类1.1 属性分类1.2 粒度分类 2. 全局锁2.1 全局锁操作2.2.1 备份问题 3. 表级锁3.1 表锁3.2 语法3.3 表共享读锁(读锁)3.4 表独占写锁(写锁)3.5 元数据锁(meta data lock, MDL)3.6 意向…

分享实现地铁车辆侧面图

简介 通过伪类和关键帧动画实现地铁车辆侧面图 在线演示 伪元素和关键帧动画 实现代码 <!DOCTYPE html><html><head> <meta http-equiv"Content-Type" content"text/html; charsetutf-8" /> <meta http-equiv"X-UA-Co…

【免费资料】IEEE33节点系统参数及拓扑图visio

主要内容 对于初学配电网的同学&#xff0c;最经典的系统即是33节点配电网系统&#xff0c;在各个研究文献中出现频次最高的也是这个系统&#xff0c;为了让大家更好了解33节点系统参数&#xff0c;本次整理了系统节点、支路参数excel以及33节点网络拓扑图visio&#xff0c…

org.springframework.jdbc.BadSqlGrammarException异常

Bug 记录 概述 在执行定时任务更新电子书统计信息时&#xff0c;遇到了 org.springframework.jdbc.BadSqlGrammarException 异常&#xff0c;具体表现为 SQL 函数 count 被错误地解析为自定义函数 wiki.count&#xff0c;导致数据库更新操作失败。 详细描述 错误信息&#x…

adb不插usb线通过wifi调试

说起做手机开发也有好多年了&#xff0c;说来惭愧&#xff0c;我最近才知道安卓手机是可以不插数据线进行开发调试的。起因是公司近期采购了一批安卓一卡通设备&#xff0c;需要对其进行定制开发APP,但是由于我插USB调试发现没有反应。通过询问厂家才知道可以通过WIFI进行调试。…

Gradient Descent

在整个maching learning的第三个步骤要找一个最好的function。在第二步是定义了一个 Loss function L&#xff0c;这个L是一个function的fuction 求完偏微分之后得到的向量就是Gradient&#xff08;黄色部分&#xff09; 随机找一个起始点0&#xff0c;它的等高线的法线方向就…

Flash存储器解析:从原理到应用,全面了解其与缓存的区别

Flash存储器解析&#xff1a;从原理到应用&#xff0c;全面了解其与缓存的区别 Flash存储器是一种非易失性存储器技术&#xff0c;广泛应用于各种电子设备中&#xff0c;如USB闪存盘、固态硬盘&#xff08;SSD&#xff09;、智能手机、数码相机和嵌入式系统。它能够在断电情况下…

Windows使用nxlog发送系统日志到Linux的rsyslog服务器

Windows使用nxlog发送系统日志到Linux的rsyslog服务器 前言一、IP地址规划及示意图二、在windows上安装及配置nxlog1.下载nxlog2.安装nxlog3.配置nxlog4.创建对应日志路径的文件夹 三、windows上启动nxlog服务四、在CentOS 7上配置日志存到指定位置文件1.编辑/etc/rsyslog.conf…

【国产开源可视化引擎Meta2d.js】钢笔

钢笔 钢笔是和其他众多绘图工具&#xff08;Photoshop、Sketch、Illustrator&#xff09;中一致的钢笔工具&#xff0c;能够很方便的在线绘制各种小图标 在线体验&#xff1a; 乐吾乐2D可视化 示例&#xff1a; // 开始绘画&#xff1a;curve。除了curve&#xff0c;还有poly…

9 张图带你理解 Kafka 中高水位 HW

大家好&#xff0c;我是君哥。 Kafka 高水位&#xff08;简称 HW&#xff09;是 Kafka 中非常重要的一个概念&#xff0c;今天来聊一聊 HW。 1 HW 简介 HW 是 Kafka 中 Offset 的一个值&#xff0c;HW 作为一个边界&#xff0c;Offset 小于 HW 的消息被称为已提交消息&#…

让ChatGPT干正事、说人话、会思考!借助ChatGPT润出优质论文的实操指南

大家好&#xff0c;感谢关注。我是七哥&#xff0c;一个在高校里不务正业&#xff0c;折腾学术科研AI实操的学术人。关于使用ChatGPT等AI学术科研的相关问题可以和作者七哥&#xff08;yida985&#xff09;交流&#xff0c;多多交流&#xff0c;相互成就&#xff0c;共同进步&a…

Qt 文件初始化配置ini/conf类型读写

学习目标&#xff1a; 文件初始化配置 前置环境 运行环境:qt creator 4.12 学习内容 INI 文件是一种常见的配置文件格式,它通常用于存储应用程序或系统的设置和参数。INI 文件的格式很简单,由以下几个部分组成: 节(Section): 节用方括号括起来,如 [General]、[Network] 等。…

基于Redis和阻塞队列的 异步秒杀业务

异步前 之前的秒杀业务的查询优惠券、查询订单、减库存、创建订单都要查询数据库&#xff0c;而且有分布式锁&#xff0c;使得整个业务耗时长&#xff0c;对此采用异步操作处理&#xff0c;异步操作类似于餐厅点餐&#xff0c;服务员负责点菜产生订单、厨师负责根据订单后厨做…

LabVIEW图像分段线性映射

介绍了如何使用LabVIEW对图像进行分段线性映射处理&#xff0c;通过对特定灰度值区间进行不同的线性映射调整&#xff0c;以优化图像的显示效果。案例中详细展示了如何配置和使用LabVIEW中的图像处理工具&#xff0c;包括设置分段区间、计算映射参数和应用映射函数等步骤。 实…

STM32智能医疗监测系统教程

目录 引言环境准备智能医疗监测系统基础代码实现&#xff1a;实现智能医疗监测系统 4.1 数据采集模块 4.2 数据处理与分析 4.3 通信系统实现 4.4 用户界面与数据可视化应用场景&#xff1a;医疗监测与优化问题解决方案与优化收尾与总结 1. 引言 智能医疗监测系统通过STM32嵌…

Python爬取股票信息-并进行数据可视化分析,绘股票成交量柱状图

为了使用Python爬取股票信息并进行数据可视化分析&#xff0c;我们可以使用几个流行的库&#xff1a;requests 用于网络请求&#xff0c;pandas 用于数据处理&#xff0c;以及 matplotlib 或 seaborn 用于数据可视化。 步骤 1: 安装必要的库 首先&#xff0c;确保安装了以下P…

virtualbox窗口和win10窗口的切换

1、问题&#xff1a; 从windows切换到虚拟机可以用快捷键 ALTTAB&#xff0c;但是从虚拟机到windows使用 ALTTAB 无法成功切换 2、解决方法&#xff1a; 注意&#xff1a;发现设置为ctrlAlt会导致打开终端快捷键&#xff08;CtrlAltT&#xff09;失效&#xff0c;建议这里设置…