影响函数(Influence function)推导

参考 Understanding Black-box Predictions via Influence Functions论文附录。

一、概述

影响函数是一个应用广泛的统计学习概念,在 Residuals and influence in regression 书中也有提及。可以用来衡量样本对模型参数的影响程度,也就是样本的重要性。在参考的论文中被用于提供模型的解释,实现机器学习算法的可解释性。

常规想法中,改变一个样本的的权重往往需要重新定义数据集或损失函数,重新训练模型,需要耗费很长的时间和大量的计算资源。影响函数的提出就是为了解决这个问题,在不改变模型的情况下获得相近的重要性度量结果。

如果不关心推导的同学可以直接看结论。

二、结论

假设有 n n n个训练样本 z 1 , . . . , z n z_1,...,z_n z1​,...,zn​,其中 z i = ( x i , y i ) z_i=(x_i,y_i) zi​=(xi​,yi​),令 L ( z , θ ) L(z,\theta) L(z,θ)表示样本 z z z在模型参数为 θ \theta θ下的损失函数,则经验风险为

R ( θ ) = 1 n ∑ i = 1 n L ( z i , θ ) (1) R(\theta)=\frac{1}{n}\sum_{i=1}^{n}L(z_i,\theta) \tag{1} R(θ)=n1​i=1∑n​L(zi​,θ)(1)

根据经验风险最小化(ERM),得到的模型参数为:

θ ^ = a r g min ⁡ θ 1 n ∑ i = 1 n L ( z i , θ ) (2) \hat{\theta}=arg \mathop{\min}_{\theta}\frac{1}{n} \sum_{i=1}^{n}L(z_i,\theta) \tag{2} θ^=argminθ​n1​i=1∑n​L(zi​,θ)(2)

研究改变某个训练样本 z z z的权重对 θ \theta θ的影响。将该样本 z z z在训练集中的权重增加 ϵ \epsilon ϵ,这时根据ERM得到的模型参数变为

θ ^ ϵ , z = a r g min ⁡ θ ( 1 n ∑ i = 1 n L ( z i , θ ) + ϵ L ( z , θ ) ) = a r g min ⁡ θ [ R ( θ ) + ϵ L ( z , θ ) ] (3) \hat{\theta}_{\epsilon,z}=arg \mathop{\min}_{\theta}(\frac{1}{n} \sum_{i=1}^{n}L(z_i,\theta)+\epsilon L(z,\theta)) \\ =arg \mathop{\min}_{\theta}[R(\theta)+\epsilon L(z,\theta)] \tag{3} θ^ϵ,z​=argminθ​(n1​i=1∑n​L(zi​,θ)+ϵL(z,θ))=argminθ​[R(θ)+ϵL(z,θ)](3)

那么,模型参数的变化与训练样本权重变化的关系,被称作影响函数(influence function)

I u p , p a r a m s ( z ) = d θ ^ ϵ , z d ϵ ∣ ϵ = 0 = − H θ ^ − 1 ∇ L ( z , θ ^ ) (4) \mathcal{I}_{up,params}(z)=\frac{d\hat{\theta}_{\epsilon,z}}{d\epsilon}\big|_{\epsilon=0} =-H_{\hat{\theta}}^{-1}{\nabla}L(z,\hat{\theta}) \tag{4} Iup,params​(z)=dϵdθ^ϵ,z​​∣ ∣​ϵ=0​=−Hθ^−1​∇L(z,θ^)(4)

其中,海森矩阵(Hession Matrix)表达式为:

H θ ^ = ∇ 2 R ( θ ^ ) = 1 n ∑ i = 1 n ∇ θ 2 L ( z i , θ ^ ) (5) H_{\hat{\theta}}=\nabla^2R(\hat{\theta}) =\frac{1}{n}\sum^{n}_{i=1}\nabla^2_{\theta}L(z_i,\hat{\theta}) \tag{5} Hθ^​=∇2R(θ^)=n1​i=1∑n​∇θ2​L(zi​,θ^)(5)

公式(4)可以理解为,为一个样本改变权重,用模型参数对这种改变的敏感程度来衡量该样本对整个模型的重要性。

三、推导

接下来介绍推导过程。公式(1-3)的叙述过程在这里不再赘述,主要介绍如何由公式(3)导出公式(4)的结论。

首先,定义变量 Δ ϵ = θ ^ ϵ , z − θ ^ \Delta_{\epsilon}=\hat{\theta}_{\epsilon,z}-\hat{\theta} Δϵ​=θ^ϵ,z​−θ^来衡量参数 θ \theta θ的变化量,这里需要注意 θ ^ \hat{\theta} θ^也就是给样本增加权重之前的经验风险最小化得到的参数结果,因此它和 ϵ \epsilon ϵ无关。于是我们有:

