일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- GAN
- motion matching
- WBP
- Unreal Engine
- CNN
- 폰트생성
- multimodal
- 딥러닝
- userwidget
- ue5.4
- WinAPI
- BERT
- 오블완
- 언리얼엔진
- dl
- 모션매칭
- cv
- Generative Model
- animation retargeting
- ddpm
- Font Generation
- 디퓨전모델
- Diffusion
- NLP
- 생성모델
- Stat110
- RNN
- deep learning
- Few-shot generation
- UE5
- Today
- Total
Deeper Learning
직관과 MLE, MAP (1) 본문
동전을 5번 던져서 앞면, 앞면, 뒷면, 앞면, 뒷면이 나왔을 때, 동전을 한 번 던져서 앞면이 나올 확률을 추정하면 직관적으로 3/5라고 생각하는데 정말 그럴까?
위 질문에 대한 답을 MLE 관점으로 찾아보자.
Binomal Distribution, Bernoulli experiment
한 번 동전을 던지면 앞면(H) 또는 뒷면(T)가 나오게 되는데, 이는 discrete하고 가능한 값이 2개(H,T)가 전부인 베르누이 분포를 따른다.
매 시행이 동일한 베르누이 분포를 따르며 독립적이기 때문에 동전을 5번 던질 때 1,2,3,4,5 번째 시행에서 동전이 앞면이 나오는 횟수를 나타내는 확률변수 $X_1,X_2,X_3,X_4,X_5$ 는 i.i.d이기 때문에 동전을 5번 던질 때 앞면이 나오는 횟수를 나타내는 확률변수는 이항분포(Binomial Distribution)를 따른다. (아래 예시는 총 앞면이 3번 나온 사건이 아닌 HHTHT 사건을 관측하였을 때를 기준으로 한다. 이항분포로 시작하여도 MLE 전개에서 $\theta$ 의 argmax가 포함되어서 Combination(n,k)는 후에 떨어져 나감)
동전을 한 번 던질때 앞면이 나올 확률을 $P(H)= \theta$, 뒷면이 나올 확률을 $P(T) = 1-\theta$ 라고 하자.
5번 동전을 던져서 HHTHT가 나오는 사건이 발생할 확률은 아래와 같다.
$$ P(HHTHT) = \theta\theta(1-\theta)\theta(1-\theta) = \theta^3(1-\theta)^2 $$
관측한 HHTHT가 나온사건인 Data를 $D$ 라고 하고 동전을 던진 횟수를 $n$, 동전이 앞면이 나온 횟수를 $a_H$ , 뒷면이 나온 횟수를 $a_T$ 라고 하고 동전을 한 번 던졌을 때 앞면이 나올 확률을 $p$ 라고 하면
$$ D = \{H,H,T,H,T\}\\n=5\\a_H=3, a_T=2\\p=\theta $$
$p=\theta$ 라고 가정하였을 때 $D$ 가 관측될 확률은 $P(D|\theta) = \theta^{a_H}(1-\theta)^{a_T}$ 로 표현할 수 있다.
여기에서 가정은 동전을 한 번 던졌을 때 동전은 $\theta$ 의 확률로 앞면이 나온다는 것이다.
$\theta$ 는 0~1의 값으로 수많은 candidate가 있는데 어떻게 가장 가능성 높은 $\theta$ 를 정할 수 있을까?
Maximum Likelihood Estimation(MLE)
무한히 많은 candidate $\theta$ 중 최적의 $\theta$ 를 고르는 방법론 중 하나는 MLE이다.
MLE는 데이터를 관측할 확률 $P(D|\theta)$ 를 maximize하는 $\theta$ 를 고르는 방식으로 식은 아래와 같다.
$$ \hat\theta = argmax_\theta P(D|\theta)\\argmax_\theta \theta^{a_H}(1-\theta)^{a_T} $$
식을 다루기에 지수부분도 있고 argmax 조건이 있기 때문에 단조증가 함수인 log를 양변에 적용해보면
$$ = argmax_\theta \ln (\theta^{a_H}(1-\theta)^{a_T}) \\=argmax_\theta [a_H \ln \theta + a_Tln(1-\theta)] $$
최대값을 구하는 문제는 미분을 활용해서 풀 수 있다. 이계도함수가 음수이므로 오목(Concave) function이기 때문에 미분값이 0이 되는 지점을 찾으면 해당 지점에서 $\theta$ 가 MLE 관점에서 최적의 $\theta$ 가 된다.
$$ \frac {d}{d\theta}(a_H \ln \theta + a_Tln(1-\theta)) = 0 \\ \frac{a_H}{\theta} - \frac{a_T}{1-\theta} = 0 \\ \theta = \frac{a_H}{a_H+a_T} $$
즉 MLE 관점으로 도출한 best candidate $\hat\theta$ 은 $\frac{3}{3+2} = 0.6$ 으로 동전은 60%의 확률로 앞면이 나온다고 추정할 수 있다.
여기에서 의문이 생기는데
- 동전을 5번 던져서 모두 앞면이 3번 나오면 MLE 관점으로는 60% 확률로 앞면이 나온다고 추정하고 동전을 100번 던져서 앞면이 60번 나올 때도 마찬가지로 60% 확률로 앞면이 나온다고 추정하는데 괜찮은가
- 동전은 보통 50% 확률로 앞면이 나온다는 사전지식이 있는데 $n$ 이 작을 때 이 결과를 신뢰해도 괜찮은가
위 의문은 모두 사전지식(prior knowledge)을 반영하지 않기 때문에 생기는 의문으로 사전지식을 반영하여 최적의 추정값을 고르는 다음 글에서는 이어서 MAP 관점으로 다시 문제를 해결해보겠다.
Reference
[0] https://www.youtube.com/watch?v=3AwO0O6hWBI&list=PLbhbGI_ppZISMV4tAWHlytBqNq1-lb8bz&index=3 (AAILab Kaist 기계학습, Machine Learning, 문일철 교수님)
'AI > Machine Learning & Data Science' 카테고리의 다른 글
SVM: Support Vector Machine (1) (0) | 2023.07.14 |
---|---|
직관과 MLE, MAP(2) (0) | 2023.06.27 |
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 |