机器学习可解释性(三)——影响函数(Influence function)推导
2025-08-14 23:46:12影响函数(Influence function)推导
参考 Understanding Black-box Predictions via Influence Functions论文附录。
一、概述
影响函数是一个应用广泛的统计学习概念,在 Residuals and influence in regression 书中也有提及。可以用来衡量样本对模型参数的影响程度,也就是样本的重要性。在参考的论文中被用于提供模型的解释,实现机器学习算法的可解释性。
常规想法中,改变一个样本的的权重往往需要重新定义数据集或损失函数,重新训练模型,需要耗费很长的时间和大量的计算资源。影响函数的提出就是为了解决这个问题,在不改变模型的情况下获得相近的重要性度量结果。
如果不关心推导的同学可以直接看结论。
二、结论
假设有nnn个训练样本z1,...,znz_1,...,z_nz1,...,zn,其中zi=(xi,yi)z_i=(x_i,y_i)zi=(xi,yi),令L(z,θ)L(z,\theta)L(z,θ)表示样本zzz在模型参数为θ\thetaθ下的损失函数,则经验风险为
R(θ)=1n∑i=1nL(zi,θ)(1)
R(\theta)=\frac{1}{n}\sum_{i=1}^{n}L(z_i,\theta) \tag{1}
R(θ)=n1i=1∑nL(zi,θ)(1)
根据经验风险最小化(ERM),得到的模型参数为:
θ^=argminθ1n∑i=1nL(zi,θ)(2)
\hat{\theta}=arg \mathop{\min}_{\theta}\frac{1}{n}
\sum_{i=1}^{n}L(z_i,\theta) \tag{2}
θ^=argminθn1i=1∑nL(zi,θ)(2)
研究改变某个训练样本zzz的权重对θ\thetaθ的影响。将该样本zzz在训练集中的权重增加ϵ\epsilonϵ,这时根据ERM得到的模型参数变为
θ^ϵ,z=argminθ(1n∑i=1nL(zi,θ)+ϵL(z,θ))=argminθ[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θ(n1i=1∑nL(zi,θ)+ϵL(z,θ))=argminθ[R(θ)+ϵL(z,θ)](3)
那么,模型参数的变化与训练样本权重变化的关系,被称作影响函数(influence function)。
Iup,params(z)=dθ^ϵ,zdϵ∣ϵ=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θ^=∇2R(θ^)=1n∑i=1n∇θ2L(zi,θ^)(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(θ^)=n1i=1∑n∇θ2L(zi,θ^)(5)
公式(4)可以理解为,为一个样本改变权重,用模型参数对这种改变的敏感程度来衡量该样本对整个模型的重要性。
三、推导
接下来介绍推导过程。公式(1-3)的叙述过程在这里不再赘述,主要介绍如何由公式(3)导出公式(4)的结论。
首先,定义变量Δϵ=θ^ϵ,z−θ^\Delta_{\epsilon}=\hat{\theta}_{\epsilon,z}-\hat{\theta}Δϵ=θ^ϵ,z−θ^来衡量参数θ\thetaθ的变化量,这里需要注意θ^\hat{\theta}θ^也就是给样本增加权重之前的经验风险最小化得到的参数结果,因此它和ϵ\epsilonϵ无关。于是我们有:
dθ^ϵ,zdϵ=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,θ^)]+[∇2R(θ^)+ϵ∇2L(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Δϵ,得到:
Δϵ≈−[∇2R(θ^)+ϵ∇2L(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}θ^最小化RRR,因此有∇R(θ^)=0\nabla R(\hat{\theta})=0∇R(θ^)=0,将其代入公式(9),并仅保留O(ϵ)O(\epsilon)O(ϵ)项,也就是去掉高阶无穷小项。得到公式:
Δϵ≈−∇2R(θ^)−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):
Iup,params(z)=dθ^ϵ,zdϵ∣ϵ=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)
可以看到这里的影响函数的计算并不需要重新训练模型。至此,影响函数的推导介绍完毕。