KOOC에서 제공하는 KAIST 문인철 교수님의 "인공지능 및 기계학습 개론 1" 수업입니다.
지난 1.2 MLE 수업에서 압정이야기를 가져와서...
지난 수업에서 압정을 5번 던져 앞면이 3번, 뒷면이 2번이 나온 것을 통해 θ=0.6이라는 결과가 나왔다. 그런데 상식적으로 압정을 던져 앞면 혹은 뒷면이 나올 확률은 50:50이 아닌가? 우리가 알고있는 사전정보를 고려한 확률을 구할 수 있지 않을까? ~~~라고 생각한 것이 Bayes라는 사람이다.
Bayes Theorem
P(θ∣D)=P(D)P(D∣θ)P(θ)Posterior=NormalizingConstantLikelihood∗PriorKnowledge
즉, 데이터가 주어졌을때 θ을 관측할 확률 Posterior는 위와 같이 정의할 수 있다. 우리가 찾고자 하는 것은 P(θ)이다.
Incorporating Prior Knowledge
우리는 이미 Likelihood에 대해 P(D∣θ)=θaH(1−θ)aT로 정의했다. 그리고 우리가 50:50이지 않을까 생각한 것이 prior knowledge P(θ)로 적용할 수 있다.
Bayes Theorem에서 P(D)는 이미 일어난 사건에 대한 것이므로 normalizing constant로 취급하여,
P(θ∣D)∝P(D∣θ)P(θ)
가 된다. 이때 P(D∣θ)는 알고있으니 P(θ)는 어떻게 표현할까? 50:50이니 0.5로 표현할 수 있을까? 아니다. 우리가 P(D∣θ)를 Binomial Dist으로 표현했듯이 어떤 Distribution에 의존해 표현할 것이다.
이것을 Bayes은 Beta Distribution을 사용했다. Beta Dist는 특정범위에서 0~1로 confine되어있는 CDF(Cumulative Distribution Function)이기 때문에 Probability 성격을 띄고 있다.
Beta Dist은 다음과 같이 PDF(Probabiliy Density Function)을 이용해 표현할 수 있다.
P(θ)=B(α,β)θα−1(1−θ)β−1,B(α,β)=γ(α+β)γ(α)γ(β), γ(α)=(α−1)!
즉, Beta dist를 표현하기 위한 parameter는 α와β이다.
이를 이용해 Bayes Theorm을 정리하면
P(θ∣D)∝P(D∣θ)∗P(θ)∝θaH(1−θ)aT∗θα−1(1−θ)β−1 = θaH+α−1(1−θ)aT+β−1
이때 B(α,β)는 θ에 의존하지 않는 constant 값이기 때문에 ∝로 처리가 가능하다.
이제 이것을 이용해 most probable and more approximate θ을 찾아보자.
Maximum a Posteriori Estimation
MLE에서는 θ^=argmaxθP(D∣θ)에서 θ를 찾았다.
- P(D∣θ)=θaH(1−θ)aT
- θ^=aT+aHaH
이번에는 MAP에서 θ^=argmaxθP(θ∣D), 즉 Likelihood에 대해서가 아니라 posterior에 대해 maximize하는 것이다.
- P(θ∣D)∝θaH+α−1(1−θ)aT+β−1
- θ^=aH+α+aT+β−2aH+α−1
θ^을 구하는 과정은 미분을 이용해 극점을 구하는 방식으로 MLE와 동일하지만, 관점이 다르다. Likelihood가 아닌 Posterior에 대해 maximize한 결과이다.
Prior Knowledge를 이용해 α와 β를 조정해가며 사전정보를 고려하여 θ^를 구할 수 있다는 것이다.
MLE and MAP
Conclusion from Anedote
MLE:θ^=aT+aHaHMAP:θ^=aH+α+aT+β−2aH+α−1
그럼 결국 MLE와 MAP는 다른건가? 둘의 목적은 most probable and more approximate θ를 찾는 것이지 않은가?
사실은 둘은 같다. aH와 aT가 커지면, α와 β의 영향력은 줄어든다. 하지만 aH와 aT가 작다면 사전정보는 중요한 역할을 할 것이다. 그렇다면 사전정보(Prior) α와 β는 어떻게 결정할까??????
관측값이 많지 않다면 MLE와 MAP는 다른 값이 나올 수도 있고, MAP에서는 잘못된 Prior를 선택한다면 좋지못한 결과가 나올수도 있다.