Notice
Recent Posts
Recent Comments
«   2024/04   »
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 29 30
Tags
more
Archives
Today
Total
관리 메뉴

임베디드에서 서버까지

베이즈 정리 이해 (Bayes' theorem) 본문

Machine Learning

베이즈 정리 이해 (Bayes' theorem)

코딩 라이언 2018. 12. 7. 01:36


지난번 포스팅에서는 조건부 확률을 이용해 베이즈 정리를 유도해 보았다.

http://smwgood.tistory.com/14


우선 수식의 의미는 아래와 같으며, 베이즈 정리가 어떻게 쓰이는지는 예제를 통해 알아보자.

(본 예제를 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를 사용하기도 한다.