Fisher Information Matrix
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
Fisher Information matrix 는 KL divergence에서"Gradient만 가지고도 Hessian을 만들 수 있다." 는 매우 중요한 정보를 주고 있다.
다음과 같은 확률 이 있음을 가정해보겠습니다.
p(x |\theta) , x\in\mathbb{R}^n \,where, \theta \text{ is parameter vector}
Score function
Maximum Likelihood를 통해 \theta 값을 추정할 수 있습니다. 최대우도법(Maximum likelihood, ML)에서는 log 확률에 대하여 미분하여 최대 값을 구하게 됩니다. 이 미분 값을 Score function으로 정의합니다.
score\ function =s(\theta) =\nabla_{\theta}log{p(x|\theta)}
score function의 경우 다음과 같은 성질을 만족합니다.
\begin{align}\mathbb{E}_{p(x|\theta)}[s(\theta)] &=\mathbb{E}_{p(x|\theta)} [\nabla log{p(x|\theta)}] \\& =\int \nabla log{p(x|\theta)} p(x|\theta)dx \\& =\int\frac{ \nabla p(x|\theta)}{p(x|\theta)} p(x|\theta)dx \because\nabla log{p(x|\theta)} = \frac{\nabla p(x|\theta)}{p(x|\theta)} \\& =\nabla_{\theta} \int p(x|\theta)dx =0\end{align}
x와 \theta 는 독립적이기 때문에 식 (3)에서 식(4)로 넘어갈 때, Gradient는 밖으로 나올 수 있습니다. 여기에서 Score function의 Covariance는 다음과 같이 정의해줄 수 있습니다.
\begin{equation} \mathbb{E}_{p(x|\theta)} [s(\theta)-0][s(\theta)-0]^T\end{equation}
여기서 0을 빼는 이유는 ML의 조건이기 때문입니다. 이 식을 (Fisher information matrix, FIM)으로 불러주게 됩니다.
FIM (Fisher Information Matrix)
(5)식을 gradient Score function의 정의를 이용해서 풀어주겠습니다.
F=\mathbb{E}_{p(x|\theta)}[\nabla_{\theta}log{p(x|\theta)}\nabla_{\theta}log{p(x|\theta)}^T]
FIM을 얻기에는 조금 어렵습니다. 그래서 보통 Uniform한 형태를 가정하고 풀어줍니다.
p(x|\theta)=1/N \\\begin{equation}F=\frac{1}{N}\sum_{i=1}^{N}\nabla_{\theta}log{p(x_i|\theta)}\nabla_{\theta}log{p(x_i|\theta)}^T\end{equation}
FIM and Hessian
Log likelihood의 Hessian을 생각해보겠습니다. 해당 경우에 Hessian은 -F 값이 나오는 것을 알 수 있습니다. 이는 hessian을 구하지 않고, Score function만 가지고 알고리즘을 구현할 수 있다는 장점이 있습니다. 정의 부터 유도과정은 다음과 같습니다.
\begin{align}H_{logp(x|\theta)} & =J(\nabla log(p(x|\theta))= J(\frac{\nabla p(x|\theta)}{p(x|\theta)}) \\&= \frac{H_{p(x|\theta)}p(x|\theta)}{p(x|\theta)p(x|\theta)}-\frac{\nabla p(x|\theta)\nabla p(x|\theta)^T}{p(x|\theta)p(x|\theta)}\\&= \frac{H_{p(x|\theta)}}{p(x|\theta)}-(\frac{\nabla p(x|\theta)}{p(x|\theta)})(\frac{\nabla p(x|\theta)}{p(x|\theta)})^T\\&= \frac{H_{p(x|\theta)}}{p(x|\theta)}-\nabla_{\theta}log{p(x|\theta)}\nabla_{\theta}log{p(x|\theta)}^T\\\end{align}
식 (9)를 가지고 평균을 보게 되면 -F가 나오는 것을 쉽게 증명해볼 수 있습니다.
\begin{align}\mathbb{E}_{p(x|\theta)} [H_{logp(x|\theta)} ]&=\mathbb{E}_{p(x|\theta)} [ \frac{H_{p(x|\theta)}}{p(x|\theta)}-\nabla_{\theta}log{p(x|\theta)}\nabla_{\theta}log{p(x|\theta)}^T]\ \\&=\mathbb{E}_{p(x|\theta)} [ \frac{H_{p(x|\theta)}}{p(x|\theta)}]-\mathbb{E}_{p(x|\theta)}[\nabla_{\theta}log{p(x|\theta)}\nabla_{\theta}log{p(x|\theta)}^T] \\&=\int \frac{H_{p(x|\theta)}}{p(x|\theta)} p(x|\theta)dx-F \\&=\frac{\partial}{\partial x}\int \frac {\nabla p(x|\theta)}{p(x|\theta)} p(x|\theta)dx-F \\&=\frac{\partial^2}{\partial x^2}\int p(x|\theta)p(x|\theta)dx-F \\&=-F\end{align}
해당 글에서는 FIM은 Score function의 Covariance임을 보였습니다. 또한, Log likelihood cost function의 Hessian임을 확인 하였습니다. 미분으로 보자면 곡률이 되겠습니다. FIM은 Hessian의 성질을 가지고 있기 때문에 KL-Divergence에서 바로 쓸 수 있는 형태가 됩니다.
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
댓글
댓글 쓰기