Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

나이브 베이즈 분류기가 '나이브'라고 불리는 이유는 무엇일까?

베이지안 분류기란?

베이지안 분류기(Bayesian Classifier)는 통계학에 기반한 분류기로, 특정 샘플이 어느 클래스에 속할 확률과 같은 클래스 소속 확률을 예측할 수 있습니다. 또한 대규모 데이터베이스에 적용할 경우에도 높은 정확도와 빠른 처리 속도를 보이는 것으로 잘 알려져 있습니다.

클래스가 정의되면 시스템은 분류를 지배하는 규칙을 추론해야 하며, 이를 위해 각 클래스에 대한 설명(description)을 도출할 수 있어야 합니다. 이 설명은 훈련 데이터셋의 예측 속성(predicting attributes)만을 참조해야 하며, 긍정 예제(positive examples)만이 해당 설명을 만족하고 부정 예제(negative examples)는 만족하지 않아야 합니다. 어떤 규칙의 설명이 한 클래스의 모든 긍정 예제를 포괄하면서 부정 예제는 하나도 포함하지 않을 때, 그 규칙을 '올바르다(correct)'고 평가합니다.

나이브 베이즈 분류의 작동 원리

모든 속성(attribute)의 기여가 서로 독립적이며, 각 속성이 분류 문제에 동등하게 기여한다고 가정하는 단순한 분류 기법이 바로 나이브 베이즈(Naïve Bayes) 분류입니다. 개별 '독립적인' 속성의 기여도를 분석해 조건부 확률(conditional probability)을 산출하고, 여러 속성이 예측에 미치는 영향을 종합하여 최종 분류를 결정합니다.

'나이브'라고 불리는 진짜 이유

나이브 베이즈 분류가 '나이브(순진한)'라는 이름을 얻은 핵심 이유는 클래스 조건부 독립(class conditional independence)을 가정하기 때문입니다. 즉, 어떤 속성 값이 특정 클래스에 미치는 영향은 다른 속성들의 값과 전혀 무관하다고 보는 것입니다.

현실의 데이터에서는 속성 간 상관관계가 존재하는 경우가 많기 때문에 이 가정은 다소 비현실적으로 느껴질 수 있습니다. 그럼에도 이러한 단순화된 가정 덕분에 계산 비용을 획기적으로 줄일 수 있으며, 실제로 많은 분류 문제에서 놀랄 만큼 우수한 성능을 보여줍니다. 이처럼 '단순한 가정에 기반했다'는 점이 바로 '나이브'라는 이름의 유래입니다.

베이즈 정리(Bayes Theorem)

X를 하나의 데이터 튜플(data tuple)이라고 합시다. 베이지안 관점에서 X는 '증거(evidence)'로 간주됩니다. H를 어떤 가설, 예컨대 '데이터 튜플 X가 특정 클래스 C에 속한다'는 가설이라고 합시다. 데이터를 분류하려면 확률 P(H|X)를 구해야 하며, 이는 관찰된 데이터 튜플 X라는 증거가 주어졌을 때 가설 H가 성립할 확률을 의미합니다.

사후 확률과 사전 확률

P(H|X)는 X로 조건화된 H의 사후 확률(posterior probability)입니다. 예를 들어, 데이터 튜플의 세계가 '나이'와 '소득' 속성으로 기술되는 고객들로 한정되어 있고, X가 소득 20,000루피를 버는 30세 고객이라고 가정해 봅시다. H가 '그 고객이 컴퓨터를 구매할 것이다'라는 가설이라면, P(H|X)는 고객의 나이와 소득 정보가 주어졌을 때 해당 고객이 컴퓨터를 구매할 확률을 나타냅니다.

반면 P(H)는 H의 사전 확률(prior probability)입니다. 이는 나이, 소득 등 그 어떤 추가 정보와도 무관하게 임의의 고객이 컴퓨터를 구매할 확률입니다. 사후 확률 P(H|X)는 X와 무관한 사전 확률 P(H)보다 더 많은 정보에 기반한다는 점에서 차이가 있습니다.

마찬가지로 P(X|H)는 H로 조건화된 X의 사후 확률로, '어떤 고객이 30세이면서 소득 20,000루피를 번다'는 확률을 의미합니다.

사후 확률 계산 공식

P(H), P(X|H), P(X)는 주어진 데이터로부터 추정할 수 있습니다. 베이즈 정리는 이 값들을 이용해 직접 구하기 어려운 사후 확률 P(H|X)를 계산하는 방법을 제공하며, 다음과 같이 표현됩니다.

P(H|X) = P(X|H) × P(H) / P(X)