BLOG

[네이버 AI 부스트캠프 5기] 최대가능도추정법(MLE)

[네이버 AI 부스트캠프 5기] 최대가능도추정법(MLE)

오늘 깊게 다룬 주제는 최대가능도추정법(MLE, Maximum Likelihood Estimation, 혹은 최대우도법)이다.

지속적으로 확률과 가능도가 같은 개념이 아닌 것을 강조하던데, 먼저 '가능도'라는 놈이 어떤 놈이지 알아보자. 강의도 여러번 돌려보고 검색도 여러번 해봤는데, 가장 직관적인 것은 '고정된 관측치가 어떠한 확률분포에서 어느정도의 확률로 나타나는지에 대한 확률' 이라는 문장이었다. 짧은 문장 내에 확률이라는 단어가 3번이나 들어간 것만 보아도 뭔가 비상한 녀석처럼 보인다.

예를 들면, 1, 2, 3, 4, 5, 6의 눈금을 가진 주사위를 던졌을 때 3이 나올 확률은 1/6일 것이다. 1, 2, 3, 3, 4, 5라는 눈금을 가지는 주사위를 던졌을 때에는 1/3일 것이다. 마지막으로 3, 3, 3, 3, 3, 3의 눈금을 가진 주사위를 던졌을 때는 1일 것이다. 확률은 1/6, 1/3, 1이라는 각각의 수치를 의미하고, 가능도는 모두를 의미한다. 아직은 조금 모호하다. 그렇다면 거꾸로, 주사위의 눈금이 3이라는 결과를 알고 있다고 하자. 그러면 위 3가지 종류의 주사위 중 어느 것을 던졌을 때 나온 결과라고 보는 것이 가장 타당할까? 당연히 눈금이 3만 있는 주사위이다. 다시 말하자면, 마지막에 나온 주사위가 가진 가능도, 혹은 우도가 가장 높다고 말할 수 있을 것이다.

만일, 세계 곳곳에 흩어진 강아지들 중 100마리를 뽑아 몸무게를 재 보았더니 평균적으로 10kg이 나왔다고 한다면, 강아지의 몸무게는 평균적으로 얼마라고 답하는 것이 가장 그럴듯할까? 100마리라는 표본은 너무나도 적은 수지만, 다른 배경지식이 없다는 가정 하에는 10kg라고 답하는 것이 9kg, 11kg보다 훨씬 그럴듯하다. 이런 느낌의 추정을 최대가능도추정법이라고 볼 수 있다. 적은 데이터를 가지고 모수 추정이 가능하다는 장점이 있다.

다시 말해, 최대가능도추정법이란, 이론적으로 가장 가능성이 높은 모수를 추정하는 방법이다. 다음 공식이 최대화, 혹은 최적화되는 지점을 찾으면 된다.

$$\prod _{i=1}^nP\left(x_i\mid \theta \right)$$

그런데 만약, x가 독립적으로 추출된 경우에는 로그를 취한 로그가능도를 최적화시키는 방법이 선호된다. 곱셉은 로그의 덧셈이니까, 더 많은 데이터를 처리할 수도 있고, 연산량도 훨씬 줄어들고, 여러 장점이 있다. 대체로 경사하강법을 사용하므로, 음의 로그가능도를 최적화하게 된다. 로그를 취하면 다음의 식과 같고, 음의 로그가능도는 로그가능도에 그냥 마이너스를 붙인 형태이다.

$$\sum _{i=1}^n\log P\left(x_i\mid \theta \right)$$

이제 이 값을 미분해서 0이 되는 지점을 찾으면 최적화가 끝난다. 정규분포에서 최대가능도를 추정해보자. 정규분포의 확률질량함수는 다음과 같다.

$$\frac{1}{\sqrt{2\pi \sigma ^2}}\combi{e}^{-\frac{\mid x_i-\mu \mid }{2\sigma ^2}}$$

이 식을 위의 P에 넣으면, 아래와 같은 형태가 되고,,

$$\sum _{i=1}^n\log \frac{1}{\sqrt{2\pi \sigma ^2}}\combi{e}^{-\frac{\mid x_i-\mu \mid }{2\sigma ^2}}\ =\ -\frac{n}{2}\log 2\pi \sigma ^2-\sum _{_{i=1}}^n\frac{\mid x_i-\mu \mid ^2}{2\sigma ^2}$$

극값을 찾기 위해 시그마에 대해서, 뮤에 대해서 각각 편미분을 해주고 0이 되는 값을 찾으면 끝이다.

$$0\ =\frac{\delta \log L}{\delta \mu }\ =\ -\sum _{_{i=1}}^n\frac{x_i-\mu }{\sigma ^2}\ $$

다음으로는 베르누이분포의 최대가능도를 추정해보자. 베르누이분포의 확률질량함수는 다음과 같다.

$$\mu ^x\left(1-\mu \right)^{1-x}$$

그리고 독립시행의 경우 전체 확률질량함수는 각각의 확률질량함수의 곱과 같으므로, 아래의 식과 같다.

$$\prod _{i=1}^n\mu ^{x_i}\left(1-\mu \right)^{1-x_i}$$

위에서 했던 방식대로 로그를 취하고 편미분을 해보자. 엄청난 계산을 거쳐,,, 간단한 결과가 나온다.

$$n_1=\sum _{i=1}^nx_i,\; \; \; n_0=n-\sum _{i=1}^nx_i$$