Deeper Learning

MLE(Maximum Likelihood Estimation), MAP(Maximum A Posterior) 본문

AI/Machine Learning & Data Science

MLE(Maximum Likelihood Estimation), MAP(Maximum A Posterior)

Dlaiml 2022. 11. 25. 23:59

https://dlaiml.tistory.com/entry/Bayes-theorem

 

Bayes' theorem

농어와 연어를 분류하는 문제 생선의 길이를 기준으로 농어, 연어를 분류 길이를 $x$, 물고기의 종류를 $w$ 라고 하자 물고기가 농어면 $w = w_1$, 연어면 $w = w_2$로 정의 Prior 사전확률인 Prior는 사전

dlaiml.tistory.com

(Bayes theroem 포스팅에 이어서)

 

Introduction

 

물고기의 길이 $x$, 물고기의 무게 $k$, 물고기의 길이로 물고기의 무게를 예측하는 회귀 문제를 예시로 들겠다.

필요로 하는것은 모든 $x$에 대해서 모든 $k$를 아는 함수 $k=g(x)$ (물고기의 길이에 따른 무게의 확률 밀도 함수)

 

이 함수를 parameter set $w$를 사용하여 근사하는 $f$

$$ \hat k = f(x|w) $$

 

물고기 길이가 $x_i$로 같아도 물고기의 무게 $k$ 는 Real world에서 하나가 아닌 여러 실수값을 가질 수 있음

그러므로 Error term $\epsilon$을 사용하여 불확실성을 아래와 같이 식에 녹여낼 수 있다.

$$ k = \hat k + \epsilon = f(x|w) + \epsilon $$

 

Error term을 평균이 0이고 분산이 $\sigma^2$ 인 가우시안 분포로 가정한다면

$$k \sim N(f(x|w), \sigma^2)$$

$$p(k|x,w,\sigma) = \frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(k-f(x|w))^2}{2\sigma^2}} $$

 

아래 그림과 함께 추가로 설명하면

  • 실제 데이터는 빨간색 점
  • parameter set $w$ 로 구성되었고 $x$를 받아 $\hat k$ 를 도출하는 approximation function $f$ (linear regression model, neural net, etc.)의 예측 결과 $\hat k = f(x|w)$는 파란색 선 (하지만 실제 데이터는 모두 파란 점 위에 있지 않기 때문에 이러한 Error(noise)를 표현하기 위한 error term)
  • $x=5$ 지점에서의 모델의 예측값은 초록 점, 해당 $x$ 에서 실제 데이터 분포에 대한 예측은 검은 선
    • “$x$가 5일 때, 실제 데이터의 분포는 초록점(3.8 정도)를 평균으로, 분산을 $\sigma^2$ 로 하는 가우시안 분포를 따르겠구나”라는 예측
    • 분산은 예측의 정확도와 연관된 값이 아닌 데이터 자체의 특성에 따라 설정되는 불확실성을 나타내는 값

 

MLE

관측한 데이터셋을 식으로 표현하면 $D = \{(x_1,k_1),...,(x_n,k_n)\}$와 같다.

각 데이터 포인트가 독립이면 데이터셋이 관측될 확률 $p(D)$는 길이가 $x_i$일 때 무게가 $k_i$일 확률의 곱과 같기 때문에 아래와 같이 표현이 가능하다. (parameter 생략)

$$ P(D) = \prod_{i=1}^{n} p(k_i|x_i) = \prod_{i=1}^{n}\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(k_i-f(x_i|w))^2}{2\sigma^2}} $$

 

무게를 가장 잘 예측하는 모델은 길이가 $x_j$일 때 무게가 $k_j$라고 답할 수 있도록 하는 parameter set $w$를 가지는 모델로 이는 $p(D|w)$가 최대가 되도록 하는 모델과 동치

 


Likelihood, Prior, Posterior의 구분

https://stats.stackexchange.com/questions/596658/why-use-parameter-set-theta-in-bayes-rule

주어진 대상이 물고기의 피부 $x$, 구하고자 하는 대상이 물고기의 무게 $k$ 일 때 베이즈 정리 식,

주어진 대상이 데이터 셋 $D = \{(x_1, k_1), ...,(x_n,k_n)\}$, 구하고자 하는 대상이 $x$를 $k$로 매핑하는 함수의 parameter set $w$ 일 때를 잘 구분해야 한다.

 

Bayestheorem은 어느 대상에 적용 하느냐에 따라 여러 관점으로 해석 가능(확률변수, 데이터셋, 조건부 확률, 사건 등)

지금까지 다룬 예시(데이터셋 $D$가 주어지고 $w$를 구하고자 하는 상황)에 Bayes theorem를 적용해보면

  • Posterior: $p(w|D)$
  • Likelihood: $p(D|w)$
  • Prior: $p(w)$
  • evidence: $p(D)$

