Loading [MathJax]/jax/output/CommonHTML/jax.js

6-1. 평균 장 근사Meanfieldapproximation

2021. 8. 3. 18:37Bayesian

이번 글에서는 변 분추론의 방법 중 하나인 평균 장 근사Meanfieldapproximation에 대해 알아보겠습니다.

이번 글에서는 변분추론의 개념이 나오기 때문에, 이전 글들을 참고하시면 도움이 될 것입니다.

[관련 글]변분 베이즈 방법VariationalBayesMethod,범함수Functional


lnp(X)=q(Z) ln{p(X,Z)q(Z)}dZq(Z) ln{p(Z|X)q(Z)}dZ=L(q)+KL(q||p)

변 분추론에서의 목표는 결합 분포의 로그-우도를 최대로 만드는 범함수Variational를 찾는 것 입니다. KL(q||p)텀은 0보다 큰 수 이기 때문에 결합분포의 로그-우도가 최대가 되려면 KL(q||p)=0이 되어야 합니다. 따라서 p(Z|X)와 가장 가까운 q(Z)를 찾아야 합니다.

q(Z)의 분포를 정할 때, 다루기 쉬운 분포여야 하며, 충분히 복잡한 함수를 표현할 수 있어야 합니다. 이를 위해 지수족 분포 함수의 곱으로 이루어진 q(Z)를 사용할 수 있는데 이 방법을 'mean-field approximation'라고 합니다.

즉, 다음과 같이 나타냅니다. 

q(Z)=Mi=1qi(Zi)

하한에 해당하는 L(q)만 생각해보겠습니다.

L(q)=iqi{lnp(X,Z)ilnqi}dZ=qj{lnp(X,Z)ijqi dZi}dZjqj lnqj dZj+const=qj ln ˜p(X,Z)dZjqj lnqj dZj+const

여기서 ln ˜p(X,Z)=Eij[ln p(X,Z)]+const=ln p(X,Z)ijqidZi

L(q)식은 qj(Zj)˜p(X,Z)의 KL Divergence이기 때문에, 최적의 해는 qj(Zj) 다음과 같습니다.

ln qj(Zj)=E[ln p(X,Z)]+constqj(Zj)=exp(Eij[ln p(X,Z)])exp(Eij[ln p(X,Z)])dZj

위의 식을 보면 각각의 요소factors들의 최적 값을 다른 요소들의 기댓값으로 나타낼 수 있다는 것을 알 수 있습니다.

따라서 'mean-field approximation'에서 q(Z)의 최적 값은 각각의 요소의 최적 값을 반복적으로 갱신하여 구할 수 있습니다.