우리는 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) $$
이를 이용해서 우리는 경험적 분포를 표현할 수 있다.
$$ \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의 정의와 동일해진다. 여기서 의문을 품어볼 수 있는 부분은 왜 경험적 분포를 디렉 델타 함수를 이용했는가인데 이 부분에 대해서는 나도 자세히 잘 모르겠으므로 언젠가 경험적 분포를 표현하는 방법에 대해서 포스팅하겠다.
'Research' 카테고리의 다른 글
Convex 함수에서 first order 조건식 유도하기 (0) | 2020.12.12 |
---|---|
Variational autoencoder의 이론적 배경과 그 한계점 분석 (0) | 2020.12.03 |
Soft DTW A Differentiable Loss Function for Time Series (0) | 2020.10.05 |
Neural News Recommendation with Multi-Head Self-Attention (0) | 2020.09.23 |
분류를 위한 손실 함수 (0) | 2020.09.14 |