이전 포스팅의 동전 던지기 예시를 통해 사전 정보를 기반으로 하는 정규화 기법인 MAP에 대해서 더 자세히 알아보도록 하겠습니다. 문제를 간단하게 만들기 위해서 한 번만 던졌을 때 앞면이 1회만 관측되면 MLE는 $\theta_{\text{mle}} = 1$입니다. 즉, "앞으로도 항상 앞면만 나온다"라고 예측을 하게 되겠죠. 이는 명백한 과적합 사례입니다.
이와 같이 극단적인 $\theta$값을 억제하기 위해서는 $\theta$에 대한 패널티를 부여해야합니다. 보통 베르누이 분포에서는 베타 분포를 사전 분포로 많이 활용합니다. 즉, $p(\theta) = \text{Beta}(\theta \mid a, b)$라고 두면 됩니다. 여기서, $a > 1$ 그리고 $b > 1$이라고 두면 베타 분포의 정의에 의해 기댓값을 계산해보면 $\frac{a}{a + b}$ 근방에서 선호하도록 사전정보가 형성됩니다.
천천히 풀어서 설명해보겠습니다. 먼저 문제의 정의를 해보도록 하죠. 관측된 훈련 데이터셋을 $\mathcal{D} = \{ y_{1}, \dots, y_{N} \}$라고 하고 각 관측된 데이터 $y_{n} \in \{ 0, 1 \}$이라고 할 때 $y_{n} = 0$이면 뒷면, $y_{n} = 1$이라면 앞면이 나왔다고 가정하겠습니다. 따라서, $N_{1} = \sum_{n = 1}^{N} y_{n}$은 관측된 앞면의 횟수라고 볼 수 있으며 $N_{0} = N - N_{1}$은 관측된 뒷면의 횟수라고 볼 수 있습니다.
다음으로 우도 $p(\mathcal{D} \mid \theta)$를 계산해야합니다. 이때, 각 관측된 데이터는 I.I.D 가정을 따르며 베르누이 분포를 따른다고 가정하므로 다음과 같이 곱의 형태로 쓸 수 있습니다.
$$p(\mathcal{D} \mid \theta) = \prod_{n = 1}^{N} \theta^{y_{n}} (1 - \theta)^{1 - y_{n}} = \theta^{N_{1}}(1 - \theta)^{N_{0}}$$
여기서 MAP를 적용하기 위해 사전 분포 $p(\theta)$를 베타 분포라고 가정하였기 때문에 PDF를 작성하면 다음과 같습니다.
$$\begin{align} p(\theta) &= \text{Beta}(\theta \mid a, b) \\ &= \frac{\Gamma(a + b)}{\Gamma(a)\Gamma(b)} \theta^{a - 1}(1 - \theta)^{b - 1} \end{align}$$
이때, $0 < \theta < 1$ 이고 $a > 0$ 그리고 $b > 0$임을 명심하자. 이제 베이즈 정리에 의해 $p(\theta \mid \mathcal{D}) \propto p(\mathcal{D} \mid \theta) p(\theta)$임을 이용하면 됩니다. 즉, 로그우도와 로그사전을 결합한 손실함수를 다음과 같이 계산하면 됩니다.
$$\begin{align} \mathcal{L}(\theta) &= \log p(\mathcal{D} \mid \theta) + \log p(\theta) \\ &= \left[ N_{1}\log \theta + N_{0} \log (1 - \theta) \right] + (a - 1)\log \theta + (b - 1)\log (1 - \theta) \end{align}$$
이제 흔히 저희가 알던 방식으로 위 식을 최대화하는 값을 찾을 수 있습니다. (NLL이라면 최소화이지만 여기서는 단순 log 이기 때문에 최대화입니다. 부호만 바꾸면 동일하다는 점을 명시해주세요!) 즉, $\mathcal{L}(\theta)$를 $\theta$에 대해서 미분한뒤 0이 되는 지점을 찾으면 됩니다.
$$\begin{align} &\frac{\partial \mathcal{L}(\theta)}{\partial \theta} = \frac{N_{1} - a + 1}{\theta} - \frac{N_{0} - b + 1}{1 - \theta} = 0 \\ \Rightarrow& (N_{1} + a - 1)(1 - \theta) = (N_{0} + b - 1)\theta \\ \Rightarrow& \theta_{\text{map}} = \frac{N_{1} + a - 1}{N_{1} + N_{0} + a + b - 2} = \frac{N_{1} + a - 1}{N + a + b - 2} \end{align}$$
그런데 저희가 MLE를 구할 때는 그 결과가 최적값임을 보장할 수 있었지만 MAP에서는 사전 분포항이 더해지면서 이게 최적값인지 조금 모호할 수가 있습니다. 이를 보장하기 위해 이차 미분을 통해 확인해보도록 하겠습니다.
$$\frac{\partial^{2} \mathcal{L}(\theta)}{\partial \theta^{2}} = -\frac{N_{1} + a - 1}{\theta^{2}} - \frac{N_{0} + b - 1}{(1 - \theta)^{2}} < 0$$
따라서, $\mathcal{L}(\theta)$는 최댓값을 가지며 방금 구한 $\theta_{\text{map}}$가 MAP 추정값임을 알 수 있습니다. 이때, $a = b = 2$라면 $\theta_{\text{map}} = \frac{N_{1} + 1}{N + 2}$가 됩니다. 이렇게 되면 사전 확률분포가 $\theta \propto 0.5$가 되어 $N_{0} = 0$이라고 하더라도 $\theta_{\text{map}} = 1$이 되는 경우가 생기지 않습니다. 이러한 방식을 add-one smoothing 또는 라플라스 스무딩이라고 합니다. 이는 아마 딥 러닝 공부를 해보신 분들이라면 자주 볼 수 있는 방식일 겁니다. 0 회 카운트 문제(zero‑count problem)를 피하기 위해 매우 널리 쓰이는 간단한 기법이죠.
0 회 카운트 문제와 더 넓은 의미의 과적합은 철학의 블랙 스완(black swan) 패러독스와 비슷합니다. 서양 고대에는 모든 백조는 흰색이라고 여겨졌는데, 17세기 호주에서 검은 백조가 발견되자 사람들은 큰 충격을 받았죠. Karl Popper가 ‘블랙 스완 패러독스’라는 용어를 처음 사용했습니다. 그리고 Nassim Taleb의 베스트셀러 《Black Swan》(2007)도 같은 비유를 차용했습니다. 이 패러독스는 귀납(induction)의 문제—과거의 제한된 관측으로 미래를 일반화할 수 있는가—를 보여 줍니다. 해결책은 “완벽한 귀납은 불가능하다” 는 점을 인정하고, 1) 경험적 데이터(likelihood)와 2) 사전 지식(prior)을 조화롭게 결합해 미래에 대한 최선의 추정을 도출하는 것입니다. 바로 이것이 MAP 추정의 철학적 뒷받침이라 할 수 있습니다.
'인공지능 > Probabilistic Machine Learning (intro)' 카테고리의 다른 글
| [PML intro] Ch4 Statistics (Sec4.5 Regularization - 4) (0) | 2025.07.15 |
|---|---|
| [PML intro] Ch4 Statistics (Sec4.5 Regularization - 3) (2) | 2025.07.14 |
| [PML intro] Ch4 Statistics (Sec4.5 Regularization - 1) (1) | 2025.07.10 |
| [PML intro] Ch4 Statistics (Sec4.4 Other Estimation Methods - 2) (3) | 2025.07.09 |
| [PML intro] Ch4 Statistics (Sec4.4 Other Estimation Methods - 1) (1) | 2025.07.08 |