Fisher 信息矩阵的数学意义和直观上的理解。
定义
假设有一个似然函数 p(x∣θ),为了求能让这个似然最大的 θ^(最大似然估计),需要让它的对数似然函数的一阶导为 0,即:
s(θ)=∇logp(x∣θ)=0
这个一阶导 s(θ) 被称为 score function。Fisher 信息矩阵(Fisher Information Matrix)的定义,就是这个 score function 的二阶矩(second moment):
F=Ep(x∣θ)[s(θ)2]=Ep(x∣θ)[∇logp(x∣θ)∇logp(x∣θ)⊤]
考虑监督学习的场景,模型为 pθ(y∣x),真实数据分布为 pD(y∣x),那么上式可以写为:
F=Epθ(y∣x)[∇logpθ(y∣x)∇logpθ(y∣x)⊤]
因为 pθ(y∣x) 是 intractable 的,所以在算这个分布时会用蒙特卡洛采样来近似。需要注意的是,反向传播算出来梯度是 ∇pD(y∣x),而在 true Fisher 中,y 是从模型 pθ(y∣x) 中采样的,这时的 ∇logpθ(y∣x) 并不是我们在反向传播时算出来的梯度,而是需要额外计算。
但在 empirical Fisher 中,上式变为了:
F=EpD(y∣x)[∇logpD(y∣x)∇logpD(y∣x)⊤]
即 y 是从直接数据分布 pD(y∣x) 中采样的,这时就可以直接使用反向传播算出来的梯度,从而减小计算量。当数据量足够大,模型已经可以很好地拟合数据分布时,empirical Fisher 和 true Fisher 的差距不会很大。
数学意义
Score Function 的方差
断言
Fisher 信息矩阵就是 score function 的方差
证明
首先可以证明的是 score function 的期望为 0,即:
Ep(x∣θ)[s(θ)]2=0证明过程可以参考博客 Fisher Information Matrix。
所以有:
Var[s(θ)]=Ep(x∣θ)[s(θ)2]−=0Ep(x∣θ)[s(θ)]2=Ep(x∣θ)[s(θ)2]=F
对这个方差的直观理解可以为:
对两组相互独立的随机变量 X,Y,有:
Var(X+Y)=Var(X)+Var(Y)
也就是说当收集到的数据越来越多,方差就会变得越来越大。所以 Fisher 信息矩阵越大,说明 score function 的方差越大,也就说明得到的信息越来越多。
这个理解来源于:[知乎] 费雪信息的直观意义是什么?- Detian Deng 的回答
海森矩阵的期望
断言
Fisher 信息矩阵等于对数似然函数的海森矩阵(Hessian Metrix)的期望取负,即:
F=−Ep(x∣θ)[Hlogp(x∣θ)]
也就是说,F 反映了对数似然函数在参数真实值处的曲率。对于一个对数似然函数,它的曲率越小,说明它越平而宽,从而说明我们对于参数的估计越不确定(因为平而宽的对数似然函数意味着,观测值出现的概率并不比其他值出现的概率大多少);曲率越大,说明它越高而窄,则说明对于参数的估计越确定。
换句话说,F 反映了我们对于参数估计的不确定度。
参考