통계 실험실 차트
넘스탯 로고
넘스탯
LEARN · SIMULATE · VERIFY

확률부터 LLM까지, AI를 올바르게 이해하고 활용하기 위한 자기주도 학습 플랫폼

로그인
학습 메뉴
도움말

나이브 베이즈 분류기

마일스톤 학습법으로 단계별 완전 정복
나이브베이즈
기계학습
분류
텍스트분류
스팸필터
감정분석
이 학습을 통해 달성할 수 있는 목표
기초 이해
  • • 나이브 베이즈의 기본 개념 이해
  • • 특징 독립 가정의 의미 파악
  • • 간단한 분류 문제 해결
심화 학습
  • • 나이브 베이즈 공식 완벽 이해
  • • 라플라스 스무딩 적용
  • • 로그 확률로 언더플로우 방지
  • • 실전 텍스트 분류 구현
실무 적용
  • • 나이브 베이즈 변형 선택 및 활용
  • • 대규모 데이터셋에 최적화
  • • 특징 선택 및 하이퍼파라미터 튜닝
  • • 앙상블 기법 결합
학습 로드맵

각 단계를 클릭하면 해당 학습 내용을 볼 수 있습니다

기초 이해
개념 정의와 기본 원리
30
클릭
심화 학습
공식 유도와 다양한 예시
50
클릭
실무 적용
실제 케이스와 고급 응용
80

학습 진도 (완료한 단계)

0%

기초: 간단하지만 강력한 분류 알고리즘

난이도 undefined/5
약 30분

나이브 베이즈는 베이즈 정리를 활용한 기계학습 분류 알고리즘입니다. "나이브(순진한)"라는 이름이 붙은 이유는 모든 특징이 독립적이라는 단순한 가정을 하기 때문입니다. 놀랍게도 이 단순한 가정만으로도 많은 실무 문제에서 뛰어난 성능을 보입니다.

나이브 베이즈 분류기
다이어그램이 말하는 것

핵심 가정: 모든 특성이 서로 독립이라고 단순화 → 빠른 계산 가능

공식: P(클래스|특성들) ∝ P(클래스) × ∏ P(특성|클래스)

스팸 필터·텍스트 분류·감성 분석에서 가장 자주 쓰이는 분류기

핵심 포인트
  • 베이즈 정리 + 특징 독립 가정 = 나이브 베이즈
  • 빠른 학습과 예측 속도
  • 적은 데이터로도 좋은 성능
  • 텍스트 분류에 특히 효과적
간단한 예시

스팸 분류 예시
훈련 데이터:
- 스팸 메일 100개, 정상 메일 100개
단어 출현 빈도:
| 단어 | 스팸에서 | 정상에서 |
|--------|---------|---------|
| "무료" | 60회 | 10회 |
| "회의" | 5회 | 40회 |
새 이메일: "무료 회의"
P(스팸|"무료 회의") ∝ P("무료"|스팸) × P("회의"|스팸) × P(스팸)
= 0.6 × 0.05 × 0.5
= 0.015
P(정상|"무료 회의") ∝ P("무료"|정상) × P("회의"|정상) × P(정상)
= 0.1 × 0.4 × 0.5
= 0.02
결론: 0.02 > 0.015이므로 정상 메일로 분류

이해도 확인하기

정답:

모든 특징(단어)이 서로 독립적이라고 가정하기 때문입니다. 실제로는 단어들이 서로 연관되어 있지만, 이를 무시하고 독립이라고 "순진하게" 가정합니다.

정답:

텍스트 데이터는 특징(단어)의 개수가 매우 많지만, 나이브 베이즈는 각 특징을 독립적으로 계산하므로 빠르고 효율적입니다. 또한 적은 데이터로도 학습이 가능합니다.

