지난 포스팅에서는 MLE에 대한 간단한 정의와 베이지안 관점 그리고 경험적 분포 관점에서의 MLE에 대해서 알아보았습니다. 오늘은 두 가지 간단한 예시를 통해 이산확률분포에서의 MLE를 더 깊게 알아보도록 하겠습니다.
1. 베르누이 분포의 MLE(MLE for the Bernoulli distribution)
이번에는 동전 던지기 문제를 통해 MLE를 직접 계산해보도록 하겠습니다. $Y$를 동전 던지기 결과를 표현하는 확률 변수라고 하겠습니다. 즉, $Y = 1$이라면 앞면을 의미하고 $Y = 0$이라면 뒷면을 의미합니다. 그리고 $\theta = p(Y = 1)$로 정의하여 앞면이 나올 확률, 즉 베르누이 분포의 파라미터로 정의하겠습니다. 이전 포스팅에서 보았던 NLL을 계산해보도록 하겠습니다.
$$\begin{align} \text{NLL}(\theta) &= -\log \prod_{n = 1}^{N} p(y_{n} \mid \theta) \\ &= -\log \prod_{n = 1}^{N} \theta^{\mathbb{I}(y_{n} = 1)}(1 - \theta)^{\mathbb{I}(y_{n} = 0)} \\ &= -\sum_{n = 1}^{N} \left[ \mathbb{I}(y_{n} = 1)\log \theta + \mathbb{I}(y_{n} = 0) \log (1 - \theta) \right] \\ &= -\left[ N_{1}\log \theta + N_{0} \log (1 - \theta) \right] \end{align}$$
위 식에서 $N_{1} = \sum_{n = 1}^{N} \mathbb{I}(y_{n} = 1)$과 $N_{0} = \sum_{n = 1}^{N} \mathbb{I}(y_{n} = 0)$는 각각 앞면이 나온 횟수 그리고 뒷면이 나온 횟수를 의미합니다. $N_{1}$과 $N_{0}$는 충분통계(sufficient statistics)라고 불리며 동전 실험 데이터 $\mathcal{D}$를 요약하는 데 이 두 숫자만 있으면 충분하다는 의미입니다. 그리고 전체 샘플 수는 $N = N_{1} + N_{0}$입니다.
다음 단계는 MLE를 계산해보도록 하겠습니다. 다시 한번 말씀드리지만 MLE라는 것은 $\theta$에 대해 NLL을 최소화하는 것을 의미하므로 다음과 같이 미분을 통해 0이되는 지점을 찾으면 쉽게 구할 수 있습니다.
$$\begin{align} \frac{d}{d\theta} \text{NLL}(\theta) &= -\frac{N_{1}}{\theta} + \frac{N_{0}}{1 - \theta} = 0 \end{align}$$
이 식을 정리하면 $\hat{\theta}_{\text{mle}} = \frac{N_{1}}{N_{0} + N_{2}} = \frac{N_{1}}{N}$이라는 결과를 얻을 수 있습니다. 이 결과는 베르누이 분포를 따르는 동전에 대한 MLE를 통한 파라미터 추정을 할 때는 전체 샘플 중 관측된 앞면의 비율이라는 것 이죠.
2. 범주형 분포의 MLE(MLE for the Categorical distribution)
이번에는 $K$면의 주사위를 가지는 문제로 MLE를 직접 계산해보도록 하겠습니다. $Y_{n} = \{ 1, 2, \dots, K \}$를 $n$번째 주사위를 던졌을 때 나온 결과라고 하면 $Y_{n} \sim \text{Cat}(\theta)$이게 됩니다. $\theta = (\theta_{1}, \theta_{2}, \dots, \theta_{K})$는 각 면이 나올 확률이라고 정의하겠습니다. 그러면 $\sum_{k = 1}^{K} \theta_{k} = 1$을 만족하고 이는 범주형 분포의 파라미터가 되겠죠. NLL은 다음과 같습니다. (증명 과정은 아래 탭을 참고해주세요.)
$$\text{NLL}(\theta) = -\sum_{k = 1}^{K} N_{k} \log \theta_{k}$$
범주형 분포의 PMF를 정의하기 위해 전체 범주의 개수는 $K$, 즉 $k \in \{ 1, 2, \dots, K \}$라고 하고 파라미터 벡터 $\theta = (\theta_{1}, \theta_{2}, \dots, \theta_{K})$라고 하자. 이때, 모든 $k$에 대해서 $\theta_{k} \ge 0$이고 $\sum_{k = 1}^{K} \theta_{k} = 1$을 만족한다. 여기서, 단일 관측값 $Y$에 대한 PMF는 $p(Y = k \mid \theta) = \theta_{k}$라고 할 수 있으며 이를 지시함수를 통해 다음과 같이 쓸 수 있다.
$$p(Y = k \mid \theta) = \prod_{k = 1}^{K} \theta_{k}^{\mathbb{I}(y = k)}$$
그러면 각 $y$에 대해 정확히 하나의 $\mathbb{I}(y = k)$만 1이고 나머지는 0이므로 실제로는 $\theta_{k}$만 남게 된다. 이제 전체 데이터 $\mathcal{D}$에 대한 우도를 계산하기 위해 $N$개의 관측 데이터가 서로 I.I.D라고 가정하자. 그러면 다음과 같이 쓸 수 있다.
$$\begin{align} p(\mathcal{D} \mid \theta) &= \prod_{n = 1}^{N} p(y_{n} \mid \theta) \\ &= \prod_{n = 1}^{N} \left[ \prod_{k = 1}^{K} \theta_{k}^{\mathbb{I}(y_{n} = k)} \right] \\ &= \prod_{k = 1}^{K} \prod_{n = 1}^{N} \theta_{k}^{\mathbb{I}(y_{n} = k)} \\ &= \prod_{k = 1}^{K} \theta_{k}^{\sum_{n = 1}^{N} \mathbb{I}(y_{n} = k)} \\ &= \prod_{k = 1}^{K} \theta_{k}^{N_{k}} \end{align}$$
여기서 $N_{k} = \sum_{n = 1}^{N} \mathbb{I}(y_{n} = k)$는 각 범주가 관측된 횟수를 의미한다. 이제 양변에 로그를 취해 곱을 합으로 바쑬 수 있다.
$$l(\theta) = \log p(\mathcal{D} \mid \theta) = \log \left( \prod_{k = 1}^{K} \theta_{k}^{N_{k}} \right) = \sum_{k = 1}^{K} N_{k} \log \theta_{k}$$
마지막으로 양변에 음수를 붙혀서 NLL을 얻을 수 있다.
$$\text{NLL}(\theta) = -l(\theta) = -\sum_{k = 1}^{K} N_{k} \log \theta_{k}$$
그런데 범주형 분포의 경우 기존의 베르누이 분포와 다르게 파라미터에 대해 $\sum_{k = 1}^{K} \theta_{k} = 1$라는 제약조건이 걸려있습니다. 이를 해결하기 위해 라그랑주 승수법(Lagrange multipliers)을 도입하면 됩니다.
$$\mathcal{L}(\theta, \lambda) = -\sum_{k = 1}^{K} N_{k}\log \theta_{k} - \lambda \left( 1 - \sum_{k = 1}^{K} \theta_{k} \right) $$
이 최적화 문제도 미분을 통해 풀 수 있습니다. 일단 각각 $\lambda$와 $\theta_{k}$에 대한 미분을 수행합니다.
$$\begin{cases} &\frac{\partial \mathcal{L}}{\partial \lambda} = 1 - \sum_{k = 1}^{K} \theta_{k} = 0 \\ &\frac{\partial \mathcal{L}}{\partial \theta_{k}} = -\frac{N_{k}}{\theta_{k}} + \lambda = 0 \Rightarrow N_{k} = \lambda \theta_{k} \end{cases}$$
이제 모든 $k$에 대해 위 식을 더하면 $\sum_{k} N_{k} = N = \lambda \sum_{k} \theta_{k} = \lambda$를 얻을 수 있으므로 $\lambda = N$이라는 결과를 얻을 수 있습니다. 따라서, MLE의 해는 다음과 같죠.
$$\hat{\theta}_{k} = \frac{N_{k}}{\lambda} = \frac{N_{k}}{N}$$
결과적으로 관측된 범주에 대한 상대도수가 최대우도추정치입니다.