본문 바로가기

Research

KL Divergence와 maximum likelihood estimator 간의 관계

우리는 KL divergence를 최소화하는 결과가 곧 maximum likelihood estimator가 됨을 보일 것이다.

$$ arg \min_\theta KL ( \tilde{p} || p_\theta ) = \hat{\theta}_{MLE} $$

먼저, maximum likelihood estimator의 정의부터 알아보자. 우리는 어떤 파라미터화된 분포 $p_\theta$를 가지고 이 분포와 데이터를 이용해서 likelihood를 나타낸다. 그리고 이 likelihood가 최대가 되는 $\theta$를 구하고 싶어하고 그 때의 $\theta$를 maximum likelihood estimator라고 한다. 이를 수식으로 표현하면 다음과 같다.

$$ \hat{\theta}_{MLE} := arg \max_\theta \frac{1}{N} \sum_{i=1}^N \log p_\theta (x_i) $$

KL divergence를 정의대로 풀어보자.

$$ arg \min_\theta KL ( \tilde{p} || p_\theta ) = arg \min_\theta \int \tilde{p}(x) \log \frac{\tilde{p}(x)}{p_\theta (x)} dx $$

이걸 log의 성질을 이용해서 나누면 아래와 같아진다.

$$ arg \min_\theta \int \tilde{p}(x) \log \frac{\tilde{p}(x)}{p_\theta (x)} dx = arg \min_\theta \int \tilde{p}(x) \log \tilde{p}(x) dx - \int \tilde{p}(x) \log p_\theta (x) dx $$

여기서 앞 부분은 $\theta$와 관계가 없으므로 사라져도 된다. 그리고 음수를 양수로 전환하면서 최소화하는 부분을 최대화하는 것으로 바꿔준다.

$$ arg \min_\theta \int \tilde{p}(x) \log \tilde{p}(x) dx - \int \tilde{p}(x) \log p_\theta (x) dx = arg \max_\theta \int \tilde{p}(x) \log p_\theta (x) dx $$

여기서 $\tilde{p}(x)$가 경험적 분포임을 이용한다. 경험적 분포는 우리가 관측한 데이터에 대해서만 확률 질량을 부여하는 분포를 의미한다. 이를 표현하기 위해서 우리는 델타 함수를 이용한다. 델타 함수는 다음과 같다.

$$ \delta(x) = \lim_{a \rightarrow 0} \delta_a (x) = \lim_{a \rightarrow 0} \frac{1}{|a|\sqrt{\pi}} \exp \left(-\left(\frac{x}{a}\right)^2 \right) $$

디렉 델타 함수의 그래프 표현. a가 0에 가까워질수록 뾰족해지는 것을 볼 수 있다. 출처: 위키백과

이를 이용해서 우리는 경험적 분포를 표현할 수 있다.

$$ \tilde{p}(x) := \frac{1}{N} \sum_{i=1}^N \delta (x - x_i) $$

이 표현형을 위 KL divergence 식에 넣으면 아래와 같아진다.

$$ arg \max_\theta \int \tilde{p}(x) \log p_\theta (x) dx = arg \max_\theta \frac{1}{N} \int \sum_{i=1}^N \delta (x-x_i) \log p_\theta (x) dx $$

여기서 이 디렉 델타 함수의 특성을 이용한다. 디렉 델타 함수는 이를 이용하여 적분할 경우 특수한 성질이 만족한다.

$$ \int \delta (t-a) f(t) dt = f(a) $$

이를 이용해 위 식을 다시 적을 수 있다.

$$ arg \max_\theta \frac{1}{N} \int \sum_{i=1}^N \delta (x-x_i) \log p_\theta (x) dx = arg \max_\theta \frac{1}{N} \sum_{i=1}^N \int \delta (x-x_i) \log p_\theta (x) dx $$

$$ arg \max_\theta \frac{1}{N} \sum_{i=1}^N \int \delta (x-x_i) \log p_\theta (x) dx = arg \max_\theta \frac{1}{N} \sum_{i=1}^N \log p_\theta (x_i) $$

이는 사실 maximum likelihood estimator의 정의와 동일해진다. 여기서 의문을 품어볼 수 있는 부분은 왜 경험적 분포를 디렉 델타 함수를 이용했는가인데 이 부분에 대해서는 나도 자세히 잘 모르겠으므로 언젠가 경험적 분포를 표현하는 방법에 대해서 포스팅하겠다.