반응형
Bayes Theorem
- 사전확률과 우도확률을 알 때 사후확률을 계산하는 방법.
- P(A|B)를 알고 있을 때, 관계가 정반대인 P(B|A)를 계산하기 위한 방법
- 결과를 관측한 뒤 원인을 추론할 수 있는 방법.
- Bayes Theorem의 통시적 해석
- 데이터 D의 관점에서 보았을 때 가설 H의 확률을 수정해준다. 새로운 데이터가 들어올 때마가 가설에 대한 확률이 달라진다.
- P(A|B): 사후 확률. 데이터를 확인한 이후 가설의 확률
- P(A): 사전 확률. 데이터를 보기 전 가설의 확률
- P(B|A): likelihood. 데이터가 가설에 포함될 확률
- P(B): 한정 상수. 어떤 가설에든 포함되는 데이터의 비율.
- 예: 검사에서 양성이 나왔을 때 X라는 병에 걸렸을 확률
- A = 병에 걸렸을 사건
- B = 검사에서 양성이 나올 사건
- 가정
- P(A): 1%. 전체 인구의 1%가 X 병에 걸렸다.
- P(B): 검사에서 양성이 나올 확률. P(A) X P(B|A) + P(
A) X P(B|A) --> X라는 병에 걸렸으면서 검사에서 양성이 나올 확률 + X라는 에 안 걸렸으면서 검사에서 양성이 나올 확률. - P(B|A): 99%. 검사 결과의 신뢰도는 99%이다.
- P(A|B)
= P(B|A)P(A)/P(B)
= 0.99 X 0.01/(0.99 X 0.01 + 0.01 X 0.99)
= 0.5
reference
- https://johngrib.github.io/wiki/Bayes-theorem/
- https://m.blog.naver.com/PostView.nhn?blogId=mykepzzang&logNo=220834940797
Naive Bayes Classifier
- Bayes Theorem에서 사건 A와 B가 독립이 아니더라도, 독립이라 가정하고 Bayes Theorem을 이용하여 classification 수행
-
- 스팸 문서 필터링 등 간단한 classification에 자주 사용된다.
- Naive Bayes는 독립된 n개의 feature가 있을 때, C 사건일 확률을 구하는 확률 모델로 볼 수 있다.
- Bayes Theorem을 이용하여 위 식은 아래와 같이 줄일 수 있다.
- posterior: 특정 개체 x가 특정 그룹 c에 속할 확률값
- prior: 특정 그룹 c가 발현할 확률(Class Prior PRobability)
- likelihood: 특정 그룹 c에 대하여, 특정 개체 x가 거기에 속할 조건부 확률이자 likelihood. (셀 수 있는 사건에 대해선 probability distribution function과 likelihood가 동일)
- evidence: 특정 개체가 발생할 확률, predictor prior probability. 모든 그룹에 대해 동일하기 때문에 classification 할 때는 무시하기도 함.
- Naive Bayes Classifier의 한계
- 확률을 계산한 결과가 0이 나오는 경우가 너무 빈번하다.
- 모든 속성에 대한 class likelihood를 곱한다는 특성 때문에, 한 속성이라도 class likelihood가 0이 되면 결과 확률이 무조건 0이 된다.
- class likelihood가 0이 되는 것을 방지하기 위해, 분자에 prior probabilty X bias를, 분모에 bias를 더해준다. bias가 클수록 prior probability를 더 신뢰하는 효과가 있다.
- 종속성이 매우 높은 데이터가 주어지는 경우, 결과가 바람직하다고 확신할 수 없다. Naive Bayes는 데이터 간에 종속성이 없다고 가정하기 때문이다.
Example: Spam filter
- Naive Bayes classifier를 스팸 필터링에 사용해 보자.
- 예시 문장: "급전 대출 상담"
- P(급전|스팸) = 0.1, P(대출|스팸) = 0.2, P(상담|스팸) = 0.1
- P(급전|HAM) = 0.01, P(대출|ham) = 0.05, P(상담|ham) = 0.2
- P(스팸|"급전 대출 상담") = P(스팸)P(급전|스팸)P(대출|스팸)P(상담|스팸) = P(스팸) * 0.1 * 0.2 * 0.1 = 0.002 P(스팸)
- P(ham|"급전 대출 상담") = P(ham) * 0.01 * 0.05 * 0.02 = 0.00001 P(ham)
- P(ham) = P(spam)이라고 가정하면, "급전 대출 상담"이 스팸일 가능성이 더 크다.
- P("급전 대출 상담")은 spam, ham인 경우 모두 같으므로 생략한다.
Reference
반응형