임베디드에서 서버까지
베이즈 정리 이해 (Bayes' theorem) 본문
지난번 포스팅에서는 조건부 확률을 이용해 베이즈 정리를 유도해 보았다.
우선 수식의 의미는 아래와 같으며, 베이즈 정리가 어떻게 쓰이는지는 예제를 통해 알아보자.
(본 예제를 precision, recall의 관점에서도 포스팅한 글이 있음 http://smwgood.tistory.com/17)
# 예제 : 암 진단키트 개발
예제 배경 설명>
우리는 통계적으로 암 발생확률이 0.1% 라고 알려져 있는 가상세계에 살고 있다. 우리가 개발한 암 진단키트를 테스트했고, 다음과 같이 성능이 평가되었다. (암환자 중 암환자로 진단할 확률 P(B|A) : 80%. 암환자가 아닌 사람을 암환자로 잘못 진단할 확률 P(B|not A) : 10%)
암으로 진단된 사람 중 제대로 진단될 확률(P(A|B))이 얼마나 될까?
#Prior probability
Prior probability는 사전확률 이다. 이미 우리가 알고 있는 사전정보라고 볼 수 있다.
prior probability <암 발생확률>
prior <정상 확률>
#Likelihood
Likelihood는 우리가 관측한 결과이다.
Likelihood <암 검출률>
Likelihood <암 오검출률>
언뜻 보면 80% 확률로 암이 진단되는 것처럼 보이지만 사실은 그렇지 않다.
우리는 사전확률을 모르는 경우가 많고, 관측값(Likelihood)으로만 확률을 판단하는게 직관적이기 때문에 착각하는 경우가 많다.
#Posterior probability
Posterior probability(P(A|B))는 암 진단키트가 정확히 양성 판정을 내릴 확률이다. 이를 일반화해보면 우리가 설계한 모델이 실제와 같은 확률이라고 할 수 있다.
이제 사후 확률(Posterior probability)을 구해보자.
P(B)는 어떻게 구할 수 있을까?
실제로 P(B)를 모르는 경우가 많기 때문에 P(A), P(not A), P(B|A), P(B|not A)를 가지고 P(B)를 유추해야 한다.
아래 수식은 P(B)를 유추하는 수식이다.
위에서 구한 P(B)를 대입하여 사후확률(Posterior probability)을 구해보자.
*위에서 제시한 모델은 P(X)인 경우와 P(not X)인 경우 두가지 경우만 존재하여 쉽게 구할 수 있었지만, 다른 복잡한 모델에서는 다른 조합들이 많이 발생하기 때문에 이상적인 모델을 구하기보다는, 이를 간소화시킨 naive bayes를 사용하기도 한다.
'Machine Learning' 카테고리의 다른 글
Accuracy, Recall, Precision, F1 Score (0) | 2018.12.08 |
---|---|
베이즈 정리 증명 (Bayes' theorem) (0) | 2018.12.06 |
[머신 러닝] Back Propagation 계산 과정 (0) | 2018.10.03 |
[머신 러닝] Cross-Entropy 미분 (2) | 2018.09.30 |
[머신 러닝] Sigmoid 미분 (0) | 2018.09.30 |