《Understanding Black-box Predictions via Influence Functions》笔记

[1] 通过升权( § 2.1 \S 2.1 §2.1)、扰动( § 2.2 \S 2.2 §2.2)两种方式研究某个 training point z = ( x , y ) z=(x,y) z=(x,y) 对(优化后的)模型参数 θ ^ \hat\theta θ^、模型在某个 test point z test = ( x test , y test ) z_\text{test} = (x_\text{test}, y_\text{test}) ztest=(xtest,ytest) 的 prediction 的影响。

其在 § 2.3 \S 2.3 §2.3 对比在找与 z test z_\text{test} ztest 最相关的 z 时,(2) 式提出的影响函数 I up,loss ( z , z test ) I_\text{up,loss}(z,z_\text{test}) Iup,loss(z,ztest) 与(normalised x 后的)欧氏距离 x T x test x^T x_\text{test} xTxtest 的分别。以 logistic regression 为例,算出此时 I up,loss I_\text{up,loss} Iup,loss 的表达式,提了两点分别:

  • σ ( − y θ T x ) \sigma(-y\theta^Tx) σ(yθTx) 一项会使 loss 大的 training point 有更大的 influence。由 loss 的表达式 L ( z , θ ) = log ⁡ [ 1 + exp ⁡ ( − y θ T x ) ] L(z,\theta)=\log[1+\exp(-y\theta^Tx)] L(z,θ)=log[1+exp(yθTx)],loss 更大意味着 − y θ T x -y\theta^Tx yθTx 更大,从而 σ ( − y θ T x ) \sigma(-y\theta^Tx) σ(yθTx) 更大,确实会令 I up,loss I_\text{up,loss} Iup,loss 的绝对值更大,即有更大的 influence。

  • H θ ^ − 1 H^{-1}_{\hat\theta} Hθ^1 一项的作用,[2,5,6] 没解释,[3,4] 简单翻译一笔带过。看了 [1] 的 talk,还是看回 (2) 式好理解些: I up,loss ( z , z test ) = − ∇ θ L ( z test , θ ^ ) T H θ ^ − 1 ∇ θ L ( z , θ ^ ) I_\text{up,loss}(z,z_\text{test}) = - \nabla_\theta L(z_\text{test},\hat\theta)^T H^{-1}_{\hat\theta} \nabla_\theta L(z,\hat\theta) Iup,loss(z,ztest)=θL(ztest,θ^)THθ^1θL(z,θ^) 先忽略中间的 H θ ^ − 1 H^{-1}_{\hat\theta} Hθ^1也忽略负号,因为是讨论 influence「大小」,不看方向),只看 ∇ θ L ( z test , θ ^ ) T ∇ θ L ( z , θ ^ ) \nabla_\theta L(z_\text{test},\hat\theta)^T \nabla_\theta L(z,\hat\theta) θL(ztest,θ^)TθL(z,θ^),则 (2) 相当于说要找最相关的 z,不是看数据层面的关联(即 x T x test x^T x_\text{test} xTxtest),因为这里不是 kNN 这种 parameter-free 的模型,training data 是通过影响模型参数 θ \theta θ 来影响 test data 的 prediction 的,所以从「梯度关联」(内积)的视角看更准确:梯度反映模型要 fit 此数据要做出的调整,梯度越相关,意味着模型为 fit z 做出的调整对 predict z test z_\text{test} ztest 越适用。
    再考虑整个训练集:如果有其它 z ′ z' z 带来的梯度跟 z test z_\text{test} ztest 的梯度也很相关,那 z 就相对没那么重要了,极端情况 z ′ = z z'=z z=z,那有 z 没 z 都无所谓,所以加上 H θ ^ − 1 H^{-1}_{\hat\theta} Hθ^1 来考虑这点,文中

    ∇ θ L ( z , θ ^ ) \nabla_\theta L(z,\hat\theta) θL(z,θ^) points in a direction of little variation

    「direction」应是指梯度的方向、「variance」指梯度的方差。参考 [7-9],此时 H θ ^ − 1 H^{-1}_{\hat\theta} Hθ^1 应该会相对放大这个梯度内积(联想一维正态分布的情况会比较直观,高维的协方差逆相当于一维时方差放在分母,方差越小整个分式越大),于是数值上 I up,loss ( z , z test ) I_\text{up,loss}(z,z_\text{test}) Iup,loss(z,ztest) 更大;而联系 PCA 中关于 variance 的描述,这应该是表明很少有其它 training points 的梯度方向与 z 的相近,于是 z 对模型的影响(及此影响于 predict z test z_\text{test} ztest 的适用性)无可替代,所以应当认为 z 对 z test z_\text{test} ztest 的 influence 更大。

