网上关于这篇论文的阅读已经不少,这篇文章主要是想简单说说影响函数的具体意义
D i = ( y ^ ( − i ) − y ^ ) T ( y ^ ( − i ) − y ^ ) p s 2 = ( θ ( − i ) ^ − θ ^ ) T X T X ( θ ( − i ) ^ − θ ^ ) p s 2 D_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} Di=ps2(y^(−i)−y^)T(y^(−i)−y^)=ps2(θ(−i)^−θ^)TXTX(θ(−i)^−θ^)
这里,我们已经显示给出了损失函数
L = ∑ i = 1 n ( y i − x i T β ) 2 L=\sum_{i=1}^n(y_i-x_i^T\beta)^2 L=i=1∑n(yi−xiTβ)2
D i D_i Di实际上是F分布的值,表明了删除一个样本后,对模型的影响程度
假设输入空间为 X \mathcal{X} X,输出空间为 Y \mathcal{Y} Y,假设训练数据为 z 1 , ⋯ , z n z_1,\cdots,z_n z1,⋯,zn, z i = ( x i , y i ) ∈ X × Y z_i=(x_i,y_i) \in \mathcal{X} \times \mathcal{Y} zi=(xi,yi)∈X×Y
损失函数 L ( z , θ ) L(z,\theta) L(z,θ)为二次可微
θ ^ = a r g m i n θ ∈ Θ ∑ i = 1 n L ( z i , θ ) \hat{\theta}= \underset{\theta \in \Theta}{arg \ min}\sum_{i=1}^nL(z_i,\theta) θ^=θ∈Θarg mini=1∑nL(zi,θ)
删除样本z之后,新的模型为
θ ^ − z = a r g m i n θ ∈ Θ ∑ i = 1 , z i ≠ z n L ( z i , θ ) = a r g m i n θ ∈ Θ 1 n ∑ i = 1 n L ( z i , θ ) − 1 n L ( 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 mini=1,zi=z∑nL(zi,θ)=θ∈Θarg minn1i=1∑nL(zi,θ)−n1L(z,θ)
更一般的有
θ ^ z , ϵ = a r g m i n θ ∈ Θ 1 n ∑ i = 1 n L ( z i , θ ) + ϵ 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) θ^z,ϵ=θ∈Θarg minn1i=1∑nL(zi,θ)+ϵL(z,θ)
ϵ = − 1 n , θ ^ z , ϵ = θ ^ − z ; ϵ = 0 , θ ^ z , ϵ = θ ^ \epsilon=-\frac{1}{n},\hat{\theta}_{z,\epsilon}=\hat{\theta}_{-z};\epsilon=0,\hat{\theta}_{z,\epsilon}=\hat{\theta} ϵ=−n1,θ^z,ϵ=θ^−z;ϵ=0,θ^z,ϵ=θ^
令 R ( θ , ϵ ) = 1 n ∑ i = 1 n L ( z i , θ ) + ϵ L ( z , θ ) R(\theta,\epsilon)=\frac{1}{n}\sum_{i=1}^nL(z_i,\theta)+\epsilon L(z,\theta) R(θ,ϵ)=n1∑i=1nL(zi,θ)+ϵL(z,θ)
最优的一阶条件为:
d R ( θ , ϵ ) d θ = d R ( θ , 0 ) d θ + ϵ d L ( z , θ ) d θ = 0 d R ( θ , ϵ ) 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 dθdR(θ,ϵ)=dθdR(θ,0)+ϵdθdL(z,θ)=0dϵdR(θ,ϵ)=L(z,θ)=0
令 f ( θ ) = Δ R ( θ , 0 ) + ϵ Δ L ( z , θ ) f(\theta)=\Delta R(\theta,0)+\epsilon \Delta L(z,\theta) f(θ)=ΔR(θ,0)+ϵΔL(z,θ)
因为 ϵ → 0 ⇒ θ ^ z , ϵ → θ ^ \epsilon\rightarrow0\Rightarrow \hat{\theta}_{z,\epsilon}\rightarrow \hat{\theta} ϵ→0⇒θ^z,ϵ→θ^
θ ^ z , ϵ = θ ^ + Δ θ \hat{\theta}_{z,\epsilon}=\hat{\theta} +\Delta \theta θ^z,ϵ=θ^+Δθ
一阶泰勒展开
f ( θ ^ z , ϵ ) = f ( θ ^ + Δ θ ) ≈ f ( θ ^ ) + f ′ ( θ ^ ) Δ θ ⇒ Δ θ = − f ′ ( θ ^ ) − 1 f ( θ ^ ) 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(θ^z,ϵ)=f(θ^+Δθ)≈f(θ^)+f′(θ^)Δθ⇒Δθ=−f′(θ^)−1f(θ^)
f ( θ ^ ) = ▽ R ( θ ^ , 0 ) + ϵ ▽ L ( z , θ ^ ) f(\hat{\theta})=\bigtriangledown R(\hat{\theta},0)+\epsilon\bigtriangledown L(z,\hat{\theta}) f(θ^)=▽R(θ^,0)+ϵ▽L(z,θ^)
由于 ▽ R ( θ ^ , 0 ) = 0 ⇒ f ( θ ^ ) = ϵ ▽ L ( z , θ ^ ) \bigtriangledown R(\hat{\theta},0)=0\Rightarrow f(\hat{\theta})=\epsilon \bigtriangledown L(z,\hat{\theta}) ▽R(θ^,0)=0⇒f(θ^)=ϵ▽L(z,θ^),这里的意义是 θ \theta θ关于z的下降梯度
f ′ ( θ ^ ) = ▽ 2 R ( θ ^ , 0 ) + ϵ ▽ 2 L ( z , θ ^ ) ≈ ▽ 2 R ( θ ^ , 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}} f′(θ^)=▽2R(θ^,0)+ϵ▽2L(z,θ^)≈▽2R(θ^,0)≡Hθ^
Δ θ = − ϵ H θ ^ − 1 ▽ L ( z , θ ^ ) \Delta \theta=-\epsilon H_{\hat{\theta}}^{-1} \bigtriangledown L(z,\hat{\theta}) Δθ=−ϵHθ^−1▽L(z,θ^)
删除其中一个样本时,设置的 ϵ \epsilon ϵ大小是一样的,所以,把决定 Δ θ \Delta \theta Δθ的主要部分定义为影响函数。
I u p , p a r a m s ( z ) = − H θ ^ − 1 ▽ L ( z , θ ^ ) \mathcal{I}_{up,params}(z)= -H_{\hat{\theta}}^{-1} \bigtriangledown L(z,\hat{\theta}) Iup,params(z)=−Hθ^−1▽L(z,θ^),
所以有
Δ θ = θ ^ − z − θ ^ = − 1 n I u p , p a r a m s ( z ) \Delta \theta = \hat{\theta}_{-z}-\hat{\theta} =-\frac{1}{n}\mathcal{I}_{up,params}(z) Δθ=θ^−z−θ^=−n1Iup,params(z)
定义为样本z对参数的影响程度。至于影响是好还是坏,不好说,一般来说,对参数影响大的样本,往往是异常点。这个其实很类似一个标准的牛顿梯度下降方法,只计算第一次下降的方向。得到的结果其实参数的下降的梯度(方向+步长)。梯度乘以海赛矩阵的逆矩阵,使得下降具有二次收敛的速度。
相比cook距离,这个影响指标的大小并没有什么特别意义。在模型训练中,我们最关心,还是想知道引入或者删除一个样本,是提高了还是降低了模型的精度。最基本是知道一个训练样本z对另外一个样本 z t e s t z_{test} ztest的影响。
f ( z , z t e s t , ϵ ) = L ( z t e s t , θ ^ z , ϵ ) − L ( z t e s t , θ ) ^ I u p , l o s s ( z , z t e s t ) = d f ( z , z t e s t , ϵ ) d ϵ = d L ( z t e s t , θ ^ z , ϵ ) d ϵ = ▽ L ( z t e s t , θ ^ z , ϵ ) T d θ ^ z , ϵ d ϵ = ▽ L ( z t e s t , θ ^ z , ϵ ) T I u p , p a r a m s ( 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,ϵ)=L(ztest,θ^z,ϵ)−L(ztest,θ)^Iup,loss(z,ztest)=dϵdf(z,ztest,ϵ)=dϵdL(ztest,θ^z,ϵ)=▽L(ztest,θ^z,ϵ)Tdϵdθ^z,ϵ=▽L(ztest,θ^z,ϵ)TIup,params(z)
f ( z , z t e s t , ϵ ) f(z,z_{test},\epsilon) f(z,ztest,ϵ)表示给样本z加权后对 z t e s t z_{test} ztest预测的影响。显然,该指标大于0表示为负影响,小于0则为正影响。
f ( z , z t e s t , ϵ ) d ϵ \frac{f(z,z_{test},\epsilon)}{d\epsilon} dϵf(z,ztest,ϵ)表示随着权值变换,f函数的变化梯度。由于 θ ^ z , ϵ \hat{\theta}_{z,\epsilon} θ^z,ϵ由一阶泰勒展开地近似表示,因此,该梯度是不会变化的。
f ( z , z t e s t , − 1 n ) = − 1 n I u p , l o s s ( z , z t e s t ) f(z,z_{test},-\frac{1}{n})=-\frac{1}{n}\mathcal{I}_{up,loss}(z,z_{test}) f(z,ztest,−n1)=−n1Iup,loss(z,ztest)
在n比较大的时候, 1 n → 0 \frac{1}{n}\rightarrow0 n1→0,这个函数精度应该没问题,如果n没那么大,不知道还能不能近似地计算出影响力。