인공지능/패턴인식

Log Likelihood Decomposition for EM (로그 가능도 함수 분해)

xeskin 2020. 10. 5. 13:31
반응형

비숍 10단원에 로그 가능도 함수를 분해한다. 이는 다음과 같이 분해된다.

$$\ln p(\textbf{X}|\theta)=L(q,\theta)+KL(q||p) $$

처음엔 왜 이렇게 분해되는 건지 좀 당황스럽다. 그런데 삽질을 조금 해보면 1) 로그 가능도 함수를 잠재 변수 $z$에 대해 marginalize를 해준 것에 젠센 부등식을 사용해서 나오는 하한을 $L(q,\theta)$로 잡은 것이다. 그리고 2) 로그 가능도 함수에 $L(q,\theta)$를 빼주면 KL divergence가 나온다. 이를 알기 위해서는 젠센 부등식, 깁스 부등식, KL divergence가 무엇인지 알아보자.

 

KL Divergence (Kullback-Leibler divergence)

이산확률분포 $P, Q$에 대해 다음과 같이 정의된다.

$$\displaystyle KL(P||Q)=\sum_{i=1} P_{i} \log \frac{P_{i}}{Q_{i}}$$

$P, Q$가 연속확률분포인 경우에는 적분꼴로 바꿔주면 된다. 이는 두 확률분포가 얼마나 다른지를 알려준다. 이름에서 볼 수 있듯이 divergence라서 거리는 안된다. $KL(P||Q) \neq KL(Q||P)$이기 때문이다. 그래서 이를 거리로 만들어주기 위한 Jensen-Shannon Divergence도 있다.

 

 

젠센부등식

볼록함수 $f$는 다음을 만족한다.

$$\displaystyle f(\sum_{i=1}^{M} \lambda_{i} x_{i}) \leq \sum_{i=1}^{M} \lambda_{i}f(x_{i})$$

$f$가 오목함수면 부등호 반대 방향이 성립한다.

 

 

깁스부등식

KL Divergence에서 세팅을 그대로 가져왔을 때 다음을 말한다.

$$KL(P||Q) \geq 0$$

 

 

이제 셋팅이 끝났다. 열심히 계산해보자. 우선, 1)부터 해보자.

$$\begin{equation} \begin{split} \displaystyle \ln p(\textbf{X}|\theta) & = \ln \sum_{\textbf{Z}} p(\textbf{X},\textbf{Z} | \theta) \\ & = \ln \sum_{\textbf{Z}} q(\textbf{Z}) \frac{p(\textbf{X}, \textbf{Z} | \theta)}{q(\textbf{Z})} \\ & \geq \sum_{\textbf{Z}} q(\textbf{Z}) \ln \frac{p(\textbf{X}, \textbf{Z} | \theta)}{q(\textbf{Z})} = L(q,\theta) \end{split} \end{equation}$$

젠센부등식은 마지막 줄에 적용됐는데, 로그함수가 오목이기 때문에 젠센 부등식에서 반대 방향으로 쓴 것이다. $\lambda$는 $q(\textbf{Z})$, $f$는 $\ln$으로 적용해보면 된다. 이제 2)를 해보자.

 

보이고 싶은 것은 $\ln p(\textbf{X}|\theta) - L(q, \theta) = KL(q||p)$다.

$$\begin{equation} \begin{split} \displaystyle \ln p(\textbf{X}| \theta) - L(q, \theta) & = \ln p(\textbf{X}|\theta) - \sum_{\textbf{Z}} q(\textbf{Z}) \ln \frac{p(\textbf{X}, \textbf{Z} | \theta)}{q(\textbf{Z})} \\ & = \ln p(\textbf{X}| \theta) - \sum_{\textbf{Z}} q(\textbf{Z}) \ln \frac{p(\textbf{Z} | \textbf{X}, \theta)p(\textbf{X}|\theta)}{q(\textbf{Z})} \\ & = \ln p(\textbf{X} | \theta) - \ln p(\textbf{X}|\theta) \sum_{Z} q(\textbf{Z}) - \sum_{\textbf{Z}}q(\textbf{Z}) \ln \frac{p(\textbf{Z}|\textbf{X},\theta)}{q(\textbf{Z})} \\ & = \sum_{\textbf{Z}} q(\textbf{Z}) \ln \frac{q(\textbf{Z})}{p(\textbf{Z}|\textbf{X}, \theta)} \\ & = KL(q(\textbf{Z})||p(\textbf{Z}|\textbf{X}, \theta) \\ & = KL(q||p) \end{split} \end{equation}$$

 

과정에 앞서 언급하지 않은 $q(\textbf{Z})$가 사용됐다. 이는 잠재변수가 따르는 분포를 뜻한다. 사용할 때는 정규분포를 따른다는 둥 우리가 직접 정해주는 분포에 따라 달라질 수 있다. 이렇게 분해하면 장점은 $\textbf{X}$는 우리가 관측한 혹은 갖고 있는 데이터를 뜻하는데, 이에 대한 분포는 확실하게 할 수 없다. 하지만 이를 우리가 잠재변수로 marginalize함으로써 우리가 컨트롤할 수 있는 변수로 데이터에 대한 가능도 함수를 다루게 있게 된다. 

반응형

'인공지능 > 패턴인식' 카테고리의 다른 글

편향-분산 분해 (Bias-Variance Decomposition)  (0) 2020.09.03