공부일기/Machine-Learning

나이브 베이즈 분류기(Naive Bayes Classification)

pipiiiiii 2024. 7. 24. 01:22

나이브 베이즈 분류기

나이브 베이즈 분류기는 지도 학습의 분류 모델에 속하는 기법이다. 텍스트 분류와 같은 분류 작업에 사용되는 감독형 머신 러닝 알고리즘으로, 분류 작업을 수행할 때 확률 원칙을 사용한다. 또한, 나이브 베이즈는 통계 및 컴퓨터 과학 문헌에서 단순 베이즈, 독립 베이즈를 포함한 다양한 이름으로 알려져 있다. 

 

분서를 여러 범주 중 하나로 판단하는 문제에 대한 대중적인 방법으로 남아있으며, 적절한 전처리를 하면 더 진보된 방법들(예 : 서포트 벡터 머신)과도 충분한 경쟁력을 보인다. 

 

나이브 베이즈 분류에 대해 알기 위해서는 베이즈 정리를 먼저 알아야 한다. 

 

베이즈 정리란?

추론 대상의 사전 확률과 추가적인 정보를 기반으로 해당 대상의 사후 확률을 추론하는 통계적 방법을 말한다. 

조금 더 쉽게 말하자면 조건부 확률을 계산하는 방법 중 하나라는 말이다. 

베이즈 추정의 계산식을 아래와 같다. 

 

베이즈 정리 수식을 구성하는 확률을 설명하면 아래와 같다.

  • p(θ|X) 
    사후확률(Posterior)을 뜻한다. 
    사후확률이란 사건 발생 후의 확률을 의미하는데, 정확히 말하자면 발새한 사건(X)이 특정 확률 분포(θ)에서 나왔을 확률이다. 머신러닝 관점에서는 관측된 특징(X)이 특정 클래스(θ)에서 나왔을 확률이라고도 할 수 있다. 
  • p(X|θ)
    우도 또는 가능도(Likelihood)를 뜻한다. 
    우도란 사후확률과 반대로 특정 확률분호 혹은 클래스(θ)에서 특정 사건 또는 특징(X)이 발생할 확률을 뜻한다. 머신러닝 관점에서는 기존에 있는 데이터의 각 클래스 별로 특정 특징에 대한 분포를 의미한다. 
  • p(θ)
    사전확률(Prior)을 뜻한다.
    특정 특징 또는 사건에 무관하게 미리 알 수 있는 확률이다. 머신러닝 관점에서는 특징(X)가 관측되기 전부터 이미 정해져 있던 클래스(θ)의 분포를 의미한다. 
  • p(X)
    증거(Evidence)를 뜻한다.
    머신러닝 관점에서는 특정 클래스(θ)의 분포에 상관없이 전체 특정 특징(X)이 관측될 확률을 뜻한다. 

 

 

최대 사후확률 추정(MAP)과 최대 우도 추정(MLE)

최대 사후 확률 추청(Maximum a Posteriori, MAP)

최대 사후 확률 추청은 사후 확률을 최대화하는 클래스 혹은 확률 분포의 모수(parameter, (평균, 표준편차 등))을 찾는다는 의미이다. 

 

최대 우도 추정(Maximum Likelihood, MLE)

우도와 사전 확률을 정확하게 계산하는 것이 중요한데, 우도를 계산하기 위해서는 우도 값을 형성하는 데이터의 분포 또한 잘 알아야 한다. 

 

최대 우도 추정은 간단하게 말하면 '특징 X가 주어졌을 때, X를 발생시켰을 가능성을 최대로 하는 모수를 찾는 것'이다. 

즉, 우도를 최대화하는 확률 모형을 만듦으로써 특정 클래스에 대한 특징 데이터의 분포를 더욱 정확하게 알 수 있고, 그로부터 보다 올바른 사후확률값을 구해 나이브 베이즈 분류기의 목적을 달성하게 된다. 

 

결과적으로 나이브 베이즈 분류기의 학습 과정은 우도를 최대화하는 확률 모형을 만드는 과정이며, 다시 말하면 해당 확률 모형의 모수를 정확하게 추정하는 과정이다. 

 

최대 사후확률 추정과 최대 우도 추정 비교

최대 사후확률 추정과 최대 우도 추정 모두 '어떤 특징 혹은 사건'이 발생했을 때 그 사건의 발생 가능성을 최대화하는 '클래스 또는 데이터 분포'를 추론한다는 점에서는 차이점이 없다. 

 

그러나 가장 큰 차이점은 바로 각각의 계산 과정 중 '사전확률의 개입 유무'이다. 

이 말은 우리가 미리 알고 있는 지식을 쓰느냐 안 쓰느냐의 차이다. 

 

최대 사후확률 추정은 사전 확률이 반영되지만 최대 우도 추정은 반영되지 않는다.

 

사전확률은 과거의 경험 또는 개인의 믿음에서 나오는 값으로 사전확률에 분석가의 개입 여지가 있다. 그러므로 같은 문제라도 서로 다른 사전 확률을 사용하여 접근할 수 있다는 의미이다. 하지만 사전확률을 모르는 경우가 대부분이기 때문에 단순하게 균등 분포로 놓는 경우가 많은데 이럴 경우 최대 사후확률 추정은 최대 우도 추정과 같게 된다. 

 

 

나이브 베이즈 분류기의 장단점

장점

  • 결과 도출을 위해 조건부 확률만 계산하면 되므로 간단하고 계산량이 적어 빠르다.
  • 큰 데이터셋에 적합하지만 작은 데이터셋으로도 충분히 훈련시킬 수 있다. 
  • 다중 클래스 예측을 위해서도 사용할 수 있다. 

단점

  • 나이브 가정을 만족하기 위해선 특징 간의 독립성이 어느 정도 필요하다.
  • 연속형보다 이산형 데이터에서 성능이 좋다. 

 

 

나이브 베이즈 분류기 과정

  1. 각 클래스의 사전 확률 P(C)를 계산한다.
  2. 각 특성별로 조건부 확률 P(x_i|C)를 계산한다.
  3. 테스트 데이터의 모든 특성에 대해 조건부 확률을 곱하여 P(x|C)를 구한다.
  4. P(x|C)와 P(C)를 곱하여 사후 확률 P(C|x)를 구한다.
  5. 가장 높은 확률을 가진 클래스를 선택한다.
  6.  

 

 

나이브 베이즈 분류기 코드 공부

https://github.com/DIB-PP/Machine-Learning

 

GitHub - DIB-PP/Machine-Learning

Contribute to DIB-PP/Machine-Learning development by creating an account on GitHub.

github.com

 

 

 

 

 

 

 

 

 

참고 자료