ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • MLE(Maxinum Likelihood Estimation)에 대한 이해
    Study/통계 2020. 5. 28. 19:09

    위키피디아에 MLE의 정의를 보면

    '어떤 확률변수에서표집한 값들을 토대로 그 확률변수의모수를 구하는 방법, 어떤 모수가 주어졌을 때, 원하는 값들이 나올가능도를 최대로 만드는 모수를 선택하는 방법'이라 합니다.

    어느정도 이해한 지금의 상황에선 위의 뜻이 좋은 설명이라고 생각하지만 처음 MLE를 접했을 때 잘 이해되지 않는 부분이 있었습니다. 이해를 위해 나름대로 기록한 내용을 적어 보려고 합니다.

    Thumbtack Question

    압정은 동전과를 모양이 다르기 때문에 쉽게 50:50 확률이라고 보기 힘듭니다. 실제로 압정을 던져서 앞이 3번 뒤가 2번 나왔으니 3/5, 2/5의 확률이라고 대답하기엔 부족한 점이 있습니다.

    Binomial Distribution

    Binomial Distribution은 이산적인 사건에 대한 확률 분포를 말합니다. 압정을 몇번 던져보는 실험을 베르누이 시행이라고 합니다. 그리고 각 시행은 독립적이라 가정합니다. 압정의 앞이 나올 확률P(H)을 $\theta$라고 한다면 뒤가 나올 확률P(T)은 1-$\theta$가 됩니다. 확률이라고 하는 것은 항상 양수여야 하고 0보다 크거나 같고 1보다 작거나 같은 것이 확률이 됩니다. 앞과 뒤가 나올 확률을 더하면 1이 되니까 확률이 맞다고 볼 수 있습니다.

    압정을 5번 던졌을 때 P(HHTHT) = $\theta$$\theta$(1-$\theta$)$\theta$(1-$\theta$) = $\theta^3(1-\theta)^2$ 앞앞뒤앞뒤가 나왔습니다. D(DATA)를 H,H,T,H,T라고 한다면 $P(D|\theta) = \theta^{a_H}(1-\theta)^{a_T}$ 라고 표현할 수 있는데 확률 $\theta$가 주어지고 D가 시행됐을 때 나올 확률을 말합니다.

    Maxinum Likelihood Estimation

    $\theta$가 주어졌을 때 D가 만들어질 확률을 $P(D|\theta) = \theta^{a_H}(1-\theta)^{a_T}$와 같이 정의했습니다. 데이터는 앞과 뒤로 구성된 우리의 관측한 정보입니다. 여기서 우리의 가정은 압정의 앞면은 $\theta$라는 것입니다. 그러면 어떻게 하면 우리의 가정이 강해질 수 있을까요? 어떤 $\theta$를 선택했을 때 데이터를 가장 잘 설명할 수 있는지가 중요합니다.

    첫번째로 우리가 알아볼 것은 MLE(Maxinum Likelihood Estimation)라고 하는 확률의 추론입니다. 우리가 관측된 데이터들이 등장할 확률을 최대화하는 $\theta$를 찾아내는 것 입니다. 즉 $\hat{\theta} = argmax_{\theta}P(D|\theta)$ $\theta$라는 것이 주어졌을 때 데이터를 관측할 확률을 알 수 있고 관측할 확률을 최대화하는 $\theta$를 찾아내자 그리고 찾아낸 $\theta$를 $\hat{\theta}$ 라고 합니다.

    MLE Calculation

    우선 $\hat{\theta}$ 을 $\hat{\theta} = argmax_{\theta}P(D|\theta) = argmax_{\theta}\theta^{a_H}(1-\theta)^{a_T}$ 와 같이 정의할 수 있습니다. 근데 위 수식을 자승과 같은 것을 처리하기 힘들기 때문에 더 전개하기 쉽지 않습니다. 그래서 흔히 통계학자나 기계학습하는 사람들이 흔히 이용하는 방법이 로그 함수를 이용하는 겁니다. 로그함수는 monotonic하게 증가하기 때문에 확률 함수를 로그함수에 매핑시켜도 최대화 시키는 것은 동일합니다. $lnP(D|\theta)$ 와 $P(D|\theta)$의 값은 달리지지만 P가 최대화되는 점은 lnP가 최대화되는 점과 동일하다는 것입니다. 로그의 특성을 이용하여 $\hat{\theta}$의 식을 전개하면 $\hat{\theta} = argmax_{\theta}\ln{P(D|\theta)} = argmax_{\theta}\ln{\theta^{a_H}(1-\theta)^{a_T}} = argmax_{\theta}{a_H \ln\theta + a_T \ln(1-\theta)}$와 같이 됩니다. 이것은 최대화 문제가 됩니다. $\theta$를 최적화하여 이 수식을 최대화 시켜주는 것이 되겠습니다. 이 함수를 우리가 알아보려고 하는 $\theta$에 대해서 미분을 해서 극점을 찾아보도록 하겠습니다.
    $\theta$에 대해서 미분을 하면

    $d/d\theta( a_H \ln{\theta} + a_T \ln{1-\theta}) = 0 $

    $a_H/\theta - a_T/(1-\theta) = 0 $

    $\theta$에 대해서 정돈을 하면

    $\theta = a_H / a_T + a_H$

    가 됩니다.

    즉 앞이 나오는 회수 / 던져진 횟수가 나옵니다. 이것이 MLE 관점에서 본 최적화된 $\hat{\theta}$이 되겠습니다.

    Number of Trials

    그러면 5번 던지는 것과 50번 던지는 것이 같을까요? 우리가 $\hat{\theta}$이라고 추론을 한 것이지 확정된 것이 아닙니다. 그렇기 때문에 더 많인 시행횟수를 가지면 Trial Error를 줄여줄 수 있습니다.

    hoeffding inequality에서 $P(|\hat{\theta} - \theta_*| \geq \epsilon) \leq 2e^{-2N\epsilon^2}$ N이 시행횟수 인데 N이 커지면 에러가 작아집니다. 이게 Probably Approximate Correct learning 이라고 하는 PAC learning이라고 합니다. 오차 범위 내에서 Correct한 학습의 결과물이 $\hat{\theta}$라는게 PAC learning이라고 합니다.

     

    출처: https://www.youtube.com/watch?v=3AwO0O6hWBI&list=PLbhbGI_ppZISMV4tAWHlytBqNq1-lb8bz&index=3

    댓글

Designed by Tistory.