먼저 베이즈의 정리를 한번 보자꾸나
 
P(A|B) = P(B|A)P(A)/P(B)

여기에서
P(A|B) - 사건B가 발생한 상태에서 사건A가 발생할 조건부 확률
P(B|A) - 사건A가 발생한 상태에서 사건B가 발생할 조건부 확률
P(A) - 사건A가 발생할 확률, B에 대한 어떠한 정보도 없는 상태에서 A가 발생할 확률
P(B) - 사건B가 발생할 확률, A에 대한 어떠한 정보도 없는 상태에서 B가 발생할 확률
헷갈린다..


간단하게 공식이 어떻게 유도되는 지 보자.

사용자 삽입 이미지


P(B|A) = P(A^B)/P(A) 이므로
P(A^B) = P(B|A)P(A)라고 쓸 수 있다.

따라서
P(A|B) = P(A^B)/P(B) = P(B|A)P(A)/P(B)

벤다이어그램을 통하여 정리자체를 이해하는 건 참 쉬워보인다.
그럼 이제 예제를 공부하여 확실하게 알아두자.



그렇타면! 예제를 통해 알아보자 많이도 필요없고 하나면 충분할것같다.

별사탕문제^^

건빵 2봉지를 샀다. 그래서 별사탕도 2봉지다. 첫번째 봉지에는 하얀별사탕이 10개, 분홍별사탕이 30개 들었고, 두번째 봉지에는 각각 20개씩 들었다. 두봉지의 별사탕을 하나의 접시에 담고, 눈을 감은채 별사탕하나를 집어들었다. 눈을 뜨고 집어든 별사탕을 지그시 살펴보니 분홍별사탕이다. 이 별사탕이 첫번째 봉지에서 나왔을 확률은?

별사탕이 40개씩 들었다는게 알려지면 엄청 잘팔리겠군.
음... 첫번째봉지에 분홍별사탕이 더 많이 있었으니,
아무리못해도 50%이상의 확률이 나와야 한다.

풀어보자. 일단 문제를 확률적으로 표현해보면 아래와 같다.
P(첫번째봉지|분홍별사탕) = P(분홍별사탕|첫번째봉지)P(첫번째봉지)/P(분홍별사탕)

P(분홍별사탕|첫번째봉지) = 30/40
P(첫번째봉지) = 40/80
P(분홍별사탕) = 50/80

각각의 확률을 적용하면,
P(첫번째봉지|분홍별사탕) = (30/40) * (40/80) / (50/80)
 = (30 * 40 * 80) / (40 * 80 * 50) = 30/50 = 60/100 = 60%

따라서, 답은 60%이다.



베이즈의 정리는 이쯤해두고, 분류기를 보자.


단어들로 이루어진 문서들을 미리 분류된 카테고리 중 하나로 분류하는 상황이라고 하자.  즉, 카테고리를 c라하고 특정문서에 들어있는 단어들을 w1,w2,...,wN 이라 한다면,
우리가 구해야 하는 값은 P(c| w1,w2,...,wN ) 이고, 베이스의 정리를 이용하면,

P(c| w1,w2,...,wN) = P(w1,w2,...,wN |c) P(c) / P(w1,w2,..., wN )

베이스의 정리를 이용하면, 이미 알고 있는 확률들을 이용하여 특정한 문서가 어느 카테고리에 들어갈 지를 결정할 수 있다. 즉, 확률이 가장 높은 카테고리에 들어갈 가능성이 가장 높은 것이다.

위의 공식들을 잘 살펴보자. 모든 카테고리에 대하여 확률을 계산하고, 이중 가장 큰 것을 찾아야 하는데, 모든 카테고리의 확률계산에서 분모는 모두 P(w1,w2,...,wN)으로 같다. 따라서, P(w1,w2,...,wN)을 계산할 필요가 없다.

그리고, P(w1,w2,...,wN | c)의 계산은 또 다시 어려운 문제이다. 그러나, 과감한 가정을 통하여 이 계산을 단순화 할 수 있다. 즉, 모든 w들은 서로 독립적이라고 가정하여,

P(w1,w2,...,wN |c ) = P(w1|c)P(w2|c)P(w3|c)...P(wN|c)

이렇게 쓸 수 있으며, 바로 이 조건이 베이지안을 Naive 하게 만든 요소이다.

폴 그레이엄선생처럼 모든 c에 대하여 P(c)를 같게 만들면 계산이 훨씬 더 쉬워지지만,
거기까지는 가정하지 말자.


그렇게 나누어야 할 부분을 곱하면 돼, 세개면 0.33333, 두개면 0.5 요런식인데,
트레이닝 데이터를 따진다면 트레이닝 데이터의 비율대로 나누어주어야 한다.
나누어야 하는것이 두개라도 트레이닝 데이터의 비율이 0.3, 0.7이라면 0.3과 0.7로 곱해야한다.

이제 결론이다.

Max P(c| w1,w2,...,wN) = Max Mul P(wi|c) P(c)
   c                                   c


위 식에서 P 가 Max가 되는 c를 찾으면 Naive Bayesian Classifier 이다.


'DataMining' 카테고리의 다른 글

연관규칙 (Association Rule)  (0) 2014.06.16
평가기법 - 오류율 계산  (0) 2014.06.16
K-Means  (0) 2014.06.16
교사학습과 비교사학습  (0) 2014.06.16
Clustering과 Classification  (0) 2014.06.16
Posted by 긍정왕오킹