§ 3 \S 3 §3 的 stochastic estimation 近似 H θ ^ − 1 H^{-1}_{\hat\theta} Hθ^1 中,其 Taylor 展开为 H θ ^ − 1 = ∑ i = 0 ∞ ( I − H ) i H^{-1}_{\hat\theta} = \sum_{i=0}^\infin (I-H)^i Hθ^1=i=0(IH)i,参考 [10,11],此展开成立的前提是 ∥ H ∥ < 1 \|H\|<1 H<1,后文有说用 ∇ θ 2 L ( z i , θ ^ ) \nabla^2_\theta L(z_i,\hat\theta) θ2L(zi,θ^) 作 H 的无偏估计,而同一页的脚注 2 有讲假设 ∀ i , ∇ θ 2 L ( z i , θ ^ ) ⪯ I \forall i, \nabla^2_\theta L(z_i,\hat\theta) \preceq I i,θ2L(zi,θ^)I 成立,应该是类似的意思。这在实数域中的类比是 ∣ x ∣ < 1 |x|<1 x<1 ( 1 − x ) − 1 = 1 1 − x (1-x)^{-1}=\frac{1}{1-x} (1x)1=1x1 几何级数展开,见 [10,11]。

References

  1. (ICML 2017) Understanding Black-box Predictions via Influence Functions - paper, talk
  2. ICML 2017 Best Paper Award论文解读(1)
  3. ICML 2017 Best Paper理解
  4. 论文笔记understanding black-box predictions via influence functions
  5. ICML 2017最佳论文:为什么你改了一个参数,模型预测率突然提高了|分享总结
  6. 论文笔记:Understanding Black-box Predictions via Influence Functions
  7. What is the Covariance Matrix?
  8. Understanding the Covariance Matrix
  9. 如何直观地理解「协方差矩阵」?
  10. Taylor Expansion of inverse of a matrix (need verification that this is completely wrong)
  11. Neumann series

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

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

相关文章

kafka+Kraft模式集群+安全认证

Kraft模式安全认证 前章内容聊到了Kafka的Kraft集群的配置及使用。本篇再来说说kafka的安全认证方面的配置&#xff0c;。 Kafka提供了多种方式来进行安全认证&#xff0c;包括身份认证、授权和加密传输。一些常用的Kafka安全认证方式&#xff1a; SSL/TLS&#xff1a;使用S…

Docker技术--Docker镜像管理

1.Docker镜像特性 ①.镜像创建容器的特点 Docker在创建容器的时候需要指定镜像,每一个镜像都有唯一的标识:image_id,也可也使用镜像名称和版本号做唯一的标识,如果不指定版本号,那么默认使用的是最新的版本标签(laster)。 ②.镜像分层机制 Docker镜像是分层构建的,并通过…

科学干、科学管、科学抓质量讲座笔记

讲座来源&#xff1a;任占勇老师分享 航空工业技术研究所 文章目录 1. 质量的发展质量发展的阶段&#xff1a;2. 质量问题的类型3. 设计和制造的关系4. 质量谁负责&#xff1f;5. 质量&#xff1f;6.抓、干、管&#xff1f;6.1 抓&#xff1a;全员的质量保证能力建设&#xff0…

【UniApp开发小程序】小程序首页完善(滑到底部数据翻页、回到顶端、基于回溯算法的两列数据高宽比平衡)【后端基于若依管理系统开发】

文章目录 说明细节一&#xff1a;首页滑动到底部&#xff0c;需要查询下一页的商品界面预览页面实现 细节二&#xff1a;当页面滑动到下方&#xff0c;出现一个回到顶端的悬浮按钮细节三&#xff1a;商品分列说明优化前后效果对比使用回溯算法实现ControllerService回溯算法 优…

使用 Netty 实现群聊功能的步骤和注意事项

文章目录 前言声明功能说明实现步骤WebSocket 服务启动Channel 初始化HTTP 请求处理HTTP 页面内容WebSocket 请求处理 效果展示总结 前言 通过之前的文章介绍&#xff0c;我们可以深刻认识到Netty在网络编程领域的卓越表现和强大实力。这篇文章将介绍如何利用 Netty 框架开发一…

LeetCode——回溯篇(二)

刷题顺序及思路来源于代码随想录&#xff0c;网站地址&#xff1a;https://programmercarl.com 目录 131. 分割回文串 93. 复原 IP 地址 78. 子集 90. 子集 II 491. 递增子序列 131. 分割回文串 给你一个字符串 s&#xff0c;请你将 s 分割成一些子串&#xff0c;使每个…

基于非洲秃鹫算法优化的BP神经网络(预测应用) - 附代码

基于非洲秃鹫算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码 文章目录 基于非洲秃鹫算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码1.数据介绍2.非洲秃鹫优化BP神经网络2.1 BP神经网络参数设置2.2 非洲秃鹫算法应用 4.测试结果&#xff1a;5…

