이번 포스팅에서는 MLE(Maximum Likelihood Estimation)에 대해서 알아보도록 하겠습니다.
http://www.edwith.org/machinelearning1_17/lecture/10575
강의 초반부에서는 압정을 던지는 예로 시작합니다.
- 압정을 던져서 위가 나오면 돈을 두 배로 먹고, 아래로 나오면 그대로 두는 도박이 있다고 가정.
- 어느 날 부자가 와서 이 도박에 참여했는데, 그 부자가 나에게 돈을 주며, 압정을 던져서 위가 나올 확률이 무엇인지 물었다면 뭐라고 대답할 것인가?
- 일단 모르겠으니 던져본다. 다섯 번을 던져 보니 세 번이 위로 가고 두 번이 아래로 갔다고 가정하자.
- 그러면 이 결과를 보고 부자가 물은 대답의 답으로 $3/5$라고 말하는 것은 얼마나 근거가 있는 말일까? 아무 의미가 없을까?
사실 그냥 던져보니 그렇더라~ 라는 건 너무 책임 없는 말인 것 같죠. 일단 '다섯 번을 던져서 세 번이 위로 가더라' 라는 말을 수학적으로 이해해 볼 필요가 있겠습니다.
Bernoulli experiment(베르누이 시행)에 대해 먼저 얘기해보도록 하겠습니다. 베르누이 시행의 대표적인 예가 바로 동전 던지기인데요. 동전 하나를 한 번 던지면 앞면 혹은 뒷면이 나올텐데, 이런 것처럼 한 번의 시행에서 성공/실패로 구분이 되는 시행을 베르누이 시행이라고 합니다. 정확히는 성공 확률을 $\theta$라고 할 때, 확률이 $\theta$인 베르누이 시행이라고 부르죠. (어차피 실패의 확률은 $1-\theta$니까 따로 언급할 필요가 없습니다.) 이러한 확률이 $\theta$인 베르누이 시행을 독립적으로 $n$번 시행했을 때의 분포를 우리는 Binomial Distribution (이항분포)라고 하는 것입니다. 기호로는 $X\sim B(n,\theta)$라고 보통 쓰죠. 여기서 '독립적으로'라는 단어를 놓쳐선 안되겠습니다. 이 부분에 대해서 궁금하신 분은 '확률의 독립'을 키워드로 검색해보시기 바랍니다.
강의에서 i.i.d.에 대해서 소개하기에 여기서도 소개하고 넘어가겠습니다. iid는 independently and identically distributed 라는 뜻으로, 확률적으로 독립이면서 동일한 분포를 따르는 것을 의미합니다. 보통 표본추출을 할 때 (복원추출을 하여) iid 컨디션을 많이 거니 참고하시기 바랍니다.
이제 앞면(Head, H), 뒷면(Tail, T) 얘기로 다시 돌아와서, $P(H)=\theta$, $P(T)=1-\theta$라고 한다면, 앞앞뒤앞뒤에 대한 확률은 독립이므로 다음과 같이 구해질 것입니다.: $$ \begin{aligned} P(HHTHT)&=P(H)\cdot P(H)\cdot P(T)\cdot P(H)\cdot P(T)\\ &=\theta\cdot\theta\cdot(1-\theta)\cdot\theta\cdot(1-\theta) \\ &=\theta^3(1-\theta)^2 \end{aligned} $$ 이 상황을 좀 더 일반화 해보면, 앞면이 나올 확률이 $\theta$일 때 $D$일 확률은 결국 앞면이 나오는 횟수를 $\alpha_H$, 뒷면이 나오는 횟수를 $\alpha_T$라고 했을 때 $$ P(D|\theta)=\theta^{\alpha_H}(1-\theta)^{\alpha_T} $$ 라고 표기할 수 있을 것입니다. 이 때의 $D$는 앞면이 $\alpha_H$번, 뒷면이 $\alpha_T$번 나온 상황을 뜻합니다. 위 식에서 등호 기준 왼쪽의 기호가 생소하시다면 '조건부 확률'을 키워드로 검색해보세요. 한편 위 식에서 보시면 $\theta$가 주어질 때마다 넣어서 계산하면 $P(D|\theta)$를 구할 수는 있는데, 당연히 $\theta$가 바뀌면 이 값도 바뀔 것입니다. 그러면 이제 이런 질문을 할 수 있을 것입니다.
$D$의 확률을 최대로 만드는 $\theta$는 무엇인가?
아까 위에서 얘기하던 도박하는 상황을 잘 묘사할 수 있는 분포는 무엇이 있을까요? 여러가지가 있겠지만 우선은 논외로 하고 가장 간단한 이항분포를 따른다고 가정해보도록 하겠습니다. 그러면 이항분포를 따른다고 가정했을 때, 어떤 $\theta$가 이항분포를 따른다고 말하는 이 가정을 가장 그럴싸하게 만들어줄 수 있을까요? 이를 설명하는 여러 $\theta$가 있겠지만, 그 중에서 위 질문처럼 주어진 data point $D$를 최대로 만드는 $\theta$를 찾아보고자 합니다. 우리는 이를 $\theta$의 MLE(Maximum Likelihood Estimation)라고 부르고, 이를 수식으로 표현하면 아래와 같습니다.: $$ \hat{\theta}=\argmax_{\theta} P(D|\theta) $$ 여기서 $\argmax_{\theta}$라는 것은 $\argmax$이하에 있는 $P(D|\theta)$라는 값을 $\theta$를 돌려가며 최대를 구할 때, 이 값을 최대로 만드는 $\theta$를 구하라는 뜻입니다. 단지 위의 질문을 수식화한 것이란 걸 알 수 있습니다.
현재 우리는 이항분포를 가정했기 때문에 확률식을 알고 있죠. $$ P(D|\theta)=\theta^{\alpha_H}(1-\theta)^{\alpha_T} $$ 바로 이를 최대로 만드는 $\theta$를 구하려고 하니 쉽지가 않습니다. 이 때 많이 쓰는 방법이 logarithm을 양변에 씌우는 것입니다. 자연로그의 경우 아래의 이유 때문에 많이 쓰입니다.:
- 곱을 더하기로 만들어주기 때문에 미분해서 계산하기가 편리함.
- 증가함수이기 때문에 자연로그를 취한 후의 값을 최대로 만드는 $\theta$나 취하기 전의 값을 최대로 만드는 $\theta$가 같음.
보통 $\log$라고만 써도 자연로그로 이해하시면 됩니다. (상용로그는 안씁니다.) 이제 위의 식 양변에 $\log$를 취한 뒤 $\theta$에 대해 미분해서 임계점을 찾아주면, $$ \theta=\frac{\alpha_H}{\alpha_T+\alpha_H} $$ 가 됨을 알 수 있습니다. (로그의 미분만 알면 식정리가 되기 때문에 계산 과정은 생략합니다.) 결국 위의 값이 우리가 찾던 $\hat\theta$인 것이죠.
이 MLE 값을 보아하니, 다름이 아니라 횟수에 의해서 표현이 되었네요. 부자의 질문으로 돌아가보면, 결국 압정을 던져서 위가 나올 확률이 무엇인가? 라고 물었었는데, 이어서 다섯 번 던져봤더니 세 번이 나왔고, 여기서 MLE를 토대로 $3/5$입니다! 라고 한다면 이제는 만족스러운 답이 될까요? 여기서 부자가 추가로 질문합니다. 만약에 50번을 던졌는데 30번이 위로 나오고 20번이 아래로 나온다면, 이것도 MLE로 접근하면 확률은 같은데, 그럼 이게 같은 상황인 것이냐? 라고 질문할 수 있을 것입니다. 이 질문의 요지는, empirical한 관점에서, 같은 $3/5$라 할지라도 이것이 과연 검증된 것이냐는 것이죠.
이에 대한 답으로 Simple Error Bound라는 개념이 소개되었습니다. 결국 MLE도 true parameter가 아닌 추정값이니, true가 뭔지는 몰라도 오차가 있을텐데, 이를 Hoeffding's inequality에 의해 표현하면 아래와 같이 표현됩니다.: $$ P(|\hat\theta-\theta^*|\ge\epsilon)\le 2e^{-2N\epsilon^2} $$ 이 때 $N$은 시행횟수, $\epsilon$은 에러, $\theta^*$는 true parameter입니다. 이 식은 읽는 것이 중요한데요.
- 우선 $|\hat\theta-\theta^*|$는 추정값과 참값의 차이,
- 그래서 $P(|\hat\theta-\theta^*|\ge\epsilon)$는 추정값과 참값의 차이가 $\epsilon$보다 클 확률이고,
- 이 확률이 $2e^{-2N\epsilon^2}$보다 작거나 같더라
라는 것입니다. 여기서 upper bound에 해당하는 $2e^{-2N\epsilon^2}$의 경우, $e^{-x}$가 감소함수이기 때문에, $N$이 커질수록, $\epsilon$이 커질수록 upper bound 값은 작아지게 됩니다. 즉, 시행횟수가 늘어나면 늘어날수록 추정값과 참값의 차이가 $\epsilon$보다 커질 확률이 상대적으로 작아지고, $\epsilon$이 커진다면, 즉, 추정값과 참값의 차이가 멀어질 확률 또한 작아진다는 것입니다. 그래서 결과적으로 MLE와 참값의 차이는 막연히 벌어질 수는 없으니 의미있는 값이라는 걸 말해주고 있고, 시행횟수가 늘어나면 늘어날수록 그 차이를 점차 좁히는데 도움이 되는걸 알 수 있습니다. 그런 의미에서 50번을 던져서 30번이 윗쪽이 나온 것과, 5번을 던져서 3번이 윗쪽이 나온 것은 차이가 있고, 50번을 던진 쪽이 더 신빙성이 있는 값이라는 것을 알 수 있습니다. 이러한 방식을 PAC(Probably Approximate Correct) Learning이라고 한다 합니다.
그러면 이렇게 $\theta$를 추정하는 방법이 MLE 뿐일까요? 그렇지 않겠죠. 이에 대해선 다음 포스팅에서 얘기해보겠습니다.
'AI > 인공지능 및 기계학습 개론' 카테고리의 다른 글
[인공지능 및 기계학습 개론] 2.2 Introduction to Rule Based Algorithm (0) | 2022.08.15 |
---|---|
[인공지능 및 기계학습 개론] 2.1 Rule Based Machine Learning Overview (0) | 2022.08.15 |
[인공지능 및 기계학습 개론] 1.4 Probability and Distribution (0) | 2022.08.13 |
[인공지능 및 기계학습 개론] 1.3 MAP (0) | 2022.08.12 |
[인공지능 및 기계학습 개론] 1.1 Motivations (0) | 2022.08.11 |