나이브 베이즈 분류
[머신러닝] 나이브 베이즈(Naive Bayes) 분류 (2/2) - 베이즈 정리 (Bayes' Theorem) 쉽게 이해하기 정리
-
조건 확률은 2가지 종류 존재
-
두 사건이 독립적일 때(두 사건이 서로 영향을 끼치지 않음)
P(A∩B)=P(A)∗P(B)
P(A∣B)=P(A)
P(B∣A)=P(B)
-
두 사건이 종속적일 때
P(A∩B)=P(A)∗P(B∣A)
조건 확률의 정의를 사용해서 나이브 베이즈 정리를 증명할 수 있다.
Bayes' Theorem
P(B∣A)=P(A)P(A∣B)P(B)
증명: P(B∣A)=P(A)P(A∩B)=P(A)P(B∩A)=P(A)P(A∣B)P(B)
다항일 경우....
P(A∣w0,w1,...,wn)=P(w0,w1,...,wn)P(w0,w1,...,wn∣A)∗P(A)
문제
나이브 베이즈 정리를 사용한 스팸 메일 필터를 구현했다고 하자. 이메일 10개, 스팸 메일이 3개, 'free'라는 단어가 들어간 메일이 4개가 있다고 하자. 이제 'free'가 들어간 이메일이 스팸 메일인지 아닌지 판단하자.
p(spam)=103
p(free)=104
P(free∣spam)=32 (스팸 메일 중 free가 들어간 이메일의 확률)
- 답: P(spam∣free)=P(free)P(free∣spam)P(spam)=10432∗103=0.5
Confusion matrix, Precision, Recall, Accuracy, F1-score
분류성능평가지표 - Precision(정밀도), Recall(재현율) and Accuracy(정확도) 정리
-
True Positive(TP) : 실제 True인 정답을 True라고 예측 (정답)
-
False Positive(FP) : 실제 False인 정답을 True라고 예측 (오답)
-
False Negative(FN) : 실제 True인 정답을 False라고 예측 (오답)
-
True Negative(TN) : 실제 False인 정답을 False라고 예측 (정답)
-
Precision
모델이 True라고 분류한 것 중 실제 True인 것의 비율. Positive 정답률
(Precision) = TP+FPTP
- Recall
실제 True인 것 중 모델이 True라고 예측한 것의 비율. sensitivity, hit rate.
(Recall) = TP+FNTP
Precision과 Recall은 trade-off 관계이고 두 지표가 높을수록 좋은 모델이다.
- Accuracy
True를 True로, False를 False로 옳게 예측한 경우. 가장 직관적으로 모델의 성능을 나타내는 평가 지표. 그러나 data의 domain이 불균형하면 예측 성능이 낮아진다.
(Accuracy) = TP+FN+FP+TNTP+TN
- F1 Score
Precision과 Recall의 조화 평균. 데이터 label이 불균형할 때 모델의 성능을 정확히 평가할 수 있고 성능을 하나의 숫자로 표현한다.
(F1-score) = 2 x Precision+RecallPrecisionxRecall