꺼내먹는지식 준

머신 러닝 정리 1 - MLE, MAP 정리 본문

AI/머신러닝

머신 러닝 정리 1 - MLE, MAP 정리

알 수 없는 사용자 2022. 9. 28. 17:12

베이즈는 이미 2번 정리를 했지만, 여러번 볼 수록 좋기에 한번 더 정리를 한다. 

 

Supervised Learning  Unsupervised Learning   
Label이 있는 learning (분류, regression) label 없이 주어진 데이터로 패턴 파악(clustering, Filtering)  

 

Unsupervised Learning 예시: 주어진 신문기사 4만개에서 10개로 분류해보아라. 

labeling 과정을 거칠 필요가 없이 clsutering 하면 된다. 

 

이항 분포 

이산 확률 분포 

 

$$\textrm{n번중 k번 성공}$$

$$f(k;n,p) = P( K = k ) = \binom{n}{k} \, p^k (1-p)^{n-k}$$

$$\binom{n}{k} = \frac{n!}{k! (n-k)!} = \, ^n C_{k} $$

$$\rightarrow \textrm{독립시행}$$

 

독립시행

독립시행에 대한 이해가 필요 

 

주사위 던지기 

A: 6의 양의 약수가 나오는 사건 {1, 2, 3, 6}

$$P(A) = \frac{n(A)}{n(S)} = \frac{4}{6} = \frac{2}{3}$$

 

5번의 시행에서 사건 A가 3번 일어날 확률 

단순하게 생각하면 아래와 같다. 

$$\frac{2}{3}^3 \times \frac{1}{3}^2$$ 

 

하지만 5번의 시행에서 사건 A가 3번 일어날 경우가 한가지만 있는 것이 아니다. 

실제는 아래와 같다. 

$ ^n C_{r} $

순서를 고려하지 않는 조합이다. (매 시행시 일어날 확률이 P인 사건. n회의 시행 중 r번 일어날 확률)

$\rightarrow$ $^n C_{r}$ $p^r$  $(1-p)^{n-r}$

 

조합 (Combination): 순서를 고려하지 않음  

순열 (Permutation): 순서를 고려 

 

 

MLE

$$\hat{\theta} = argmax_{\theta} P(D \, |\, \theta \,) = argmax_{\theta} \, \theta^{a_H} (1 - \theta) ^{a_{\tau}}$$

$$= argmax_{\theta} \ln \{ \theta^{a_H} (1 - \theta) ^{a_{\tau}} \}$$

$$= argmax_{\theta} \{ \, a_{H} \ln{\theta} + a_{\tau} \ln{(1 - \theta)}  \}$$

 

log function 은 monotonous 하게 증가하기 때문에 log를 mapping 한 후 구한 최댓값이 기존 최댓값(최대화 되는 점)과 동일하다. 

 

$$\frac{\partial}{\partial \theta} (a_{H} \ln{\theta} + a_{\tau} \ln{(1 - \theta)})$$

 

미분을 하는 이유는 그냥 극점을 찾기 위함이다. 변화율이 0으로 떨어질때가 극점이기 때문 

 

$$\ln{x}$$

$$\lim_{x \to \infty} (1 + \frac{1}{x})^x$$

 

각각의 미분법 혹은 극한 잊고 있으면 한번에 과정이 보이지 않는다. 

 

$$\frac{\partial }{\partial x} \ln{x} = \frac{1}{x}$$

 

$$(1+0)^{\infty} = e \,\,\,  \textrm{0과} \, \infty \textrm{처럼 역수를 이루고 있어야 한다.}$$ 

 

https://itforfun.tistory.com/220

 

ln (x-1) 의 미분

필자에게 자신을 돌아볼 충격적인 일이 있었다. ln(x - 1)을 미분하는데, 두가지 방법에 따라 결과값이 다르게 나온 것이다. 1) 합성 함수의 미분 $$\ln(x-1)' = g'(f(x))f'(x) $$ $$\ln(x-1)' = \ln'(x-1)(x-1)'..

itforfun.tistory.com

 

$$\frac{\partial}{\partial \theta} (a_{H} \ln{\theta} + a_{\tau} \ln{(1 - \theta)}) = 0$$

$$\frac{a_H}{\theta} - \frac{a_{\tau}}{1-\theta} = 0$$

$$\theta = \frac{a_{H}}{a_{\tau}+a_{H}}$$

 

MLE 측면에서 추정된 값은 $\hat{\theta} = \frac{a_{H}}{a_{\tau}+a_{H}}$ 이다. 

 

$\hat{\theta}$ 는 파라미터의 추정값이지 파라미터가 아니다. 이에 따라 시행의 숫자가 많아질 수록 error 확률이 떨어진다. 

 

에러 Bound

