Skip to main content

Score Function and Fisher Information Matrix

· 4 min read
PuQing
AI, CVer, Pythoner, Half-stack Developer

Score Functions

极大似然估计 中我们提到的似然函数 L(θ)L(\theta) 求一阶导即为 Score FunctionScore\ Function 。记为

S(θ)=dL(θ)dθS(\theta) = \frac{d L(\theta)}{d \theta}

因为似然函数中存在许多连乘 p(x;θ)p(x;\theta),所以我们一般取对数,这时,作用就体现出来了。

L(θ)=p(x;θ)logL(θ)=logp(x;θ)θlnL(θ)=θlogp(x;θ)\begin{array}{c} \displaystyle L(\theta) = \prod p(x;\theta)\\ \displaystyle\Rightarrow \log L(\theta) = \sum \log p(x;\theta) \\ \displaystyle \Rightarrow \nabla_\theta \ln L(\theta) = \sum \nabla_\theta \log p(x;\theta) \end{array}

这时便可以使用对数技巧。

θlogp(x;θ)=θp(x;θ)p(x;θ)\nabla_{\theta}\log{p(x;\theta)}=\frac{\nabla_{\theta}p(x;\theta)}{p(x;\theta)}
如果没看懂

类似于:

xlnsin(x)=1sin(x)cos(x)\nabla_{x}\ln{\sin(x)} = \frac{1}{\sin{(x)}}\cos{(x)}

Score function 有许多的大量有用的性质:

  • SF 的期望等于零。推导如下
note
Ep(x;θ)[θlogp(x;θ)]=p(x;θ)θlogp(x;θ)dx=p(x;θ)θp(x;θ)p(x;θ)dx=θp(x;θ)dx=θp(x;θ)dx=θ1=0\begin{array}{c} \displaystyle \mathbb{E}_{p(x ; \theta)}\left[\nabla_{\theta} \log p(x ; \theta)\right] \\ \displaystyle=\int p(x ; \theta) \nabla_{\theta} \log p(x ; \theta) dx\\ \displaystyle=\int p(x ; \theta) \frac{\nabla_{\theta} p(x ; \theta)}{p(x ; \theta)} dx\\ \displaystyle=\int \nabla_{\theta} p(x ; \theta) dx\\ \displaystyle=\nabla_{\theta} \int p(x ; \theta) dx\\ =\nabla_{\theta} 1 \\ =0 \end{array}
一步一步来
Ep(x;θ)[θlogp(x;θ)]=p(x;θ)θlogp(x;θ)\displaystyle \mathbb{E}_{p(x ; \theta)}\left[\nabla_{\theta} \log p(x ; \theta)\right] \\ \displaystyle=\int p(x ; \theta) \nabla_{\theta} \log p(x ; \theta) \\

这一步是在利用连续型随机变量的数学期望公式,设 f(x)f(x) 是自变量为随机变量的函数,并且随机变量是在参数 θ\theta 下的概率密度 p(x;θ)p(x;\theta) 下取得,则有期望 E[f(x)]\mathbb{E}[f(x)] 为:

Exp(x;θ)[f(x)]=p(x;θ)f(x)dx\mathbb{E}_{x\sim p(x;\theta)}[f(x)]=\int p(x;\theta)f(x) \, dx

其中的 xp(x;θ)x\sim p(x;\theta) 是说明 xx 服从概率密度函数 p(x;θ)p(x;\theta)。所以这里将 θlogp(x;θ)\nabla_{\theta} \log p(x ; \theta) 视作自变量为随机变量 xx 的一个函数就好。

而之后的

θp(x;θ)dx=θp(x;θ)dx\int \nabla_{\theta}p(x;\theta)\,dx = \nabla_{\theta} \int p(x;\theta) \, dx

则是用到了积分和求导交换如下:

ddtabf(x,t)dx=abtf(x,t)dx\frac{d}{d t} \int_{a}^{b} f(x, t) d x=\int_{a}^{b} \frac{\partial}{\partial t} f(x, t) d x

当然交换也不是随便交换的,还是需要条件的,还是留个小的证明坑吧 积分和求导交换顺序条件(This page is not published)

期望为零意味着什么?
  • 期望为零意味着,我们为似然函数加入一定的正则项,不会影响导数的期望
Ep(x;θ)θlogp(x;θ)[f(x)b]=Ep(x;θ)θlogp(x;θ)f(x)bEp(x;θ)θlogp(x;θ)=Ep(x;θ)θlogp(x;θ)f(x)\begin{array}{c} E_{p(x ; \theta)} \nabla_{\theta} \log p(x ; \theta)[f(x)-b]=E_{p(x ; \theta)} \nabla_{\theta} \log p(x ; \theta) f(x)-b E_{p(x ; \theta)} \nabla_{\theta} \log p(x ; \theta) \\ =E_{p(x ; \theta)} \nabla_{\theta} \log p(x ; \theta) f(x) \end{array}
  • SF 的方差为 Fisher Information\mathrm{Fisher\ Information}
V[S(θ)]=E[(S(θ)E[S(θ)])2]=E[S(θ)2]\mathbb{V}[S(\theta)] = E[(S(\theta)-E[S(\theta)])^2]=E[S(\theta)^2]

其中我们便用到了 SF 的均值为零的性质,另外 E[S(θ)2]E[S(\theta)^2] 还可以写成:

E[S(θ)2]=Ep(x;θ)[θlogp(x;θ)θlogp(x;θ)T]E[S(\theta)^2]=\mathbb{E}_{p(x ; \theta)}\left[\nabla_{\theta} \log p(x ; \theta) \nabla_{\theta} \log p(x ; \theta)^{T}\right]
道理我都懂,所以为什么说 SF 的方差为 Fisher Information\mathrm{Fisher\ Information}