본문 바로가기
인공지능학/기계학습

[기계학습] 4. 분류의 이해, Naïve Bayes

by iwbap 2024. 8. 1.
728x90

분류의 이해

분류는 기계학습의 중요한 분야로, 데이터를 미리 정의된 범주(클래스) 중 하나로 분류하는 작업입니다. 이번 글에서는 분류의 개요, 분류 모델링, 비선형 분류의 이해에 대해 알아보고, Naïve Bayes 분류기에 대해 자세히 살펴보겠습니다.


분류의 개요

분류 : 분류는 주어진 입력 데이터가 어느 클래스에 속하는지를 예측하는 작업입니다. 분류 문제의 목표는 미리 정의된 여러 클래스 중 하나를 예측하는 것입니다.

 

예제

  • 스팸 필터링 : 이메일이 스팸인지 아닌지 분류
  • 질병 진단 : 환자의 증상 데이터를 기반으로 질병을 진단

 

분류 문제는 크게 두 가지로 나눌 수 있습니다

  • 이진 분류 : 두 개의 클래스로 분류 (예 : 스팸/비스팸)
  • 다중 클래스 분류 : 세 개 이상의 클래스로 분류 (예 : 붓꽃 품종 분류)

분류 모델링

분류 모델링은 데이터를 사용하여 분류 모델을 구축하는 과정입니다. 일반적으로 다음 단계를 포함합니다:

  1. 데이터 수집 : 모델을 학습시키기 위한 데이터를 수집합니다.
  2. 데이터 전처리 : 데이터를 정제하고, 모델 학습에 적합한 형태로 변환합니다.
  3. 특징 선택 및 추출 : 중요한 특징을 선택하고, 새로운 특징을 추출합니다.
  4. 모델 학습 : 데이터를 사용하여 분류 모델을 학습시킵니다.
  5. 모델 평가 : 학습된 모델의 성능을 평가합니다.
  6. 모델 배포 : 모델을 실제 환경에 적용합니다.

 

주요 분류 알고리즘

  • 로지스틱 회귀
  • 결정 트리
  • 서포트 벡터 머신 (SVM)
  • K-최근접 이웃 (K-NN)
  • Naïve Bayes

비선형 분류의 이해

비선형 분류 : 비선형 분류는 데이터를 선형적으로 분리할 수 없는 경우를 다룹니다. 비선형 분류 모델은 복잡한 데이터 패턴을 학습할 수 있습니다.

 

비선형 모델의 예

  • 서포트 벡터 머신 (SVM) with RBF 커널 : 비선형 경계를 학습하는 강력한 모델입니다.
  • 신경망 : 여러 계층의 뉴런을 통해 복잡한 패턴을 학습합니다.

비선형 모델의 장점

  • 복잡한 데이터 패턴을 잘 학습합니다.
  • 고차원 공간에서의 분류 성능이 뛰어납니다.

단점

  • 학습 시간이 오래 걸릴 수 있습니다.
  • 과적합(overfitting)의 위험이 있습니다.

Naïve Bayes

Naïve Bayes는 확률적 분류기로, 베이즈 정리를 기반으로 합니다. 단순하고 빠르며, 특히 텍스트 분류 문제에서 자주 사용됩니다.

확률적 분류기의 이해

확률적 분류기 : 확률적 분류기는 입력 데이터가 각 클래스에 속할 확률을 계산하여 예측을 수행하는 모델입니다. Naïve Bayes는 대표적인 확률적 분류기입니다.

 

베이즈 정리 : 베이즈 정리는 사후 확률을 계산하는 방법을 제공합니다.

여기서

  • P (A |B ) : 사건 B가 발생했을 때 사건 A가 발생할 확률 (사후 확률)
  • P (B |A ) : 사건 A가 발생했을 때 사건 B가 발생할 확률 (우도)
  • P (A ) : 사건 A가 발생할 확률 (사전 확률)
  • P (B ) : 사건 B가 발생할 확률

Naïve Bayes 분류기의 이해

Naïve Bayes 분류기 : Naïve Bayes 분류기는 특징들 간의 조건부 독립성을 가정하여 각 클래스의 사후 확률을 계산하고, 가장 높은 사후 확률을 가진 클래스로 분류하는 모델입니다.

 

조건부 독립성 가정 : 각 특징이 독립적으로 클래스에 영향을 미친다고 가정합니다. 즉,

 

Naïve Bayes 분류기 알고리즘

  1. 사전 확률 P (C ) 계산 : 각 클래스의 사전 확률을 계산합니다.
  2. 우도 P (X |C ) 계산 : 각 특징이 주어진 클래스에서 발생할 확률을 계산합니다.
  3. 사후 확률 P (C |X ) 계산 : 베이즈 정리를 사용하여 각 클래스의 사후 확률을 계산합니다.
  4. 분류 : 가장 높은 사후 확률을 가진 클래스로 입력 데이터를 분류합니다.

수식 : P (C |X ) ∝ P (X |C ) ⋅ P (C )

 

예제 : 텍스트 분류 문제에서 Naïve Bayes 분류기를 적용하는 과정은 다음과 같습니다:

  1. 데이터 수집 : 텍스트 데이터와 해당 레이블을 수집합니다.
  2. 특징 추출 : 텍스트 데이터를 벡터 형태로 변환합니다 (예: 단어 빈도, TF-IDF).
  3. 모델 학습 : Naïve Bayes 분류기를 학습시킵니다.
  4. 예측 : 새로운 텍스트 데이터에 대해 예측을 수행합니다.

 

장점

  • 단순하고 빠르며, 계산 효율이 높습니다.
  • 높은 차원의 데이터에서 잘 동작합니다.
  • 텍스트 분류와 같은 특정 도메인에서 좋은 성능을 보입니다.

단점

  • 조건부 독립성 가정이 현실적이지 않을 수 있습니다.
  • 훈련 데이터에 민감하며, 작은 데이터셋에서 성능이 저하될 수 있습니다.

이 글에서는 분류의 개요, 분류 모델링, 비선형 분류의 이해와 Naïve Bayes 분류기에 대해 알아보았습니다. 분류는 다양한 분야에서 널리 사용되며, Naïve Bayes 분류기는 특히 텍스트 분류에서 자주 사용되는 강력한 도구입니다. 이러한 개념들을 잘 이해하고 활용하면 분류 문제를 효과적으로 해결할 수 있습니다.

728x90