“Why Should I Trust You?” Explaining the Predictions of Any Classifier阅读笔记

“Why Should I Trust You?” Explaining the Predictions of Any Classifier阅读笔记

1. 论文贡献

  1. LIME,一种算法,可以忠实地解释任何分类器或回归器的预测,通过局部逼近它与一个可解释的模型。
  2. SP-LIME,一种通过子模块优化,选择一组具有解释的代表性实例来解决“信任模型”问题的方法。

2. 背景 [ 1 ] ^{[1]} [1]

  1. 在模型被用户使用前,用户都会十分关心模型是否真的值得信赖。
  2. 现实中,我们的通过目前标准的训练方式得到的模型,往往不能保证模型的可靠性。因为模型开发过程中使用的验证、测试集,可能跟实际场景差别很大。另外,我们使用的评价准则(evaluation metrics)也很局限,不能体现出很多我们关心的但难以量化的标准,例如用户的参与度、留存度。
  3. 由于模型开发过程中可能存在的非故意的数据泄露(unintentional data leakage,数据泄漏被
    认为是信号无意地泄漏到训练(和验证)数据中,而在部署时不会出现,这可能会提高准确性。)和数据集漂移(dataset shift,指训练集和测试集分布不同),得到的模型也可能并不可靠。

3. LIME解释单个样本

3.1 总体思想

  1. 原始模型复杂的决策边界,在任意一个样本点的局部范围内,可以视为是线性的。那只要找到这些线性的边界,就可以对模型在该样本点处进行解释了。
  2. LIME的总体目标是在局部忠实于分类器的可解释表示之上识别一个可解释的模型。

3.2 构建可解释的数据表示 [ 1 ] ^{[1]} [1]

  原始的数据,或者模型使用的特征,往往不够直观、具体。我们需要将原始的数据,转化成一种便于解释的数据表示,从而辅助我们后续的模型预测结果解释。

  文章中将原始数据转化成一组由基本元素构成的0-1表示。例如,对于文本来说,就是某个词是否出现这样的特征,对于图像来说,就是某个区域是否出现。文本0-1表示如下图所示:
在这里插入图片描述

3.3 可解释性和忠实度的权衡

  想要解释模型而且效果不能很差,所以在局部忠诚性和可解释性上做个取舍。文中定义了一个包括忠实度和可解释复杂度的度量函数
ξ ( x ) = a r g m i n g ∈ G L ( f , g , π x ) + Ω ( g ) \xi(x)=argmin_{g \in G} \mathcal{L}(f,g,\pi_x)+\Omega(g) ξ(x)=argmingGL(f,g,πx)+Ω(g)
其中:

  1. f f f 代表分类器,即需要被解释的复杂模型;
  2. g g g 代表解释器,通常为线性模型和决策树模型;
  3. G G G代表一类可解释的模型, g ∈ G g \in G gG ;
  4. Ω ( g ) \Omega(g) Ω(g) 是解释模型 g g g的复杂性度量,例如决策树的深度或线性模型非零权重的个数;
  5. x ∈ R d x \in \mathbb{R}^d xRd 原始特征,例如RGB通道的像素值;
  6. x ′ ∈ R d ′ x^{\prime} \in \mathbb{R}^{d^{\prime}} xRd 可解释数据表示,例如超级像素是否存在;
  7. z ′ ∈ R d ′ z^{\prime} \in \mathbb{R}^{d^{\prime}} zRd 可解释数据表示的扰动数据;
  8. z ∈ R d z \in \mathbb{R}^d zRd 扰动数据对应的原始特征;
  9. π x ( z ) \pi_x(z) πx(z) 作为实例 z z z x x x 之间的接近度量,以便定义 x x x 周围的局部性。

3.4 局部采样

  对原始的样本进行转换得到可解释的数据表示之后,对特征向量进行一些扰动,具体的,随机的对0-1向量中的1进行改变,改变的数量也随机。然后根据这些扰动后的向量,跟原向量的相似度,来使用不同的采样比例。直观上来讲,扰动的少的,采样会更多,扰动大的采样更少。 [ 1 ] ^{[1]} [1]
在这里插入图片描述

  上图直观展示了采样的方法。黑盒模型的复杂决策函数 f f f用蓝色/粉色背景表示,这不能很好地用线性模型很好地近似。粗体的红十字是正在被解释的实例。LIME样本实例,使用f获得预测,并根据与被解释的实例的接近程度进行赋权(这里用大小表示)。虚线是学习到的局部(但不是全局的)忠实的解释。

3.5 稀疏线性解释

  文章中使用稀疏线性解释器 g ( z ′ ) = w g ⋅ z ′ g(z^{\prime})=w_g \cdot z^{\prime} g(z)=wgz,让 π x ( z ) = e x p ( − D ( x , z ) 2 / σ 2 ) \pi_x(z)=exp(-D(x,z)^2/\sigma^2) πx(z)=exp(D(x,z)2/σ2)这里 D D D是距离函数(文本是余弦距离,图像是 L 2 L_2 L2距离),然后, L \mathcal{L} L可以就设计成一个带权重的最小二乘损失:
