일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- WBP
- RNN
- motion matching
- 생성모델
- UE5
- WinAPI
- ddpm
- 딥러닝
- NLP
- Font Generation
- multimodal
- deep learning
- GAN
- 모션매칭
- animation retargeting
- cv
- 언리얼엔진
- Diffusion
- Stat110
- Few-shot generation
- 디퓨전모델
- BERT
- ue5.4
- 오블완
- Generative Model
- userwidget
- Unreal Engine
- 폰트생성
- dl
- CNN
- Today
- Total
Deeper Learning
직관과 MLE, MAP(2) 본문
(이전글에 이어서 작성)
여기에서 의문이 생기는데
- 동전을 5번 던져서 모두 앞면이 3번 나오면 MLE 관점으로는 60% 확률로 앞면이 나온다고 추정하고 동전을 100번 던져서 앞면이 60번 나올 때도 마찬가지로 60% 확률로 앞면이 나온다고 추정하는데 괜찮은가
- 동전은 보통 50% 확률로 앞면이 나온다는 사전지식이 있는데 $n$ 이 작을 때 이 결과를 신뢰해도 괜찮은가
위 의문은 모두 사전지식(prior knowledge)을 반영하지 않기 때문에 생기는 의문으로 사전지식을 반영하여 최적의 추정값을 고르는 다음 글에서는 이어서 MAP 관점으로 다시 문제를 해결해 보겠다.
사전지식을 포함하여 모델링할 때는 Bayes Rule을 사용한다
$$ P(\theta|D) = \frac{P(D|\theta)P(\theta)}{P(D)}\\Posterior = \frac{Likelihood \times Prior \space Knowledge}{Normalizing \space Constant} $$
$P(D|\theta)$ 는 앞서 $\theta^{a_H}(1-\theta)^{a_T}$ 로 계산하였기 때문에 prior knowledge인 $P(\theta)$ 를 식에 추가하여 Posterior의 계산이 가능하다. ($P(D)$ 는 $\theta$ 와 관계없는 Normalizing Constant)
$$ P(\theta|D) \propto P(D|\theta)P(\theta) $$
$P(D|\theta)$ 도 Binomial distribution으로 정의한 것과 같이 $P(\theta)$ 또한 어떤 확률분포의 꼴을 따라야 할 텐데 어떤 확률분포를 골라야 할까?
주로 사용하는 분포는 Beta distribution이다.
Beta distribution은 0 이상 1 이하의 범위를 가지는 확률변수를 모델링하기에 적합하고 parameter에 따라 다양한 shape을 모델링할 수 있으며 binomial distribution이 posterior distribution일 때 사전 확률 분포가 사후 확률 분포와 같은 계열에 속하는 conjugate prior이기 때문에 계산 또한 수치적으로 간편해진다.
Beta distribution의 식을 대입하여 다시 써보면 아래와 같다.
$$ P(\theta|D) \propto P(D|\theta)P(\theta) =\theta^{a_H}(1-\theta)^{a_T} \theta^{\alpha -1}(1-\theta)^{\beta - 1}\frac{1}{B(\alpha, \beta)} \\ \propto \theta^{a_H} (1-\theta)^{a_T} \theta^{\alpha -1}(1-\theta)^{\beta - 1} = \theta^{a_H+\alpha -1}(1-\theta)^{a_T+\beta - 1} $$
식이 다시 MLE에서 theta에 대해 maximize하였던 Binomial distribution의 식과 비슷해졌기 때문에 마찬가지로 식을 정리할 수 있다.
MLE에서는
$$ \hat\theta = argmax_\theta P(D|\theta)\\\hat\theta = \frac{\alpha_H}{\alpha_H+\alpha_T} $$
MAP에서는
$$ \hat\theta = argmax_\theta P(\theta|D)\\\hat\theta = \frac{\alpha_H+\alpha-1}{\alpha_H+\alpha+\alpha_T+\beta-2} $$
MAP에서 관측한 데이터인 $\alpha_H,\alpha_B$ 가 매우 크다면 사전지식인 $\alpha,\beta$ 는 자연스럽게 식에 미치는 영향이 줄어든다.
예시로 만약 “동전이니까 동일한 확률로 앞뒷면이 나오겠다”라는 사전지식으로 시작을 하면 동전을 3번 던져 앞면 2번 뒷면 1번을 관측할 때 보다 동전을 1,000,000번 던져서 500,000번 앞면, 500,000번 뒷면을 관측하였을 때 사전지식이 미치는 영향이 적음을 알 수 있고 이는 직관과 부합한다.
p.s) 동전을 계속해서 던지면서 새로 구한 사전지식을 update 해가며 적용하는 것이 일반적이다.
Reference
[0] https://www.youtube.com/watch?v=3AwO0O6hWBI&list=PLbhbGI_ppZISMV4tAWHlytBqNq1-lb8bz&index=3 (AAILab KAIST 기계학습, Machine Learning, 문일철 교수님)
[1] https://en.wikipedia.org/wiki/Beta_distribution
'AI > Machine Learning & Data Science' 카테고리의 다른 글
SVM: Support Vector Machine (1) (0) | 2023.07.14 |
---|---|
직관과 MLE, MAP (1) (0) | 2023.06.22 |
MLE(Maximum Likelihood Estimation), MAP(Maximum A Posterior) (0) | 2022.11.25 |
Generative modeling (0) | 2021.08.16 |
Netflix Challenge - Recommendation System (0) | 2021.02.25 |