아주 간단하게 결론부터 이야기하고 시작해 볼까 합니다. MLE는 Likelihood의 최대로 하는 θ값을 찾았던 거잖아요? MAP는 Posterior를 최대로 하는 θ값을 찾는 것입니다. 끝.
여기에서 더 할말이 없을 것 같지만, 이걸 조금 더 자세히 들여다보고 의미를 찾아볼까 합니다. 베이즈룰을 통해서 MLE와 MAP를 비교해 보면,
머 이런 셈입니다. MLE는 이전에 많이 들여다봤으니까, MAP를 조금 더 자세히 보는 게 낫겠죠? MAP는 주어진 관측결과(Likelihood)와 사전확률(Prior)을 이용해서 최적의 모수를 찾고 싶은 건데요, 결국 이것도 수식으로 나타내면 (여기에서 분모의 P(X)는 상수입니다)
$$ \hat{\theta}_{MAP} = \underset{\theta}{arg\max} \cfrac{P(X|\theta)P(\theta)}{P(X)} = \,\, \underset{\theta}{arg\max}\,\left(P(X|\theta)P(\theta)\right) $$
이런 의미입니다. 그러니까, 참고로 MLE는 $ \hat{\theta}_{MLE} = \,\, \underset{\theta}{arg \max}\,P(X|\theta) $ 머, 이런 겁니다.
아. 네, 어떤 이야기인지 잘 알겠습니다. 그런데 MLE와 MAP의 차이가 머죠? 라는 중요한 질문이 있어야 하겠군요. MLE 가 관측한 X를 가장 잘 설명하는 모수θ를 찾아내는 과정이라면 MLE 만으로도 모수θ를 평가할 수 있을 텐데 MLE에 prior를 곱해서 MAP을 사용하면 머가 달라지는 것인지에 대한 이야기를 하는 편이 조금 더 이해에 도움이 되겠습니다. 음... 진짜, 머져? 이제까지 해 왔던 이야기를 다시 재방송하는 꼴인데, MAP를 사용하게 되면 모수θ를 구할 때 사전(Prior) 정보를 감안할 수 있다는 점입니다. 그리고 MLE의 경우에는 제대로 된 θ를 추정하기 위해서 관측된 "데이터에만" 의존하기 때문에 True θ와 관계없이 데이터에만 꼭 끼워 맞춰진 모형이 만들어질 수 있습니다. 이걸 "과적합될 수 있다"고도 표현하는데 이 말은 모형 완성 시에 데이터만 참고하여 모형을 완성하고, 이것이 True θ를 잘 표현 못할 수도 있다는 의미입니다. 결국 MLE의 과적합이란 잘못된 데이터를 활용했을 때에는 실제 데이터의 모형을 표현하기에 부적합할 수도 있다는 의미로 받아들이는 편이 가장 적절하다고 생각합니다. 여기에서 쉬운 과적합 예는 동전 던지기를 10번 했는데 10번 모두 앞면만 나왔을 경우에 이 동전은 앞면만 나오는 동전이라고 모형을 완성하는 것을 말합니다. MLE가 그런 식으로 동작하니까 Outlier에 대해 취약한 면도 있습니다.
이해를 돕기위한 예제로 머리카락 예제들이 많이 인용되는데 그것이 어떤 것인지 살펴보면 조금 더 감이 올 거라 생각합니다.
우리 동네를 어슬렁 거리고 있었는데 길바닥에 머리카락이 떨어져 있어서 우연히 주웠습니다. 흠 이 머리카락이 남학생것인지 여학생 것인지를 판단하는데 어떤 식으로 판단할 거냐를 생각해 본다면 말이죠,
P(Hair|Boy), 즉 머리카락을 보고 남학생의 머리카락일 가능성Likelihood을 최대로 하는 남학생의 확률(비율)을 추정하는 것이 MLE입니다. 음. 즉, 관측 현상을 보고, 이 관측 현상이 나타날 가능성이 가장 높게 하는 모수를 추정하는 것이죠.
이때 내 옆을 지나가던 동사무소 직원이 알려준 정보에 의하면, 우리 동네에 남학생이 약 10%, 여학생이 약 90%가 있다고 합디다. 이때 MAP는 P(Hair|Boy)P(Boy)를 최대로 하는 것인데, P(Boy)가 10%라는 남녀 성비에 대한 사전 정보를 감안해서 머리카락을 보고, 남학생의 확률(비율)을 추정하는 방법. 즉, P(Boy|Hair)을 추정하는 것이 MAP입니다.
오호. 그렇다면 이리보나 저리보나 MAP가 조금 더 나은 방법인가요?라고 반문할 수도 있겠습니다만, 그렇다고 해서 MAP가 MLE보다 무작정 좋다고 판단하면 안됩니다. 왜냐하면 두 방법에 대해서 각자 장단점이 있는 것이거든요. 이걸 정리해 보면,
머 대~충 이런 식으로 비교해 볼 수 있겠습니다. 그러면 MLE가 과적합될 수 있다는 점에서 MAP는 과적합에 조금 더 Robust 한 이유가 있는가?라는 질문을 할 수가 있겠는데, 베이즈룰에 Log를 씌워서 MAP를 다시 한번 대략의 수식으로 표현해서 이해해 본다면 다음과 같습니다.
$$ \hat{\theta}_{MLE} = arg\max\limits_{\substack{\theta}}log P(X|\theta)$$
MLE는 이런 식인데 반해, MAP는
$$\begin{aligned}
\hat\theta_{MAP}&=arg \max\limits_{\substack{\theta}} \log P(\theta|X)\\
&= arg\max\limits_{\substack{\theta}} \log \cfrac{P(X|\theta)P(\theta)}{P(X)}\\
&=arg \max\limits_{\substack{\theta}} \log P(X|\theta)P(\theta) \\
&=arg \max\limits_{\substack{\theta}} \left(\underbrace{\log P(X|\theta)}_{\text{log likelihood}}+ \underbrace{\log P(\theta)}_{\text{regularization}}\right)
\end{aligned}$$
이런 식으로 Likelihood 이외에 True θ Term이 고려하는 Regularization Term이 포함될 수 있기 때문에 데이터에만 의존하지 않고 사전 정보이용한 θ를 모형에 조금 더 감안할 수 있다는 점입니다. 이 감안에 대한 긍정적인 효과가 과적합을 방지할 수 있는 일반화라는 것입니다. 이걸 Regularization이라고 부르기도 합니다. 사실 한국어로 하면 정규화라고 부르는데, 사실 정규화보다는 Regular가 일반적인 것을 의미하니까 일반화정도로 부르는 편이 어땠을까 하는 아쉬움이 있습니다.
자, 그럼 MLE와 MAP가 실제 상황에서 적용되면 어떤 식으로 적용되는지 알아보지 않고 그냥 지나칠 수는 없잖아요? 지금까지 알아본 모형다운 모형은 회귀모형 밖에 없으니까 회귀에 대해서 '흠.. 그런가' 정도로 알아보면 더 머릿속에 잘 맴돌 수 있지 않을까 합니다.
자, 단순회귀모형을 잠시 떠올려 봅시다.
회귀모형에서 종속변수는 가우시안 분포를 따릅니다. 그리고, θ는 계수벡터입니다. - 기계 학습 쪽에서는 Weight 인 W로 표현하는 경우도 있습니다만. - 그러니까, Likelihood는
$$ \mathcal{L}(y|\theta) = P(y|\theta) = \prod_{i=1}^{N} \cfrac{1}{\sqrt{2\pi\sigma^2}}e^{-\frac{(y_i-(\hat{y_i}))^2}{2\sigma^2}} = \prod_{i=1}^{N} \cfrac{1}{\sqrt{2\pi\sigma^2}}e^{-\frac{(y_i-(\beta_0+\beta_1 x_i))^2}{2\sigma^2}} \\ \theta :\{\mu:\beta_0+\beta_1x_i, \sigma^2\}$$
으로 표현할 수 있겠습니다. Exponential이 거추장스러우니까 Log를 씌워서 MLE를 따져보면,
$$\underset{\theta}{argmax}\, log(\mathcal{L}(y|\theta)) = \underset{\beta_0, \beta_1}{argmax}\,\log \left ( \prod\limits_{i}^{N}\cfrac{1}{\sqrt{2\pi\sigma^2}}e^{-\dfrac{(y_i-(\beta_0+\beta_1 x_i))^2}{2\sigma^2}}\right) \\= \underset{\beta_0, \beta_1}{argmax}\left(N \log\left(\cfrac{1}{\sqrt{2\pi\sigma^2}}\right)+ \sum\limits_{i}^{N}{-\dfrac{(y_i-(\beta_0+\beta_1 x_i))^2}{2\sigma^2}}\right)$$
가 됩니다. 결국 상수를 빼고 나면,
$\underset{\beta_0, \beta_1}{argmax}\, log(\mathcal{L}(y|\theta)) = \underset{\beta_0, \beta_1}{argmax}\sum\limits_{i}^{N}{(-{(y_i-(\beta_0+\beta_1 x_i))^2}}) = \underset{\beta_0, \beta_1}{argmin}\sum\limits_{i}^{N}{{(y_i-(\beta_0+\beta_1 x_i))^2}}$ 와 같습니다.
어라? 최소제곱법(Least Square)과 MLE최대우도법이 같군요? 호. 혹시 기억 못 하는 건 아니겠죠? Mean Square Error를 최소화하는 것과 같습니다. 그러니까, 선형회귀에서 Likelihood를 최대화하는 MLE는 잔차의 제곱합을 최소화하는 MSE와 동일한 문제로 돌아옵니다. 후후. 헛. 아니, Least Square는 행렬의 Projection의 최소값을 구해도 Least Square이고, MLE를 구해도 Least Square군요? 와. 이거 어떻게 해도 Least Square를 빠져나갈 수가 없네요.
참고로 다중회귀에서는 $\underset{\theta}{argmin}\sum\limits_{i}^{N}{{(y_i-(\beta_0+\theta^T \bar{x_i}))^2}}$ 로 표현하기도 합니다.
그러면, MAP의 관점에서는 추정이 어떨까요? 베이지안이니까 당연히 Prior를 정의해야겠군요. 이 경우에는 Prior가 가우시안, Likelihood도 가우시안, Posterior도 가우시안이라는 관점에서 이야기가 흘러갑니다.
MAP은 결론부터 이야기하자면,
$$\underset{\theta}{argmax}\sum\limits_{i}^{N}{(-{(y_i-\hat{y})^2}}) + \lambda \sum\limits_{j}^{P} \theta_j^2 \\ where\,\theta=(\beta_1, \cdots, \beta_p) $$
으로 표현되는데요, 이것에 대한 해석은 θ의 제곱항을 페널티로 준다고 표현하고 θ를 고려함을 통해서 과적합을 방지한다고들 합니다. 뭐, 이제 이게 무슨 의미인지는 잘 이해하고 있다고 생각합니다.
자, 그럼 MAP을 통해서 왜 이런 결론에 이르르르르는지 조금 살펴보면 어떨까 합니다.
자, 베이지안이니까, Prior가 있어야 하겠습니다. 그쵸? Prior는 θ가 평균 0, 표준편차가 τ인 가우시안을 따른다고 가정하면 말이죠,
$$ P(\theta) = \prod_{j=1}^{P} \cfrac{1}{\sqrt{2\pi\tau^2}}e^{-\dfrac{\theta_j^2}{2\tau^2}} = (2\pi \tau^2)^{-\frac{p}{2}}e^{-\dfrac{1}{2\tau^2}\sum_1^P \theta_j^2}$$
이런 식으로 표현할 수가 있고요, Likelihood는 이전과 똑같이 가정한다면,
$$ \mathcal{L}(y|\theta) = \prod_{i=1}^{N} \cfrac{1}{\sqrt{2\pi\sigma^2}}e^{-\dfrac{(y_i-\hat{y_i})^2}{2\sigma^2}} = (2\pi \sigma^2)^{-\frac{N}{2}}e^{-\dfrac{1}{2\sigma^2}\sum_1^N (y_i-\hat{y}_i)^2} $$
이런 식으로 표현할 수 있겠습니다. MAP은 Likelihood × Prior를 최대화하는 θ찾는 것이므로 두 개를 곱한 것을 표현해 보면,
$
\mathcal{L}(y|\theta) \times P(\theta) = (2\pi \sigma^2)^{-\frac{N}{2}}e^{-\dfrac{1}{2\sigma^2}\sum_1^N (y_i-\hat{y_i})^2} \times (2\pi \tau^2)^{-\frac{N}{2}}e^{-\dfrac{1}{2\tau^2}\sum_1^P \theta_j^2} $
상수를 날리고 argmax를 취하면,
$\underset{\theta}{arg}max \,\left( e^{-\dfrac{1}{2\sigma^2}\sum_1^N (y_i-\hat{y_i})^2} e^{-\dfrac{1}{2\tau^2}\sum_1^P \theta_j^2} \right) $
이런 식이 되겠죠. 편리성을 위해서 Log를 씌우면
$\underset{\theta}{arg}max \, \left({-\cfrac{1}{2\sigma^2} \sum_1^N (y_i-\hat{y}_i)^2} {-\cfrac{1}{2\tau^2}\sum_1^P \theta_j^2}\right) $
가 되겠습니다. 후후. 이 식에서 상수인 2σ²를 곱하고, -1로 묶으면
$\underset{\theta}{arg}max \, \left(- \left({ \sum_1^N (y_i-\hat{y}_i)^2}+ {\cfrac{\sigma^2}{\tau^2}\sum_1^P \theta_j^2}\right) \right)$
이 되겠습니다. 이 시점에서 이 값의 최대값은 최소값을 의미합니다. (왜냐하면 앞의 마이너스 때문에 말이죠)
$\underset{\theta}{arg}min \, \left({ \sum_1^N (y_i-\hat{y}_i)^2}+ {\cfrac{\sigma^2}{\tau^2}\sum_1^P \theta_j^2}\right) = \underset{\theta}{arg}min \, \left({ \sum_1^N (y_i-\hat{y}_i)^2}+ {\lambda\sum_1^P \theta_j^2}\right) \\ = \underset{\theta}{arg}min \, \left({ \sum_1^N (y_i-(\beta_0+\beta_1 x_1 + \cdots +\beta_Px_P))^2}+ {\lambda(\beta_1^2+\beta_2^2 \cdots+\beta_P^2)}\right) \\ \,where \,,\lambda=\cfrac{\sigma^2}{\tau^2}$
이렇게 정리될 수 있겠습니다. 어, MAP을 했더니 예상했던 대로 θ를 고려하는 항이 생겼군요. 이제 와서 하는 이야기이지만 이걸 Ridge 선형회귀라고 말합니다. 후후. Ridge 선형회귀는 θ의 평균이 0인 사전분포에 대해서 MAP추정치를 구하는 것과 같다는 것을 의미하고요, 보통 회귀에서 과적합이 되지 않도록 하기 위해서 Ridge회귀를 통해 Regularization을 하곤 하는데 바로 이런 이유 때문입니다.
참고로, 다른 표현으로는 $\hat{y} = \beta_0+\theta^T\bar{x}_i$로 표현하기도 하고, 뒤쪽의 정규화 Penalty항은 $\lambda \sum\limits^P\theta^2 = \lambda||\,\theta\,||_2^{\,2}= \lambda \theta^T \theta$ 라고 표현하기도 합니다. 선형대수적 표현이죠.
의도치 않게 긴 이야기를 하게 되었는데, MLE와 MAP는 장단점이 있기 때문에 무엇이 더 훌륭하다고 말하기 어려우니까 상황에 맞추어서 어떤 것이 더 좋을지 판단하는 것이 우리의 몫이 아닐까 생각합니다.
어쨌든 MAP가 훨씬 좋아 보입니다만, 문제가 있습니다. 확률분포에 반영되어야 할 관측값의 수가 늘어날수록 사후분포를 탐색해야 하는 공간이 엄청 늘어나기 때문에 이에 대응하기 위한 전략을 마련해야 한다는 점입니다.
보통 기계학습에 들어가면 지금 길게 이야기하는 것을 다음과 같이 유식한 느낌으로 표현합니다. Training data가 gaussian noise에 의해 degrade 되었다고 할 때, likelihood를 maximize 하는 것은 squared error를 minimize 하는 것과 같아진다. 유식해 보이죠?
$\hat{\theta}_{MAP} = \hat{\theta}_{Ridge} = (\lambda I_P + y^TX)^{-1}X^Ty$ 의 최적해를 구하는 것과 같습니다.
P(θ)가 무정보분포인 Uniform이면 MLE와 MAP가 같아집니다.
댓글