나이브 베이즈

From CS Wiki

Naive Bayes

나이브 베이즈는 확률에 기반한 분류 알고리즘으로, 조건부 확률을 활용하여 데이터가 특정 클래스에 속할 확률을 계산한다. 이 알고리즘은 '나이브(naive)'라는 이름에서 알 수 있듯이, 각 독립 변수가 서로 독립적이라는 가정을 한다. 이러한 가정은 현실에서는 성립하지 않는 경우가 많지만, 나이브 베이즈는 실제 데이터에서 실용적이고 빠른 분류 성능을 보인다.

나이브 베이즈 알고리즘은 특히 텍스트 분류 작업에서 많이 활용됩니다. 예를 들어, 이메일 스팸 필터링, 감정 분석, 문서 분류 등에서 유용하게 사용됩니다. 나이브 베이즈의 핵심 아이디어는 베이즈 정리를 이용해 각 클래스의 사후 확률(posterior probability)을 계산하고, 가장 높은 사후 확률을 가지는 클래스로 분류하는 것입니다.

특징[edit | edit source]

  • 간단하고 빠름: 계산이 효율적이고 빠르기 때문에 대량의 데이터를 처리하는 데 적합하다.
  • 독립성 가정: 각 특징이 서로 독립적이라고 가정하여 계산 복잡도를 낮춘다.
  • 정확도: 다소 비현실적인 독립 가정에도 불구하고, 텍스트 분류 및 특정한 패턴을 가진 데이터에서 높은 성능을 보인다.

예시[edit | edit source]

나이브 베이즈는 초기 이메일 스팸 필터링에 많이 사용 되었다. 대략적인 접근법은 이렇다. 먼저 스팸과 일반 메일에서 특정 단어들이 등장할 확률을 학습한다. 예를 들어, '무료', '당첨' 같은 단어가 등장할 확률이 높으면 스팸 메일일 가능성이 커진다고 예측할 수 있다.

  1. 데이터 준비: 스팸과 일반 메일로 분류된 데이터셋을 준비한다.
  2. 확률 계산: 각 단어(예: '무료', '당첨', '환영합니다')가 스팸과 일반 메일에서 등장할 확률을 학습한다.
  3. 분류: 새로운 이메일이 들어왔을 때, 그 안에 있는 단어들이 각각 스팸 또는 일반 메일에서 등장할 확률을 바탕으로 해당 이메일이 스팸일 확률을 계산한다.
  4. 결과: 계산된 확률에 따라 '스팸' 또는 '일반 메일'로 분류한다.

변형[edit | edit source]

나이브 베이즈 모델에는 여러 변형이 있는데, 대표적으로 가우시안 나이브 베이즈(Gaussian Naive Bayes), 멀티노미얼 나이브 베이즈(Multinomial Naive Bayes), 그리고 베르누이 나이브 베이즈(Bernoulli Naive Bayes)가 있습니다.