L ( f , g , π x ) = ∑ z , z ′ ∈ Z π x ( z ) ( f ( z ) − g ( z ′ ) ) 2 . \mathcal{L}(f,g,\pi_x)=\sum_{z,z^{\prime}\in Z} \pi_x(z)(f(z)-g(z^{\prime}))^2 . L(f,g,πx)=z,zZπx(z)(f(z)g(z))2.
下图来自[1]中,直观展示LIME的训练过程。
在这里插入图片描述
下图是LIME的伪代码:

  1. 需要一个分类器,定义采样数量 N N N;
  2. 确定被解释实例 x x x和它的可解释版本 x ′ x^{\prime} x;
  3. 定义一个样本间相似度计算方式 π x \pi_x πx,以及要选取的 K K K个特征来解释;
  4. 进行 N N N次扰动采样,每个邻居样本计算 z i ′ , f ( z i ) , π x ( z i ) z_i^{\prime},f(z_i),\pi_x(z_i) zi,f(zi),πx(zi),并保存到 Z Z Z中;
  5. 利用Lasso回归计算解释器权重 w w w,这里 z i ′ z_i^{\prime} zi是特征, f ( z ) f(z) f(z)是目标值。
    在这里插入图片描述

3.6 使用SVM进行文本分类

在这里插入图片描述

3.7 使用深度网络进行图像分类

在这里插入图片描述

4. Submodular Pick解释模型

  虽然对单一预测的解释为用户提供了对分类器可靠性的一些理解,但仅仅评估和评估整个模型的信任度是不够的。作者建议通过解释一组单独的实例来给出对模型的全局理解。这种方法仍然是与模型无关的。需要考虑的问题是如何用最高的效率,检查最少的样本,就能够最全面地检查模型的可靠性,即,挑选最少的样本,让他们对特征空间的覆盖程度最大。下图是一个大致思路,(这里f1,…,f5是可解释的特征)
在这里插入图片描述
  尽管对多个实例的解释可能很有洞察力,但这些实例需要明智地选择,因为用户可能没有时间来检查大量的解释。我们用预算 B B B来表示人类所拥有的时间/耐心,它表示他们为了理解一个模型而愿意看的解释的数量。给定一组实例X,我们将拾取步骤定义为选择B个实例供用户检查的任务。下图是Submodular Pick算法的伪代码:

  1. 给出了一组实例的解释 X X X,给出选择实例个数 B B B
  2. 使用算法1给出 W W W矩阵(如上图所示);
  3. 使用特征重要性函数 I I I计算每个可解释特征的特征重要性( I 1 , ⋯ , I d ′ I_1,\cdots, I_{d^{\prime}} I1,,Id);
  4. c c c是定义覆盖范围的集合函数,使用文中公式(4)贪婪优化选中的实例集合 V V V.
    在这里插入图片描述

参考文章

[1] 知乎—LIME:我可以解释任何一个分类模型的预测结果
[2] CSDN—【论文阅读·2】”Why Should I Trust You?” Explaining the predictions of Any Classifier

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

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

相关文章

无人机航测技术有何特点?主要应用在哪些方面?

无人机航测是航空摄影测量的一种,主要面向低空遥感领域,具有成本低、快速高效、适用范围广等特点。目前,无人机航测主要应用于地形测绘、城市数字化建设、工程建设等方面。 无人机航测技术的特点 1、作业成本低 传统的人工测量技术主要利用…

2023 年牛客多校第六场题解

A Tree 题意:给定 n n n 个点的一棵边带权的树,点有黑白二色( 0 , 1 0,1 0,1 表示),现在可以以 a i a_i ai​ 的价值翻转第 i i i 个点的颜色,一对异色点 ( u , v ) (u,v) (u,v) 的价值为树上路径的最…

视频监控汇聚平台EasyCVR视频分享页面WebRTC流地址播放不了是什么原因?

开源EasyDarwin视频监控TSINGSEE青犀视频平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,TSINGSEE青犀视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放,可同时播放多…

AI绘图实战(十二):让AI设计LOGO/图标/标识 | Stable Diffusion成为设计师生产力工具

S:AI能取代设计师么? I :至少在设计行业,目前AI扮演的主要角色还是超级工具,要顶替?除非甲方对设计效果无所畏惧~~ 预先学习: 安装及其问题解决参考:《Windows安装Stable Diffusion …

百度UEditor编辑器如何关闭抓取远程图片功能

百度UEditor编辑器如何关闭抓取远程图片功能 这个坑娘的功能,开始时居然不知道如何触发,以为有个按钮,点击一下触发,翻阅了文档,没有发现,然后再网络上看到原来是复制粘贴非白名单内的图片到编辑框时触发&a…

华为数通HCIA-华为VRP系统基础

