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

6. 변분 베이즈 방법VariationalBayesMethod

2021. 8. 3. 17:01Bayesian

이번 시간에는 사후 분포를 다룰 수 없는intractable 경우 사용할 수 있는 변분 베이즈 방법에 대해 알아보겠습니다.

[관련 글] 4. 사후 분포의 추정EstimationofPosteriordistribution,5-1. MCMCEstimationofPosteriorMarkovChainMonteCarlo - 몬테카를로 방법MonteCarlomethod,범함수Functional


우리는 확률 기반의 모델에서의 사후 분포를 알고자 합니다. 이는 다음과 같이 나타낼 수 있습니다.

p(Z|X)

여기서 X는 관찰된observeddatavariables 변수이고, Z는 잠재 변수latentvariables입니다. 이 잠재 변수는 관찰되지 않은 모든 변수들을 아울러 이르는 표현입니다.

만약 잠재 변수의 차원이 너무 크거나, 기댓값을 계산할 수 없는notanalyticallytractable 사후 분포를 가지는 경우, 위의 분포를 추정하기 어려울 수 있습니다. 

사후 분포를 추정하기 어려운 경우, MCMCMarkovChainMonteCarlo방법을 쓸 수 있지만, 샘플링하는 방법은 기본적으로 비용이 많이 들기 때문에, 실제 문제에 적용하기에는 무리가 있을 수 있습니다. 따라서 샘플링하는 방법보다 간단하게 사후분포를 추정할 수 있는 VIVariationalInference 방법을 실제 문제에서 많이 쓰는 편입니다.


통계학에서 최적화를 다룰 때, 일반적으로 생각할 수 있는 것은 우도를 최대로 만드는 것$e.g. variables,functional$을 찾는 것입니다.

미적분학 관점에서는 우도를 최대로 만드는 변수를 찾을 수 있을 것이고, 변분법적인 관점에서는 우도를 최대로 만드는 범함수를 찾을 수 있을 것입니다.

미적분학 관점에서 접근하는 방법이 최대 우도 추정법이고, 변분법적인 관점에서 접근하는 방법이 VI라고 생각하면 될 것 같습니다. 

VI의 최적화 과정을 설명하기 위해, 다음과 같이 식을 전개 해보겠습니다. 먼저, 관찰된 변수observedvariables와 잠재 변수latentvariables의 결합 확률분포를 정의하겠습니다.

p(X,Z)=p(Z|X)p(X)

좌변과 우변에 로그를 취하고 기댓값을 적용해주면 다음과 같이 나타낼 수 있습니다. 

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

그림으로 나타내면 다음과 같습니다.

변수 X는 이미 관찰되었기 때문에 좌변은 상수입니다. 따라서 우리가 관심있는 결합확률분포의 우도가 포함되어 있는 L(q)텀을 최대로 만들면서 KL(q||p)텀을 최소화하는 q(Z)Variational를 찾는 것이 목표입니다.

이와 같이 KL(q||p)텀을 최소화하는 q(Z)을 찾는 방법을 Variational Bayes라고 합니다.

KL(q||p)텀은 무조건 양수입니다. 따라서 lnp(X)L(q, θ)가 성립하는데, 그런 의미에서 L(q)lnp(X)의 하한lowerbound라고 합니다.

다시 KL(q||p)을 생각해보겠습니다. 이 텀이 가장 작은 경우는 q(Z)=p(Z|X)인 경우입니다. 하지만, p(Z|X)의 값은 계산할 수 없기 때문에, p(Z|X)와 최대한 가까운 q(Z)을 찾는 것을 목표로 합니다. 이것은 베이지안이 풀고자 하는 문제와도 일치합니다.