Kullback Leibler Divergence (KL 발산, KL Divergence)에 대해 알아보자.
Kullback Leibler Divergence 줄여서 KL divergence 혹은 KL 발산에 대해 알아보겠습니다. KL divergence 는 두 분포사이의 차이(discrepancy)에 대한 measure 입니다. 이번 글에서는 KL divergence 의 정의와 KL divergence 의 의미를 알아보도록 하겠습니다.
KL divergence 정의
두개의 pdf 혹은 pmf p(x) , q(x) 가 있다고 합시다. \mathcal{X} 는 x 가 있는 sample sapce 를 의미합니다. p(x) 기준으로 KL divergence는 아래와 같이 정의됩니다.
KL( p || q ) = \begin{cases} -\sum_{x \in \mathcal{X}} p(x) \log \frac{ q(x)}{p(x)} , \quad \text{ $p,q$ 가 pmf 일때 } \\ -\int_{x \in \mathcal{X}} p(x) \log \frac{ q(x)}{p(x)} dx, \quad \text{ $p,q$ 가 pdf 일때 } \end{cases}KL divergence 의 의미
KL divergence 의 의미는 무엇일까요? 잠씨 KL divergence 를 Expectation 을 이용해서 구해보겠습니다.
KL(p || q) = - E_p \left[ \log \frac{ q(X)}{p(X)}\right]분석을 해보면 - \log q(x) - (- \log p(x)) 의 기대값인데요. q 의 불확실성과 p 의 불확실성의 차이이죠. 그것을 p 에 대해 기대값을 취한 것이고요. q 가 갖고 있는 불확실성과 p 의 불확실성의 차이를 p 의 관점에서 측정한것입니다. 어떻게 해석할 까요 실제 분포는 p 인데 p 대신에 q 를 사용했을 때 추가되는 불확실성의 정도를 p 의 관점에서 측정한것입니다.
KL divergence 의 특징
- KL(p || q ) \geq 0
- KL(p || q) \Leftrightarrow p = q
- \text{ If $p \neq q $, then } KL(p||q) \neq KL(q||p)
하나씩 그의미를 살펴보죠. 1.이 의미하는 것은 KL divergence 는 항상 0보다 크거나 같다입니다. p 대신 q 를 사용하면 p 입장에서는 불확실성이 늘어나기 때문에 0보다 큽니다. 2의 의미는 p 의 관점에서 불확실성이 늘어나는 경우는 p 가 아닌 q 를 사용할 경우라는 의미입니다. 3.의 의미는 KL divergence 는 symmetric 하지 않다는 얘기죠. 기준이 p 일때와 q 일 때 다를 수 밖에 없으므로 그렇죠.