최근 수정 시각 : 2021-03-06 12:44:49

나이브 베이지안 알고리즘


1. 개요2. 정의와 활용
2.1. 나이브 베이지안 알고리즘의 정의2.2. 나이브 베이지안 알고리즘의 활용

1. 개요

나이브 베이지안(Naive Bayesian) 알고리즘은 베이즈 정리를 이용한 확률적 기계학습 알고리즘이다. 사전 확률에 기반을 두고 사후 확률을 추론하는 확률적 예측을 하는데, 이 때 모든 사건이 독립사건이라는 순진한(naive) 가정을 하고 있기 때문에 나이브 베이지안이라는 이름을 가지게 되었다.

2. 정의와 활용

2.1. 나이브 베이지안 알고리즘의 정의

두 개의 사건 A와 B에 대해서 조건부 확률에 대한 베이즈 정리는 다음과 같다.
[math(\displaystyle P(A|B)={P(B|A)P(A)\over P(B)})]
여기에서 [math(P(A))]를 사전 확률(prior probability)라 하고, [math(P(A|B))]를 사후 확률(posterior probability)이라 한다. 베이즈 정리는 사전 확률을 통해서 사후 확률을 예측하거나 추론하는데 사용할 수 있다는 점에서 의미가 있다.

만약 사건 B가 단순하다면 사후 확률 [math(P(A|B))]를 추정하는 것이 비교적 간단하겠지만, 사건 B는 여러 개의 사건으로 구성될 수도 있다. 이 경우 베이즈 정리는 다음과 같이 확장된다.
[math(\displaystyle P(A|B)=P(A|B_1 \cap B_2 \cap \cdots \cap B_n)={P(B_1 \cap B_2 \cap \cdots \cap B_n|A)P(A)\over P(B)})]

여기서 나이브 베이지안 알고리즘은 매우 순진한 가정을 한다. 즉, B를 구성하는 모든 사건들이 서로 독립사건이라는 가정을 하는 것이다. 이러한 가정을 통해 우변이 비교적 계산이 쉬운 형태로 변한다.
[math(\displaystyle P(A|B_1 \cap B_2 \cap \cdots \cap B_n)={P(B_1|A)P(B_2|A) \cdots P(B_n|A)P(A)\over P(B)})]

주어진 자료에 대해서 위와 같은 확률 표현을 만들어 놓고 이를 이용해서 판단 규칙을 끌어낸다. 이 때 우리가 알고 있는 값은 [math(P(A))] 뿐이며, 나머지는 문제 상황에 따라 적절하게 결정해야 한다. 대표적인 것이 가능한 선택지 중에서 가장 높은 [math(P(A|B))]를 주는 [math(P(B_i|A))]들을 찾는 사후 확률 최대화(maximum a posteriori) 방법이다. 간단한 예를 들자면 [math(P(B_i|A))]가 모두 [math(\sigma)]의 표준 편차를 가지는 가우스 함수 [\math(N(\mu, \sigma))]라고 가정하고, 적절한 최적화(optimization) 방법을 동원하여 [math(P(A|B))]를 최대화 시키는 가우스 함수의 평균 [math(\mu)]를 찾는 것이다. 여기서 몇가지 가정이 더 들어간다면 이 최적화 문제를 손으로 풀 수 있고, 대부분의 실용적인 경우에는 컴퓨터로 푼다. 최적화 문제를 풀 때 분모의 [math(P(B))]는 결과에 영향을 미치지 않으므로 생략하거나 상수 [\math(K)]로 표현시켜 놓고 푸는 경우가 대부분이다.

2.2. 나이브 베이지안 알고리즘의 활용

나이브 베이지안 알고리즘은 스팸메일 필터, 텍스트 분석기, 추천 시스템, 의학적 질병 진단 등의 광범위한 분야에서 예측과 추론을 위한 분류기로 많이 활용되고 있다.

나이브 베이즈 분류기(Naive Bayes Classifier)는 특성들 사이의 독립적 가정을 기반으로 텍스트 문서를 여러 범주로 분류하는 대표적인 분류기로 사용되고 있다. 나이브 베이즈 분류기는 지도 학습(supervised learning) 환경에서 매우 효율적으로 훈련될 수 있고, 분류에 필요한 파라미터를 추정하기 위한 훈련 데이터의 양이 매우 적다는 장점이 있다. 특히, 이름에서 볼 수 있듯이, 매우 순진한(naive) 가정을 하고 있음에도 불구하고, 스팸 필터와 같은 복잡한 문제의 해결에서도 아주 우수한 성능을 보인다.

분류