d θ ^ ϵ , z d ϵ = d Δ ϵ d ϵ (6) \frac{d\hat{\theta}_{\epsilon,z}}{d\epsilon} =\frac{d\Delta_{\epsilon}}{d\epsilon} \tag{6} dϵdθ^ϵ,z​​=dϵdΔϵ​​(6)

因为 θ ^ ϵ , z \hat{\theta}_{\epsilon,z} θ^ϵ,z​是公式(3)中的最小化结果,因此满足一阶导条件,也就是对 θ \theta θ的一阶导数为零。

0 = ∇ R ( θ ^ ϵ , z ) + ϵ ∇ L ( z , θ ^ ϵ , z ) (7) 0=\nabla R(\hat{\theta}_{\epsilon,z})+ \epsilon \nabla L(z, \hat{\theta}_{\epsilon,z}) \tag{7} 0=∇R(θ^ϵ,z​)+ϵ∇L(z,θ^ϵ,z​)(7)

接下来,以为当 ϵ \epsilon ϵ趋于0时, θ ^ ϵ , z \hat{\theta}_{\epsilon,z} θ^ϵ,z​趋于 θ ^ \hat{\theta} θ^,我们将公式(7)的右侧做一阶泰勒展开,也就是将 θ ^ ϵ , z \hat{\theta}_{\epsilon,z} θ^ϵ,z​在 θ ^ \hat{\theta} θ^附近展开,得到:

0 ≈ [ ∇ R ( θ ^ ) + ϵ ∇ L ( z , θ ^ ) ] + [ ∇ 2 R ( θ ^ ) + ϵ ∇ 2 L ( z , θ ^ ) ] Δ ϵ (8) 0\approx [\nabla R(\hat{\theta})+ \epsilon \nabla L(z, \hat{\theta})]+ [\nabla^2 R(\hat{\theta})+ \epsilon\nabla^2 L(z, \hat{\theta})]\Delta_\epsilon \tag{8} 0≈[∇R(θ^)+ϵ∇L(z,θ^)]+[∇2R(θ^)+ϵ∇2L(z,θ^)]Δϵ​(8)

这里,我们去掉了 o ( ∣ ∣ Δ ϵ ∣ ∣ ) o(||\Delta_\epsilon||) o(∣∣Δϵ​∣∣)项,从公式(8)中求解出 Δ ϵ \Delta_\epsilon Δϵ​,得到:

Δ ϵ ≈ − [ ∇ 2 R ( θ ^ ) + ϵ ∇ 2 L ( z , θ ^ ) ] − 1 [ ∇ R ( θ ^ ) + ϵ ∇ L ( z , θ ^ ) ] (9) \Delta_\epsilon\approx -[\nabla^2 R(\hat{\theta})+ \epsilon\nabla^2 L(z, \hat{\theta})]^{-1} [\nabla R(\hat{\theta})+ \epsilon \nabla L(z, \hat{\theta})] \tag{9} Δϵ​≈−[∇2R(θ^)+ϵ∇2L(z,θ^)]−1[∇R(θ^)+ϵ∇L(z,θ^)](9)

由于 θ ^ \hat{\theta} θ^最小化 R R R,因此有 ∇ R ( θ ^ ) = 0 \nabla R(\hat{\theta})=0 ∇R(θ^)=0,将其代入公式(9),并仅保留 O ( ϵ ) O(\epsilon) O(ϵ)项,也就是去掉高阶无穷小项。得到公式:

Δ ϵ ≈ − ∇ 2 R ( θ ^ ) − 1 ∇ L ( z , θ ^ ) ϵ (10) \Delta_\epsilon\approx -\nabla^2 R(\hat{\theta})^{-1} \nabla L(z, \hat{\theta})\epsilon \tag{10} Δϵ​≈−∇2R(θ^)−1∇L(z,θ^)ϵ(10)

结合公式(6),最终得到影响函数(Influence function):

I u p , p a r a m s ( z ) = d θ ^ ϵ , z d ϵ ∣ ϵ = 0 = − H θ ^ − 1 ∇ L ( z , θ ^ ) (11) \mathcal{I}_{up,params}(z)=\frac{d\hat{\theta}_{\epsilon,z}}{d\epsilon}\big|_{\epsilon=0} =-H_{\hat{\theta}}^{-1}{\nabla}L(z,\hat{\theta}) \tag{11} Iup,params​(z)=dϵdθ^ϵ,z​​∣ ∣​ϵ=0​=−Hθ^−1​∇L(z,θ^)(11)

可以看到这里的影响函数的计算并不需要重新训练模型。至此,影响函数的推导介绍完毕。