나이브 베이즈는 베이즈 정리에 특징 독립 가정을 추가한 것입니다.
【수학적 공식】
P(C|X) = P(X|C) × P(C) / P(X)
특징 독립 가정:
P(X|C) = P(x₁|C) × P(x₂|C) × ... × P(xₙ|C)
따라서:
P(C|X) ∝ P(C) × ∏ᵢ P(xᵢ|C)
비율만 비교하면 되므로 P(X)는 생략 가능합니다.

수학적 공식

C는 클래스(카테고리), x₁, x₂, ..., xₙ은 특징들입니다. 각 특징의 확률을 곱해서 전체 확률을 계산합니다.

다양한 예시로 이해하기
예시 1: 감정 분석: 영화 리뷰 분류

영화 리뷰가 긍정인지 부정인지 판단합니다.

훈련 데이터
긍정 리뷰: "좋은 영화", "재미있는 스토리", "훌륭한 연기"
부정 리뷰: "지루한 영화", "재미없는 스토리", "형편없는 연기"
단어 확률 (라플라스 스무딩 적용)
P("재미있는"|긍정) = 2/10 = 0.2
P("재미있는"|부정) = 0/10 = 0.01 (smoothing)
P("영화"|긍정) = 3/10 = 0.3
P("영화"|부정) = 3/10 = 0.3
새 리뷰: "재미있는 영화"
P(긍정|"재미있는 영화") ∝ 0.5 × 0.2 × 0.3 = 0.03
P(부정|"재미있는 영화") ∝ 0.5 × 0.01 × 0.3 = 0.0015
결론: 긍정 리뷰로 분류

해답:

긍정 확률이 20배 높으므로 긍정으로 분류합니다.

라플라스 스무딩은 훈련 데이터에 없던 단어가 나타날 때 확률이 0이 되는 것을 방지합니다.

연습 문제

힌트:

베이즈 정리를 사용하세요. P(정상)=0.6입니다.

정답:

약 80%

해설:

P(스팸|"무료") = 0.6×0.4 / (0.6×0.4 + 0.1×0.6) = 0.24 / 0.30 = 0.8

【나이브 베이즈의 변형】
1. Multinomial Naive Bayes: 텍스트 분류에 적합. 단어 출현 횟수 고려
2. Bernoulli Naive Bayes: 단어의 유무만 고려 (0 or 1)
3. Gaussian Naive Bayes: 연속형 변수에 적합. 정규분포 가정
【특징 독립 가정의 한계】
실제로는 특징들이 독립적이지 않지만, 놀랍게도 나이브 베이즈는 잘 작동합니다. 그 이유는:
• 독립 가정이 깨져도 비율 순서는 유지되는 경우가 많음
• 과적합(overfitting)을 방지하는 정규화 효과
【하이퍼파라미터 튜닝】
라플라스 스무딩: α=1이 기본이지만, 데이터에 따라 조정 가능
특징 선택: TF-IDF, Chi-square로 중요한 특징만 선택
앙상블: 여러 나이브 베이즈를 투표로 결합

실무에서의 활용
IT/인터넷
실시간 스팸 필터

예시:

Gmail, Outlook 등은 나이브 베이즈를 기반으로 초당 수십만 건의 이메일을 분류합니다.

왜 중요한가?

빠른 속도와 적은 메모리로 대규모 처리가 가능합니다.

실제 사례 분석: Kaggle Spam Classification: 98% 정확도 달성
배경

SMS 스팸 데이터셋으로 나이브 베이즈의 성능을 검증합니다.

문제 상황

5,574개의 SMS 메시지를 스팸과 정상으로 분류

데이터 설명

스팸 747개 (13.4%), 정상 4,827개 (86.6%)

분석 방법

Multinomial Naive Bayes + TF-IDF 벡터화

해결책 및 결과

정확도 98.2%, F1-score 0.94

단순한 알고리즘이지만 딥러닝과 비슷한 성능

결론:

텍스트 분류에서 나이브 베이즈는 여전히 강력한 baseline입니다.

이론 페이지로 돌아가기