새소식

부스트캠프 AI Tech 4기

12. MLE : Maximum Likelihood Estimation

  • -

기계학습에서 통계학적인 방법에 의해 모수를 찾아보는 방법을 정리하였다.

MLE가 모수를 추정하면서 정답레이블에 해당하는 확률분포와 모델이 추정하는 확률분포의 거리를 최소화하는 개념과 일치한다.

 

모수(parameter)

통계적 모델링은 적절한 가정 위에서 데이터를 표현하는 확률분포를 추정(inference)하는 것이 목표이다.

실제 문제에 대해서 유한한 개수의 데이터만 관찰하여 모집단의 분포를 정확하게 알아내는 것은 불가능하므로 근사적으로 확률분포를 추정할 수 밖에 없다.

 

  • 모수적(parametric) 방법론
    • 데이터가 특정 확률분포를 따른다고 선험적으로 가정한 후, 그 분포를 결정하는 모수(parameter)를 추정하는 방법
  • 비모수(nonparametric) 방법론
    • 특정 확률분포를 가정하지 않고 데이터에 따라 모델의 구조 및 모수의 개수가 유연하게 바뀌는 방법
    • 기계학습의 많은 방법론은 비모수방법론

 

확률분포

확률분포를 가정하는 방법: → 히스토그램을 통해 모양을 관찰

  • 데이터가 2개의값(0또는1)만 가지는 경우  베르누이분포
  • 데이터가 개의 이산적인 값을 가지는 경우 → 카테고리분포
  • 데이터가 사이의 어떤 실수 값을 가지는 경우 → 베타분포
  • 데이터가 0 이상의 값을 가지는 경우 → 감마분포, 로그정규분포 등
  • 데이터가 (실수) 전체에서 값을 가지는 경우 → 정규분포, 라플라스분포 등

기계적으로 확률분포를 가정해서는 안 되며, 데이터를 생성하는 원리를 먼저 고려하는 것이 원칙이다.

  • 각 분포마다 검정하는 방법들이 있으므로 모수를 추정한 후에는 반드시 검정을 해야 한다.

 

모수추정

데이터의 확률분포를 가정했다면 모수를 추정할 수 있다.

정규분포의 모수는 평균 $\mu$와 분산 $\sigma^{2}$가 있다.

$$ \overline{X}  = \frac{1}{N}  \sum_{i=1}^{N} X_{i}  $$

$$ {E}[\overline{X}] = \mu $$

 

$$ {S}^{2} = \frac{1}{N-1}  \sum_{i=1}^{N} (X_{i}-\overline{X})^{2}  $$

$$ {E}[{S}^{2}] =  \sigma^{2} $$

 

  • 통계량의 확률분포(표본평균의 확률분포)를 표집분포(sampling distribution)라 부른다.
    sample distribution과 다르다!
  • 표본평균의 표집분포는 $N$이 커질수록 정규분포 ${N}(\mu, \sigma^{2}/N)$를 따른다.
    이를 중심극한정리(Central Limit Theorem)이라 부르며, 모집단의 분포가 정규분포를 따르지 않아도 성립한다.

 

최대가능도(Maximum Likelihood Estimation, MLE)

  • 표본평균이나 표본분산은 중요한 통계량이지만 확률분포마다 사용하는 모수(parameter)가 다르므로 적절한 통계량이 달라지게 됨
  • 이론적으로 가장 가능성이 높은 모수를 추정하는 방법 중 하나 → Maximum Likelihood Estimation

$$ \widehat{\theta}_{MLE} = argmax {L}(\theta; x) = argmax {P}(x|\theta) $$

 

MLE의 정의

MLE는 모수적인 데이터 밀도 추정 방법으로서

파라미터 $\theta = (\theta_{1}, ..., \theta_{m})$ 으로 구성된

어떤 확률밀도함수 $P(x|\theta)$ 에서 관측된 (확률밀도함수를 모르는 상태)

표본 데이터 집합을 $ x = (x_{1}, x_{2}, ... , x_{n})$이라 할 때,

이 표본들에서 파라미터 $\theta =(\theta_{1}, ..., \theta_{m})$를 추정하는 방법이다.

 

likelihood

  • Likelihood : 지금 얻은 데이터가 이 분포로부터 나왔을 가능도
  • 수치적으로 가능도를 계산하는 방법은 각 데이터 샘플에서 후보 분포에 대한 높이(likelihood 기여도)를 계산해서 곱하는 것이다. (계산된 높이를 더해주지 않고 곱해주는 것은 모든 데이터들의 추출이 독립적으로 연달아 일어나는 사건이기 때문이다.)

likelihood function

$$ P(x|\theta) =  \prod_k^n P(x_{k}|\theta)  $$

  • 주어진 데이터 x에 대해서 모수 $\theta$ 를 변수로 둔 함수이다. 데이터가 주어진 상태에서  $\theta$ 를 변형시킴에 따라 값이 바뀌는 함수이다.
    → 모수  $\theta$ 를 따르는 분포가 x를 관찰할 가능성 ($\theta$에 대해서 적분을 하거나 다 더해줄 때 1이 되는 개념이 아니기 때문에 확률로 해석하면 안된다!)

해당 데이터들은(주황색 점들) 어떤 분포로부터 추출되었을 가능도가 더 높을까