实现带头双向循环链表

&#x1f308;带头双向循环链表 描述&#xff1a;一个节点内包含两个指针&#xff0c;一个指向上一个节点&#xff0c;另一个指向下一个节点。哨兵位指向的下一个节点为头节点&#xff0c;哨兵位的上一个指向尾节点。 结构优势&#xff1a;高效率找尾节点&#xff1b;高效率插入…

度矩阵、邻接矩阵

度矩阵&#xff08;degree matrix&#xff09; 度矩阵是对角阵&#xff0c;对角上的元素为各个顶点的度&#xff0c;顶点vi的度表示和该顶点相关联的变得数量。 在无向图中&#xff0c;顶点vi的度d(vi)N(i)&#xff08;即与顶点相连的边的数目&#xff09;有向图中&#xff0…

【力扣】55、跳跃游戏

var canJump function(nums){let cover 0;for(let i0;i<nums.length;i){if(i<cover){cover Math.max(nums[i]i,cover);if(cover >nums.length-1){return true;}}}}

stm32之DS18B20

DS18B20与stm32之间也是通过单总线进行数据的传输的。单总线协议在DHT11中已经介绍过。虽说这两者外设都是单总线&#xff0c;但时序电路却很不一样&#xff0c;DS18B20是更为麻烦一点的。 DS18B20 举例&#xff08;原码补码反码转换_原码反码补码转换_王小小鸭的博客-CSDN博客…

打开软件报错mfc100u.dll缺失是什么意思?简单式修复mfc100u.dll问题

首先&#xff0c;我们需要了解什么是MFC100U.dll文件以及它的作用。MFC100U.dll是一个Microsoft Foundation Class (MFC)库文件&#xff0c;它是Visual C应用程序开发的一部分。MFC库提供了许多通用的功能&#xff0c;如窗口管理、消息处理等&#xff0c;可以帮助开发者更快速地…

js的es6的特性

ES6特性 类 lass Person{constructor(name) {this.name 小明;}console() {console.log(this.name);} } const man new Man(小明); man.console(); // 小明 模块化 js代码 // 模块 变量 export let a 3; // 模块 方法 export function b(){console.log("hello"…

C++中前置++和后置++的详细讲解

参考链接&#xff08;链接讲的很全&#xff09;&#xff1a;C前置和后置的区别 对于迭代器和其他模板对象使用前缀形式 (i) 的自增, 自减运算符.&#xff0c;理由是 前置自增 (i) 通常要比后置自增 (i) 效率更高。 class Age { public: Age& operator() //前置 {…

fastjson-1.2.24-rce(CVE-2017-18349)fastjson-1.2.47-rce(CNVD-2019-22238)

一.fastjson 1.2.24 反序列化导致任意命令执行漏洞(CVE-2017-18349) fastjson在解析json的过程中&#xff0c;支持使用autoType来实例化某一个具体的类&#xff0c;并调用该类的set/get方法来访问属性。通过查找代码中相关的方法&#xff0c;即可构造出一些恶意利用链 影响范围…

Ansible学习笔记2

Ansible是Python开发的自动化运维工具&#xff0c;集合了众多运维工具&#xff08;Puppet、cfengine、chef、func、fabric&#xff09;的优点&#xff0c;实现了批量系统配置&#xff0c;批量程序部署、批量运行命令等功能。 特点&#xff1a; 1&#xff09;部署简单&#xff…

基于金枪鱼群算法优化的BP神经网络(预测应用) - 附代码

基于金枪鱼群算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码 文章目录 基于金枪鱼群算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码1.数据介绍2.金枪鱼群优化BP神经网络2.1 BP神经网络参数设置2.2 金枪鱼群算法应用 4.测试结果&#xff1a;5…

【Java基础增强】Stream流

1.Stream流 1.1体验Stream流【理解】 案例需求 按照下面的要求完成集合的创建和遍历 创建一个集合&#xff0c;存储多个字符串元素 把集合中所有以"张"开头的元素存储到一个新的集合 把"张"开头的集合中的长度为3的元素存储到一个新的集合 遍历上一步得…

Swift使用PythonKit调用Python

打开Xcode项目。然后选择“File→Add Packages”&#xff0c;然后输入软件包依赖链接&#xff1a; ​https://github.com/pvieito/PythonKit.git https://github.com/kewlbear/Python-iOS.git Python-iOS包允许在iOS应用程序中使用python模块。 用法&#xff1a; import Pyth…

leetcode-188-买卖股票的最佳时机 IV

1. 问题描述 https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-iv/description/ 2. 解题代码 public class Solution {public int MaxProfit(int k, int[] prices) {if(prices.Length<2){return 0;}if(k0){return 0;}List<int> listValuenew List<…