机器学习可解释性(三)——影响函数(Influence function)推导相关推荐

  1. 【文献翻译】综述:机器学习可解释性

    原文链接:Review Study of Interpretation Methods for Future Interpretable Machine Learning Abstract 近年来,黑 ...

  2. 机器学习可解释性(一)

    机器学习可解释性(一) 机器学习可解释性(二) 之 可解释模型 机器学习可解释性(三) 之模型无关方法 机器学习可解释性(四) 之 shap 文章目录 what: 什么是可解释性(interpreta ...

  3. 机器学习之EM算法的原理及推导(三硬币模型)及Python实现

    EM算法的简介 EM算法由两步组成:E步和M步,是最常用的迭代算法. 本文主要参考了李航博士的<统计学习方法> 在此基础上主要依据EM算法原理补充了三硬币模型的推导. 1.EM算法的原理 ...

  4. 归因分析笔记5:机器学习可解释性

    目录 可解释的机器学习 从宏观业务流程看可解释机器学习 使机器学习可解释两种方法 可解释性的范围 模型不可知的全局方法 排列特征重要性(模型依赖) 模型不可知的局部方法 Shapley 值 Shapl ...

  5. 机器学习笔记(十)——Logistic Function AND Softmax Function

    一.说明 在逻辑回归和一些机器学习算法中, Logistic函数和Softmax函数是常用到的,今天就先讨论下这两个函数. 二.Logistic Function Logistic function一 ...

  6. 机器学习系列(三)——目标函数、损失函数以及代价函数

    机器学习基础(三) 机器学习系列(一)--基础概念及分类 机器学习系列(二)--分类及回归问题 文章目录 机器学习基础(三) 4. 代价函数 4.1 为什么要使用代价函数 4.2 目标函数的作用原理 ...

  7. 【机器学习】逻辑斯蒂回归原理推导与求解

    1.概念 逻辑斯蒂回归又称为"对数几率回归",虽然名字有回归,但是实际上却是一种经典的分类方法,其主要思想是:根据现有数据对分类边界线(Decision Boundary)建立回归 ...

  8. 机器学习可解释性(一) —— 累积局部效应图(ALE)

    一.序言 深度学习的"黑盒"特性如今越来越让计算机工作者困扰,因此模型的可解释性问题在近些年越来越受到人们的关注.作为该领域的萌新,我开始一点点学习相关领域的内容,参考的书籍是:& ...

  9. 机器学习入门系列三(关键词:逻辑回归,正则化)

    机器学习入门系列三(关键词:逻辑回归,正则化) 目录(?)[+] 一逻辑回归 逻辑回归 假设表示 决策边界 代价函数 其他优化方法 多元分类 二正则化 一.逻辑回归 1.逻辑回归 什么是逻辑回归问题, ...

最新文章

  1. Python的Xpath介绍和语法详解
  2. springboot + rabbitmq 用了消息确认机制,感觉掉坑里了
  3. kubeadm安装高可用kubernetes v1.14.1
  4. 声音的播放——MCI的使用
  5. Python+OpenCV图像处理(十五)—— 圆检测
  6. 学会针对永洪API接口的性能测试,工作效率提升百倍
  7. 记一次Nacos的issue修复之并发导致的NPE异常
  8. python对seo有什么用_现在做seo会运用到python吗
  9. python3.5模块大全-python tkinter模块使用大全(超全)
  10. Hadoop---HDFS相关命令
  11. 文章目录:使用VisualStudio 2010从分析到实施系列【共5+3篇】
  12. python从入门到精通 明日科技 电子书-Python从入门到精通(明日科技出版) 源代码+课件+视频 全套...
  13. [转载] 简易Python代码---购物清单
  14. eclipse配置java开发环境_Java中Eclipse开发环境配置
  15. Centos7做回收站功能,防止误删除
  16. windows服务器ssl证书安装及配置
  17. 学渣的刷题之旅 leetcode刷题 28. 实现 strStr()
  18. proxy(代理)用法
  19. 是不是在为 API 烦恼 ?好用免费的api接口大全呼之欲出
  20. Xshell 使用删除键乱码问题

热门文章

  1. ubuntu 软件源无法更新的问题
  2. Vue中作用域插槽solt详解
  3. 双十一攻略 2020年天猫双十一笔笔返红包活动规则
  4. leaflet之家总目录
  5. 如何使用 ATK-SIM900A 模块进行中英文的短信发送
  6. cocos2d-x与着色器设计--入门篇(游云凌天原创)
  7. 可升级鸿蒙系统的手机,哪些华为手机可以升级鸿蒙系统
  8. html5仿发送说说,适合发朋友圈可爱又有趣的说说 朋友圈必备秒赞文案
  9. 怎么选择靠谱的独立站代运营公司
  10. USG6000V防火墙WEB登录界面超详细配置过程