상위개념 : 베이즈 정리
1. 훈련 :
각 단어가 스펨메일일때 나타날 확률과 정상 메일일떄 나타날 확률을 계산하여 저장.
스펨메일일 사전확률과 정상메일일 사전확룰도 저장
2. 예측 :
새로운 메일 도착하면 그 메일에 포함된 모든 단어 분석
베이즈 정리를 이용해 메일이 스팸일 사후확률과 정상일 사후확률 각각 계산.(이떄 각 단어가 서로 독립적이라는 가정을 사용)
두 확률 중 더 높은 쪽으로 메일을 분려
총 5개의 메일이 있고, '스팸'과 '정상'으로 미리 분류되어 있다고 가정.
스팸 메일 (3개) : “sale”, “buy sale”, “buy now”
정상 메일 (2개) : “now meeting”, “meeting”
2-1. 사전 확률 계산
$ P(\text{스팸}) = \frac{\text{스팸 메일 수}}{\text{전체 메일 수}} = \frac{3}{5} = 0.6 $
$ P(\text{정상}) = \frac{\text{정상 메일 수}}{\text{전체 메일 수}} = \frac{2}{5} = 0.4 $
2-2. 단어별 가능도 계산
스팸 메일 속 단어: “sale”, “buy”, “sale”, “buy”, “now” (총 5개)
(전체 단어 종류: “sale”, “buy”, “now”, “meeting” 4개)
$ P(\text{“buy”}|\text{스팸}) = \frac{2+1}{5+4} = \frac{3}{9} $
$ P(\text{“sale”}|\text{스팸}) = \frac{2+1}{5+4} = \frac{3}{9} $
$ P(\text{“now”}|\text{스팸}) = \frac{1+1}{5+4} = \frac{2}{9} $
$ P(\text{“meeting”}|\text{스팸}) = \frac{0+1}{5+4} = \frac{1}{9} $
정상 메일 속 단어 : “now”, “meeting”, “meeting” (총 3개)
$ P(\text{“buy”}|\text{정상}) = \frac{0+1}{3+4} = \frac{1}{7} $
$ P(\text{“sale”}|\text{정상}) = \frac{0+1}{3+4} = \frac{1}{7} $
$ P(\text{“now”}|\text{정상}) = \frac{1+1}{3+4} = \frac{2}{7} $
$ P(\text{“meeting”}|\text{정상}) = \frac{2+1}{3+4} = \frac{3}{7} $
—-
3. 예측 (Prediction): “buy meeting” 메일 분류하기
“buy meeting” 이라는 새로운 메일이 도착했을 때, 이 메일이 스팸인지 정상인지 계산
3-1. '스팸'일 사후 확률 계산
$ P(\text{스팸} | \text{“buy meeting”}) \propto P(\text{“buy”}|\text{스팸}) \times P(\text{“meeting”}|\text{스팸}) \times P(\text{스팸}) $
$ = \frac{3}{9} \times \frac{1}{9} \times 0.6 $
$ = \frac{3}{81} \times 0.6 $
$ \approx 0.037 \times 0.6 = 0.0222 $
3-2. '정상'일 사후 확률 계산
$ P(\text{정상} | \text{“buy meeting”}) \propto P(\text{“buy”}|\text{정상}) \times P(\text{“meeting”}|\text{정상}) \times P(\text{정상}) $
$ = \frac{1}{7} \times \frac{3}{7} \times 0.4 $
$ = \frac{3}{49} \times 0.4 $
$ \approx 0.061 \times 0.4 = 0.0244 $
—-
4. 최종 결정
* '스팸'일 확률 점수: 0.0222
* '정상'일 확률 점수: 0.0244
'정상'일 확률 점수가 더 높으므로, 나이브 베이즈 분류기는 “buy meeting” 메일을 '정상'으로 예측.**