나이브 베이즈 분류 완벽 정리_ADsP 3과목

🧠 나이브 베이즈 분류 완벽 정리 💡

“빠르고 가볍지만 놀랍게 똑똑한 확률 기반 분류기 📊”


🎯 1️⃣ 나이브 베이즈란?

나이브 베이즈 분류는

“확률”을 이용해 데이터를 분류하는 알고리즘이에요!

💬 쉽게 말해,

“새로운 데이터가 주어졌을 때,

각 클래스(예: 스팸/정상)일 확률을 계산하고

확률이 가장 높은 클래스로 분류” 하는 모델이에요 ✅


🧮 2️⃣ 베이즈 정리 💫

핵심 원리는 바로 베이즈 정리(Bayes’ Theorem)

P(A | B) = (P(B | A) × P(A)) / P(B)

즉,

**“B가 주어졌을 때 A일 확률”**은

**“A일 때 B가 나올 확률 × A의 사전확률”**로 계산할 수 있다는 뜻이에요!

📘 여기서

  • P(A) : 사전확률 (Prior Probability)
  • P(B | A) : 가능도 (Likelihood)
  • P(A | B) : 사후확률 (Posterior Probability)

💡 나이브 베이즈는 이 공식을 여러 변수에 적용해

각 클래스의 사후확률을 계산하고,

가장 확률이 큰 클래스를 예측해요!


🌈 3️⃣ “나이브(순진한)”의 의미는?

👉 각 변수(피처)들이 서로 독립이라고 “순진하게” 가정한다는 뜻이에요!

예를 들어, 이메일이 스팸인지 아닌지 판단할 때

  • 단어 “free”, “deal”, “click” 이 함께 등장해도
  • 각 단어가 독립적으로 스팸에 영향을 준다고 가정하는 거예요.

이 때문에 계산이 아주 단순하고 빠르게 가능해요 ⚡


🧩 4️⃣ 주요 종류별 특징 📚

종류데이터 형태예시설명
🧾 멀티노미얼 NB단어 개수, 빈도 기반스팸 분류, 뉴스 분류가장 일반적, 단어 출현 횟수 이용
🔢 베르누이 NB단어의 존재 여부(0/1)키워드 기반 분류단어의 ‘유무’만 고려
📈 가우시안 NB연속형 데이터성적 예측, 센서 데이터변수들이 정규분포를 따른다고 가정
⚖️ 컴플리먼트 NB불균형 데이터희귀 클래스 분류희귀 데이터에 강함

🧴 5️⃣ 평활화(Smoothing) ✨

문제점 ❌

👉 훈련 데이터에 없는 단어가 테스트에 나오면 확률이 0이 되어버림!

해결법 ✅

👉 라플라스 평활화(Add-One Smoothing)

“모든 단어가 최소 1번은 나왔다고 가정하자!”

이렇게 하면 확률 0 문제를 방지할 수 있어요 🙌


⚙️ 6️⃣ 작동 과정 한눈에 보기

1️⃣ 사전확률 계산

→ 클래스 비율 (예: 스팸 메일 40%, 정상 메일 60%)

2️⃣ 가능도 계산

→ 각 단어가 클래스별로 등장할 확률

3️⃣ 사후확률 계산

→ P(스팸 | 단어들) = P(단어1|스팸) × P(단어2|스팸) × … × P(스팸)

4️⃣ 비교 후 예측

→ 확률이 더 큰 쪽이 정답 🎯


✏️ 7️⃣ 예시로 이해하기 💬

📨 이메일이 “cheap deal now” 라고 할 때

  • P(스팸)=0.4, P(정상)=0.6
  • 단어별 확률:
  • 스팸: cheap=0.10, deal=0.08, now=0.05
  • 정상: cheap=0.01, deal=0.02, now=0.01

👉 계산하면

  • 스팸 확률 ≈ 0.4 × 0.10 × 0.08 × 0.05 = 0.0016
  • 정상 확률 ≈ 0.6 × 0.01 × 0.02 × 0.01 = 0.0000012

📊 결과: 스팸 확률이 훨씬 크므로 → 스팸 메일로 분류! 💌


🧠 8️⃣ 장단점 정리표

구분장점 💪단점 ⚠️
계산속도매우 빠르고 간단피처 간 상관이 강하면 부정확
데이터양적은 데이터에서도 잘 동작연속형 데이터는 정규성 가정 필요
적용분야텍스트, 뉴스, 스팸, 감성분석관계 복잡한 데이터에는 부적합

📊 9️⃣ 평가 지표

지표의미설명
🎯 정확도(Accuracy)전체 중 맞춘 비율불균형 데이터에 취약
💎 정밀도(Precision)예측한 긍정 중 실제 긍정FP 줄이는 지표
🔍 재현율(Recall, 민감도)실제 긍정 중 맞춘 비율FN 줄이는 지표
⚖️ F1 Score정밀도·재현율 조화평균불균형 데이터에 적합
📈 ROC-AUC전체 분류 능력확률 기반 모델 비교 시 유용

🧾 10️⃣ ADsP 시험 포인트 요약 ✨

핵심공식: P(클래스 | 입력) ∝ P(입력 | 클래스) × P(클래스)

나이브 가정: 피처 간 독립

라플라스 평활화: 확률 0 방지

멀티노미얼 NB: 텍스트(단어 빈도)

베르누이 NB: 단어 유무

가우시안 NB: 연속형 변수

빠르고 간단하지만, 상관 변수엔 약함


🌟 한 줄 요약

✨ “나이브 베이즈 = 확률로 말하는 똑똑한 분류기!”

빠르고 가볍고, 텍스트 데이터엔 정말 강력해요 💪