论文阅读理解:Understanding Black-box Predictions via Influence Functions

网上关于这篇论文的阅读已经不少,这篇文章主要是想简单说说影响函数的具体意义

Cook Distance

Di=(y^(i)y^)T(y^(i)y^)ps2=(θ(i)^θ^)TXTX(θ(i)^θ^)ps2D_i=\frac{(\hat{y}_{(-i)}-\hat{y})^T(\hat{y}_{(-i)}-\hat{y})}{ps^2}=\frac{(\hat{\theta_{(-i)}}-\hat{\theta})^TX^TX(\hat{\theta_{(-i)}}-\hat{\theta})}{ps^2}
这里,我们已经显示给出了损失函数
L=i=1n(yixiTβ)2L=\sum_{i=1}^n(y_i-x_i^T\beta)^2

DiD_i实际上是F分布的值,表明了删除一个样本后,对模型的影响程度

Influence Function

假设输入空间为X\mathcal{X},输出空间为Y\mathcal{Y},假设训练数据为z1,,znz_1,\cdots,z_n,zi=(xi,yi)X×Yz_i=(x_i,y_i) \in \mathcal{X} \times \mathcal{Y}
损失函数L(z,θ)L(z,\theta)为二次可微
θ^=arg minθΘi=1nL(zi,θ)\hat{\theta}= \underset{\theta \in \Theta}{arg \ min}\sum_{i=1}^nL(z_i,\theta)

删除样本z之后,新的模型为
θ^z=arg minθΘi=1,ziznL(zi,θ)=arg minθΘ1ni=1nL(zi,θ)1nL(z,θ)\hat{\theta}_{-z}= \underset{\theta \in \Theta}{arg \ min}\sum_{i=1,z_i \neq z}^nL(z_i,\theta)=\underset{\theta \in \Theta}{arg \ min}\frac{1}{n}\sum_{i=1}^nL(z_i,\theta)-\frac{1}{n}L(z,\theta)

更一般的有
θ^z,ϵ=arg minθΘ1ni=1nL(zi,θ)+ϵL(z,θ)\hat{\theta}_{z,\epsilon}=\underset{\theta \in \Theta}{arg \ min}\frac{1}{n}\sum_{i=1}^nL(z_i,\theta)+\epsilon L(z,\theta)

ϵ=1n,θ^z,ϵ=θ^z;ϵ=0,θ^z,ϵ=θ^\epsilon=-\frac{1}{n},\hat{\theta}_{z,\epsilon}=\hat{\theta}_{-z};\epsilon=0,\hat{\theta}_{z,\epsilon}=\hat{\theta}

R(θ,ϵ)=1ni=1nL(zi,θ)+ϵL(z,θ)R(\theta,\epsilon)=\frac{1}{n}\sum_{i=1}^nL(z_i,\theta)+\epsilon L(z,\theta)

最优的一阶条件为:
dR(θ,ϵ)dθ=dR(θ,0)dθ+ϵdL(z,θ)dθ=0dR(θ,ϵ)dϵ=L(z,θ)=0\frac{dR(\theta,\epsilon)}{d\theta}=\frac{dR(\theta,0)}{d\theta}+\epsilon \frac{dL(z,\theta)}{d\theta}=0\\ \frac{dR(\theta,\epsilon)}{d\epsilon}=L(z,\theta)=0

f(θ)=ΔR(θ,0)+ϵΔL(z,θ)f(\theta)=\Delta R(\theta,0)+\epsilon \Delta L(z,\theta)
因为ϵ0θ^z,ϵθ^\epsilon\rightarrow0\Rightarrow \hat{\theta}_{z,\epsilon}\rightarrow \hat{\theta}
θ^z,ϵ=θ^+Δθ\hat{\theta}_{z,\epsilon}=\hat{\theta} +\Delta \theta
一阶泰勒展开
f(θ^z,ϵ)=f(θ^+Δθ)f(θ^)+f(θ^)ΔθΔθ=f(θ^)1f(θ^)f(\hat{\theta}_{z,\epsilon})=f(\hat{\theta}+\Delta \theta)\approx f(\hat{\theta})+f'(\hat{\theta})\Delta \theta\Rightarrow\\ \Delta \theta = -f'(\hat{\theta})^{-1}f(\hat{\theta})