log likelihood function

  • 데이터 집합 X가 독립적으로 추출되었을 경우 조건부확률들의 곱으로 MLE를 계산할 수 있는데, 이 경우 로그가능도를 최적화한다. → 로그의 성질을 이용하여 전체에 로그를 씌워주면 곱을 합으로 변환할 수 있기 때문이다.

$$ {L}(\theta; {X}) =  \prod_{i=1}^n {P}(x_{i}|\theta)   \Rightarrow log{L}(\theta; {X}) =  \prod_{i=1}^n log{P}(x_{i}|\theta) $$

 

 

Maximum likelihood Estimation

  • Likelihood를 최대화 하는 파라미터를 찾아나가는 과정
  • 보통 함수의 최댓값/최솟값을 찾는 방법은 미분을 이용하는 것이므로
    찾고자하는 파라미터에 대해 편미분하여 최댓값을 찾을 수 있을 것이다.

 

  • 손실함수의 경우 경사하강법을 사용하므로 음의 로그가능도를 최적화하게 된다.

 

MLE 추정 : 정규분포

$$ log{L}(\theta; {X}) =  \prod_{i=1}^n log{P}(x_{i}|\theta) =  \sum_{i=1}^n log  \frac{1}{ \sqrt{2 \pi \sigma^{2}}}e^{-\frac{ \mid x_{i}-\mu \mid^{2}}{2\sigma^{2}}} = -\frac{n}{2}log2\pi\sigma^{2} -  \sum_{i=1}^n  \frac{ \mid x_{i}-\mu \mid^{2}}{2\sigma^{2}} $$

  • 정규분포는 2개의 모수(parameter)를 가지기 때문에 아래 식과 같이 x given $\mu$, $\sigma^{2}$로 바꾸어 계산할 수 있다. - 평균과 분산

$$ argmax(\theta; {X}) = argmax {P}({X}|\mu,\sigma^{2})  $$

  • $\theta = (\mu, \sigma)$에 대해 아래 수식을 미분하여 최적화를 할 수 있다.
    두 미분이 모두 0이 되는 $\mu, \sigma$를 찾으면 가능도를 최대화하게 된다.

 

 

MLE 추정 : 카테고리 분포

$$ log{L}(\theta; {X}) =  \prod_{i=1}^n log{P}(x_{i}|\theta) =  \sum_{i=1}^n log  \frac{1}{ \sqrt{2 \pi \sigma^{2}}}e^{-\frac{ \mid x_{i}-\mu \mid^{2}}{2\sigma^{2}}} = -\frac{n}{2}log2\pi\sigma^{2} -  \sum_{i=1}^n  \frac{ \mid x_{i}-\mu \mid^{2}}{2\sigma^{2}} $$

  • 카테고리 분포는 베르누이 분포(2개의 값 중 하나를 선택하는 확률분포)를 d차원으로 확장한 것으로 d개의 각 차원에서 하나의 값을 선택하는 확률분포이다.
  • 카테고리 분포의 모수 $p_{1}, ..., p_{d} $는 각각의 차원에서 값이 1또는 0이 될 확률로 각각의 모수를 모두 더해주었을 때 1이 되어야 한다.

 

딥러닝에서의 MLE

  • MLE를 이용해서 기계학습 모델을 학습할 수 있다.
  • 딥러닝 모델 가중치를 $\theta = ({W}^{1}, ..., {W}^{L})$이라고 했을 때, 분류 문제에서 가중치를 거친 데이터가 소프트맥스 벡터에 대입이 되면 카테코리분포의 모수 $(p_{1}, ..., p_{k})$를 모델링한다. 원핫벡터로 표현한 정답레이블 $y=(y_{1}, ..., y_{k})$을 관찰데이터로 이용해 확률분포인 소프트맥스 벡터의 로그가능도를 최적화할 수 있다.

 

KL Divergence

  • 분류문제에서 정답레이블을 P, 모델예측을 Q라고 두면 MLE는 KL Divergence를 최소화하는 것과 같다.(거리를 최소화하는 것이 발산을 최소화하는 것이다.)

 

 

 

Q. MLE 와 KL divergence가 결론적으로 같은가?

조교님의 답변

: 네, 맞습니다. 물론, 같아지기 위해서는 KL divergence 값을 구할 때 인자로 들어가는 두 개의 확률 분포 p, q가 있을 때. p가 "데이터의 실제 분포"라는 조건이 필요합니다(이 때 q는 모델이 추정한 값 or 분포). 즉, 데이터의 실제 분포를 알고있다고 가정하는 것이죠.

 

그리고 MLE가 KL과 같아지는 이유는, MLE도 "충분한" 데이터가 주어진다면, 모델의 추정은 결국은 p분포(위에서 말한 실제 분포)와 같아지기 때문입니다. 왜냐하면, 최대가능도를 가지고 학습하면 실제 분포에 가까이 가기 때문입니다.


부스트캠프 AI Tech 교육 자료를 참고하였습니다.

728x90

'부스트캠프 AI Tech 4기' 카테고리의 다른 글

14. CNN  (1) 2022.09.23
13. 베이즈 정리  (0) 2022.09.23
11. 확률분포, 조건부확률, 기댓값, 몬테카를로 샘플링  (1) 2022.09.23
10. 딥러닝 학습방법  (0) 2022.09.23
9. 경사하강법  (1) 2022.09.23
Contents