다시 돌아와서 지금까지 다룬 예시(데이터셋 $D$가 주어지고 $w$를 구하고자 하는 상황)에 Bayes theorem를 적용해보면

 

무게를 가장 잘 예측하는 모델은 길이가 $x_j$일 때 무게가 $k_j$라고 답할 수 있도록 하는 parameter set $w$를 가지는 모델로 이는 $p(D|w)$가 최대가 되도록 하는 모델과 동치

 

위 문장을 다시 해석하면 Likelihood인 $p(D |w)$를 최대화하는 Maximum Likelihood Estimation

$p(D|w)$를 최대화 하는 $w^*$를 구하는 것이 MLE의 목표

 

$$ P(D|w) = \prod_{i=1}^{n} p(k_i|x_i) = \prod_{i=1}^{n}\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(k_i-f(x_i|w))^2}{2\sigma^2}} $$

 

언더플로우를 방지하고 다루기 쉬운 함수형태로 바꾸기 위해 단조 증가함수인 log를 양변에 적용하면

$$ \log(P(D|w)) = \sum _{i=1}^{n}\{-\log({\sqrt{2\pi}\sigma}){-\frac{(k_i-f(x_i|w))^2}{2\sigma^2}}\} $$

 

현재 state에서 정해진 상수인 $\pi,\sigma$를 제거하고 -1을 곱해 최소화 문제로 바꾸면 결국 아래 식을 최소화 하는 것이 목표가 된다

$$ \sum _{i=1}^{n} {(k_i-f(x_i|w))^2} $$

 

위 식은 prediction과 label의 차의 제곱으로 딥러닝의 L2 loss 식과 동일

 

즉, L2 loss를 최소화 하도록 모델을 학습 시키는것은 데이터가 Gaussian distribution에서 drawn 되었다는 가정(noise(error) term이 zero-mean Gaussian distribution이라는 가정)하에 MLE 방식으로 문제를 푸는 것

 

MAP

Maximum A Posterior는 posterior인 $p(w|D)$를 최대화 하는 전략으로 관측값(데이터셋)만 사용하는 MLE와 다르게 사전지식인 Prior를 활용할 수 있다.

$P(w|D) = \frac{P(D|w)P(w)}{P(D)}$ 에서 $P(w|D)$를 최대로 하는 $w^*$를 구하는 것이 MAP의 목표

 

분모인 $P(D)$는 normalizing constant로 argmax 문제에서 빼고 생각하겠다.

$$ P(w|D) \propto P(D|w)P(w) $$

 

Prior $P(w)$를 평균이 0인 Gaussian distribution으로 정하면

$$ p(w) = \frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{w^2}{2\sigma^2}} $$

 

위에서 구했던 값들을 활용하여 식을 전개해보자

$$ \log(P(D|w)P(w)) =\sum {i=1}^{n}\{-\log({\sqrt{2\pi}\sigma}){-\frac{(k_i-f(x_i|w))^2}{2\sigma^2}} \log({\sqrt{2\pi}\sigma{weight}})-\frac{w^2} {2\sigma_{weight}^2}\} $$

 

MLE 수식 전개와 마찬가지로 상수 term을 제거하고 -1을 곱해 최소화 문제로 만들면 아래와 같은 식으로 정리가 가능

$$ \sum {i=1}^{n} {(k_i-f(x_i|w))^2} + \frac{w^2}{2\sigma{weight}^2} $$

 

앞 항은 MLE와 같지만 마지막 항을 보면 $w$의 L2 norm을 규제하는 L2 Regularization Weight Decay의 수식이 나타난다.

 

즉, L2 penalty weight decay를 사용하는 것은 weight가 Gaussian Distribution을 따른다는 Prior를 활용하여 MAP 방식으로 최적의 $w$를 구하는 것과 같다

 

Reference

[0] https://stats.stackexchange.com/questions/450865/in-bayesian-inference-why-is-pd-sometimes-called-the-evidence

[1] https://stats.stackexchange.com/questions/367485/map-estimation-as-regularisation-of-mle

[2] https://machinelearningmastery.com/maximum-a-posteriori-estimation/

[3] https://hyeongminlee.github.io/post/bnn002_mle_map/

[4] https://chuanting.github.io/blogs/post/mmse/

'AI > Machine Learning & Data Science' 카테고리의 다른 글

직관과 MLE, MAP(2)  (0) 2023.06.27
직관과 MLE, MAP (1)  (0) 2023.06.22
Generative modeling  (0) 2021.08.16
Netflix Challenge - Recommendation System  (0) 2021.02.25
Feature Engineering  (0) 2020.11.27
Comments