文章目录
网上关于这篇论文的阅读已经不少,这篇文章主要是想简单说说影响函数的具体意义
Cook Distance
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分布的值,表明了删除一个样本后,对模型的影响程度
Influence Function
假设输入空间为
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θ^
参数影响 I u p , p a r a m s ( z ) \mathcal{I}_{up,params}(z) Iup,params(z)
Δ θ = − ϵ 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对参数的影响程度。至于影响是好还是坏,不好说,一般来说,对参数影响大的样本,往往是异常点。这个其实很类似一个标准的牛顿梯度下降方法,只计算第一次下降的方向。得到的结果其实参数的下降的梯度(方向+步长)。梯度乘以海赛矩阵的逆矩阵,使得下降具有二次收敛的速度。
损失影响 I u p , l o s s ( z , z t e s t ) \mathcal{I}_{up,loss}(z,z_{test}) Iup,loss(z,ztest)
相比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没那么大,不知道还能不能近似地计算出影响力。