f(θ^)=R(θ^,0)+ϵL(z,θ^)f(\hat{\theta})=\bigtriangledown R(\hat{\theta},0)+\epsilon\bigtriangledown L(z,\hat{\theta})
由于R(θ^,0)=0f(θ^)=ϵL(z,θ^)\bigtriangledown R(\hat{\theta},0)=0\Rightarrow f(\hat{\theta})=\epsilon \bigtriangledown L(z,\hat{\theta}),这里的意义是θ\theta关于z的下降梯度
f(θ^)=2R(θ^,0)+ϵ2L(z,θ^)2R(θ^,0)Hθ^f'(\hat{\theta})=\bigtriangledown^2 R(\hat{\theta},0)+\epsilon\bigtriangledown^2 L(z,\hat{\theta})\approx \bigtriangledown^2R(\hat{\theta},0)\equiv H_{\hat{\theta}}

参数影响Iup,params(z)\mathcal{I}_{up,params}(z)

Δθ=ϵHθ^1L(z,θ^)\Delta \theta=-\epsilon H_{\hat{\theta}}^{-1} \bigtriangledown L(z,\hat{\theta})

删除其中一个样本时,设置的ϵ\epsilon大小是一样的,所以,把决定Δθ\Delta \theta的主要部分定义为影响函数。
Iup,params(z)=Hθ^1L(z,θ^)\mathcal{I}_{up,params}(z)= -H_{\hat{\theta}}^{-1} \bigtriangledown L(z,\hat{\theta}),
所以有
Δθ=θ^zθ^=1nIup,params(z) \Delta \theta = \hat{\theta}_{-z}-\hat{\theta} =-\frac{1}{n}\mathcal{I}_{up,params}(z)
定义为样本z对参数的影响程度。至于影响是好还是坏,不好说,一般来说,对参数影响大的样本,往往是异常点。这个其实很类似一个标准的牛顿梯度下降方法,只计算第一次下降的方向。得到的结果其实参数的下降的梯度(方向+步长)。梯度乘以海赛矩阵的逆矩阵,使得下降具有二次收敛的速度。

损失影响Iup,loss(z,ztest)\mathcal{I}_{up,loss}(z,z_{test})

相比cook距离,这个影响指标的大小并没有什么特别意义。在模型训练中,我们最关心,还是想知道引入或者删除一个样本,是提高了还是降低了模型的精度。最基本是知道一个训练样本z对另外一个样本ztestz_{test}的影响。

f(z,ztest,ϵ)=L(ztest,θ^z,ϵ)L(ztest,θ)^Iup,loss(z,ztest)=df(z,ztest,ϵ)dϵ=dL(ztest,θ^z,ϵ)dϵ=L(ztest,θ^z,ϵ)Tdθ^z,ϵdϵ=L(ztest,θ^z,ϵ)TIup,params(z)f(z,z_{test},\epsilon)=L(z_{test},\hat{\theta}_{z,\epsilon})-L(z_{test},\hat{\theta)}\\ \mathcal{I}_{up,loss}(z,z_{test})=\frac{df(z,z_{test},\epsilon)}{d\epsilon}=\frac{dL(z_{test},\hat{\theta}_{z,\epsilon})}{d\epsilon}\\= \bigtriangledown L(z_{test},\hat{\theta}_{z,\epsilon})^T\frac{d\hat{\theta}_{z,\epsilon}}{d\epsilon}= \bigtriangledown L(z_{test},\hat{\theta}_{z,\epsilon})^T\mathcal{I}_{up,params}(z)

f(z,ztest,ϵ)f(z,z_{test},\epsilon)表示给样本z加权后对ztestz_{test}预测的影响。显然,该指标大于0表示为负影响,小于0则为正影响。
f(z,ztest,ϵ)dϵ\frac{f(z,z_{test},\epsilon)}{d\epsilon}表示随着权值变换,f函数的变化梯度。由于θ^z,ϵ\hat{\theta}_{z,\epsilon}由一阶泰勒展开地近似表示,因此,该梯度是不会变化的。

f(z,ztest,1n)=1nIup,loss(z,ztest)f(z,z_{test},-\frac{1}{n})=-\frac{1}{n}\mathcal{I}_{up,loss}(z,z_{test})
在n比较大的时候,1n0\frac{1}{n}\rightarrow0,这个函数精度应该没问题,如果n没那么大,不知道还能不能近似地计算出影响力。

展开阅读全文
©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值