$$P(| \hat{\theta} - \theta^{*}| \geq \epsilon) \leq 2 e^{-2N\epsilon^2}$$

N 이 커지면 커질 수록 Error bound 는 작아진다. 

 

이를 역산하여 error term 인 $\epsilon$ 과 그때의 확률을 구해볼 수 있다. 

예를 들어 시행을 100번하여 $\epsilon$ 이 0.1 일 때의 실제 에러가 0.1 보다 클 확률은 0.0338338208 보다 낮다. 

이를 PAC (Probably Approximate Correct learning) 이라 한다. 

 

MLE 깔끔한 정리 블로그 

https://techblog-history-younghunjo1.tistory.com/70

 

[ML] 데이터 학습방법으로서 MLE, MAP

※해당 게시물에 사용된 일부 자료는 순천향대학교 빅데이터공학과 정영섭 교수님의 머신러닝 전공수업 자료에 기반하였음을 알려드립니다. 이번 포스팅에서는 간단한 주제를 다룰텐데, 바로

techblog-history-younghunjo1.tistory.com

한마디로 정리하자면: 

 

likelihood 는 주어진 파라미터 (특정 분포)에서 관측값이 등장할 확률이다. 

MLE 는 "어떤 파라미터" 가 가장 많은 관측값을 포함하는가. 

즉, likelihood 는 아래 이미지 같이 파라미터 마다 관측 값이 등장할 확률이 다르다. 

그러므로, likelihood 를 미분하여 극점을 찾으면 그때의 파라미터가 MLE 이다. 

 

MAP

Bayes 가 말하길,

사전에 가지고 있던 "사전 정보"를 파라미터 추정 과정에 가미할 수 있다.  

 

$$P(\theta | D) = \frac{P(D|\theta) P(\theta)}{ P(D)}$$

 

$$\textrm{Posterior} = \frac{ \textrm{Likelihood} \times \textrm{Prior Knowledge} }{ \textrm{Normalizing Constant} }$$

 

$$ \frac{ \theta에 대한 사전정보 \times \theta 가 주어졌을 때 데이터를 관측할 \, \textrm{likelihood}}{데이터가 존재할 확률} $$

 

※Likelihood: 어떤 값이 관측되었을 때 이것이 특정 분포에서 왔을지에 대한 확률 고정 값이 관측 값이다.  

 

MLE, Likelihood 에 대한 정리 

https://jjangjjong.tistory.com/41

 

확률(probability)과 가능도(likelihood) 그리고 최대우도추정(likelihood maximization)

* 우선 본 글은 유투브 채널StatQuest with Josh Starmer 님의 자료를 한글로 정리한 것 입니다. 만약 영어듣기가 되신다면 아래 링크에서 직접 보시는 것을 추천드립니다. 이렇게 깔끔하게 설명한 자료

jjangjjong.tistory.com

 

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

$P(D | \theta) = \theta^{a_{H}} (1 - \theta)^{a_{\tau}}$

$P(\theta) = ?$

 

Beta distribution 

$$P(\theta) = \frac{\theta^{\alpha - 1} (1-\theta)^{\beta -1}}{B(\alpha, \beta)}$$

$$B(\alpha, \beta) = \frac{\Gamma(\alpha) \Gamma(\beta)}{\Gamma{\alpha+\beta}}$$

$$\Gamma(\alpha) = (\alpha-1)!$$

 

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

 

$$ \propto \theta^{a_{H}} (1 - \theta)^{a_{\tau}} \theta^{\alpha - 1} (1-\theta)^{\beta -1}$$

 

어차피 betsa distribution 의 $B(\alpha, \beta)$ 는 $\alpha, \beta$ 값에 의해 정해지는 상수이다. 이에 따라 생략한다. 

 

MLE 과정에서 극점을 통해 미분한 결과 다음과 같은 결과를 얻었다. 

 

$$P(D | \theta) = \theta^{a_{H}}(1-\theta)^{a_{\tau}}$$

$$\hat{\theta} = \frac{a_{H}}{a_{\tau}+a_{H}}$$

 

MAP 에서 구하고자 하는 $\theta$ 는 $\hat{\theta} = argmax_{\theta} P(\theta | D)$ 이므로 

$$ P(\theta | D)\propto \theta^{a_{H}} (1 - \theta)^{a_{\tau}} \theta^{\alpha - 1} (1-\theta)^{\beta -1}$$

 

$$\hat{\theta} = \frac{a_{H}+\alpha -1}{a_{H} + \alpha + a_{\tau} + \beta - 2}$$

 

로 MAP 를 정리할 수 있다. 즉 $\alpha, \beta$ 값을 조정해보며 (prior knowledge) MLE 와 다른 결과값을 만들어 볼 수 있다. 

물론 시행이 무수히 많아지게 되면 MLE 와 동일한 값이 된다. 

Comments