머신러닝:나이브베이즈

상위개념 : 베이즈 정리

나이브 베이즈 정리는베이즈 정리를 기반으로하여, 모든 특징들이 클래스가 주어졌을 때 서로 독립이라는 순진한(Naive) 가정을 통해 데이터 분류하는 확률적 분류 모델

  • 조건부 독립 (Conditional Independence): 어떤 클래스(결과)가 주어졌을 때, 해당 클래스를 예측하는 데 사용되는 모든 특징(원인)들은 서로 아무런 관련이 없다는 가정한다
    • 예시: 메일이 '스팸'일 때, 메일에 '광고'라는 단어가 포함될 확률과 '대출'이라는 단어가 포함될 확률은 서로 영향을 주지 않고 독립적이라고 가정한다


개념

1. 훈련 :
각 단어가 스펨메일일때 나타날 확률과 정상 메일일떄 나타날 확률을 계산하여 저장.
스펨메일일 사전확률과 정상메일일 사전확룰도 저장

2. 예측 :
새로운 메일 도착하면 그 메일에 포함된 모든 단어 분석
베이즈 정리를 이용해 메일이 스팸일 사후확률과 정상일 사후확률 각각 계산.(이떄 각 단어가 서로 독립적이라는 가정을 사용)
두 확률 중 더 높은 쪽으로 메일을 분려


실제 계산 예시


총 5개의 메일이 있고, '스팸'과 '정상'으로 미리 분류되어 있다고 가정.
스팸 메일 (3개) : “sale”, “buy sale”, “buy now”
정상 메일 (2개) : “now meeting”, “meeting”


2. 훈련 (Training): 확률 계산하기

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” 메일을 '정상'으로 예측.**

  • 머신러닝/나이브베이즈.txt
  • Last modified: 2025/10/04 11:31
  • by masteraccount