什么是VRP? VRP是华为公司数据通信产品的通用操作系统平台,作为华为公司从低端到核心的全系列路由器、以太网交换机、业务网关等产品的软件核心引擎。 VRP提供以下功能: 实现统一的用户界面和管理界面 实现控制平面功能,并定义转发平面接口…

[数据集][目标检测]遛狗不牵绳数据集VOC格式-1980张

数据集格式:Pascal VOC格式(不包含分割路径的txt文件和yolo格式的txt文件,仅仅包含jpg图片和对应的xml) 图片数量(jpg文件个数):1980 标注数量(xml文件个数):1980 标注类别数:5 标注类别名称:["dog","p…

yo!这里是STL::vector类简单模拟实现

目录 前言 重要接口模拟实现 默认成员函数 1.构造函数 2.析构函数 3.拷贝构造函数 4.赋值运算符重载 迭代器 简单接口 1.size() 2.capacity() 3.swap() 操作符重载 1.操作符[] 扩容接口 1.reserve() 2.resize() 增删查改接口 1.push_back() 2.pop_back() …

大数据Flink(五十五):Flink架构体系

文章目录 Flink架构体系 一、 Flink中的重要角色 二、Flink数据流编程模型 三、Libraries支持

Flutter Flar动画实战

在Flare动面出现之前,Flare动画大体可以分为使用AnimationController控制的基础动画以及使用Hero的转场动画,如果遇到一些复杂的场景,使用这些动画方案实现起来还是有难度的。不过,随着Flutter开始支持Flare矢量动面,Flutter的动画开发也变得越来越简单。事实上,Flare动画…

实现天气预报走势图

实现效果: 这里我用的天气接口是网上开源的,可以自己找一下。 稍微简单封装了一下axiso以及接口 封装的axios: // import { useUserStore } from /stores/user import axios from axios import router from /router import { ElMessage } f…

9 多进程编程

文章目录 进程以及状态进程进程的状态linux下的进程管理pstopbgkillcrontab 进程的创建两个while同时运行示例获取进程pidProcess 结构给子进程指定的函数传递参数进程间是否共享全局变量补充 进程间通信-Queue常用操作Queue 实例 管道通信(了解)样例 进…

问题:idea启动项目错误提示【command line is too long. shorten command line】

问题:idea启动项目错误提示【command line is too long. shorten command line】 参考博客 问题描述 启动参数过长,启动项目,错误提示 原因分析 出现此问题的直接原因是:IDEA集成开发环境运行你的“源码”的时候&#xff08…

python机器学习(六)决策树(上) 构造树、信息熵的分类和度量、信息增益、CART算法、剪枝

决策树算法 模拟相亲的过程,通过相亲决策图,男的去相亲,会先选择性别为女的,然后依次根据年龄、长相、收入、职业等信息对相亲的另一方有所了解。 通过决策图可以发现,生活中面临各种各样的选择,基于我们的…

网络安全 Day26-PHP 简单学习

PHP 简单学习 1. 为什么要学习PHP2. PHP语法3. php 变量4. 字符串数据5. PHP 函数6. 数组 1. 为什么要学习PHP php存量多开源软件多很多安全流程 渗透方法 sql注入基于PHP语言入门简单 2. PHP语法 格式: <?php 内容?>或<?内容?>结尾分号例子<?php phpin…

Stable Diffusion - SDXL 1.0 全部样式设计与艺术家风格的配置与提示词

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/132072482 来源于 Anna Dittmann 安娜迪特曼&#xff0c;艺术家风格的图像&#xff0c;融合幻想、数字艺术、纹理等样式。 SDXL 是 Stable Diffus…

特性Attribute

本文只提及常用的特性&#xff0c;更多特性请查看官方文档。 AddComponentMenu - Unity 脚本 API 常用特性 AddComponentMenu 添加组件菜单 使用 AddComponentMenu 属性可在“Component”菜单中的任意位置放置脚本&#xff0c;而不仅是“Component > Scripts”菜单。 使用…

go 基本语法(简单案例)

&#xff01;注&#xff1a; go中 对变量申明很是严格&#xff0c;申明了&#xff0c;在没有使用的情况下&#xff0c;也会产生编译错误 1.行分隔符 一行就是代码&#xff0c;无&#xff1b;分割&#xff0c;如果需要在一行展示&#xff0c;需要以&#xff1b;分割&#xff0c;…

Elasticsearchr入门

首先在官网下载elasticsearch8.9版本&#xff0c;以及8.9版本的kibana。 解压&#xff0c;点击es8.9bin目录下的elasticsearch.bat文件启动es 如图所示即为成功。 启动之后打开idea&#xff0c;添加依赖 <dependency><groupId>com.fasterxml.jackson.core</g…

MySQL~mysql基础应用相关题

整卷阅览&#xff1a; 想要获取试卷原版请点击以下链接下载&#xff1a; https://download.csdn.net/download/qq_53142796/88168133https://download.csdn.net/download/qq_53142796/88168133 解题过程&#xff1a; 数据库&#xff1a;studentdb 数据库表如下&#xff1a; …