베이지안 분류기란 무엇인가?
베이지안 분류기(Bayesian Classifier)는 통계적 분류기의 한 종류로, 주어진 샘플이 특정 클래스에 속할 확률을 포함한 클래스 소속 확률을 예측합니다. 베이지안 분류기는 대규모 데이터베이스를 다룰 때에도 뛰어난 효율성과 빠른 처리 속도를 발휘하는 것이 특징입니다.
분류 규칙의 학습 과정
클래스가 정의되면 시스템은 분류를 지배하는 규칙을 추론해야 하며, 이를 위해 각 클래스에 대한 설명(description)을 찾아낼 수 있어야 합니다. 이 설명은 반드시 훈련 세트의 예측 속성만을 참조해야 하며, 긍정 예(positive example)만이 설명을 만족하고 부정 예(negative example)는 만족하지 않도록 구성되어야 합니다. 어떤 규칙의 설명이 해당 클래스의 모든 긍정 예를 포괄하면서 부정 예는 하나도 포함하지 않을 때, 그 규칙은 '올바르다'고 평가됩니다.
나이브 베이즈 분류의 원리
모든 속성의 기여가 서로 독립적이며 각 속성이 분류 문제에 동등하게 기여한다고 가정하면, 나이브 베이즈(Naïve Bayes) 분류라 불리는 단순한 분류 체계가 성립합니다. 각 '독립적인' 속성의 기여도를 분석하여 조건부 확률이 결정되며, 여러 속성이 예측에 미치는 영향을 종합적으로 결합하여 최종 분류가 이루어집니다.
나이브 베이즈 분류가 '나이브(순진)'라고 불리는 이유는 클래스 조건부 독립(class conditional independence)을 가정하기 때문입니다. 즉, 특정 속성 값이 주어진 클래스에 미치는 영향은 다른 속성들의 값과 무관하다고 봅니다. 이러한 가정은 계산 비용을 크게 줄이기 위해 도입된 것으로, 바로 이 점에서 '나이브'하게 취급되는 것입니다.
믿음 네트워크의 학습 시나리오
믿음 네트워크(belief network)의 학습 또는 훈련 단계에서는 여러 가지 시나리오가 가능합니다. 먼저 네트워크 토폴로지는 사전에 주어질 수도 있고, 데이터로부터 추론될 수도 있습니다. 또한 네트워크 변수는 일부 훈련 튜플에서 관찰 가능할 수도 있고 숨겨져 있을 수도 있습니다. 여기서 숨겨진 데이터(hidden data)란 결측값(missing value)이나 불완전한 정보를 의미합니다.
네트워크 토폴로지 학습 알고리즘
변수가 관찰 가능한 상태에서 훈련 기록으로부터 네트워크 토폴로지를 학습하는 알고리즘이 여럿 존재합니다. 이 문제는 본질적으로 이산 최적화(discrete optimization) 문제에 해당합니다. 흥미롭게도 인간 전문가들은 분석 대상 도메인에 작용하는 직접적인 조건부 의존성을 잘 파악하고 있는 경우가 많으며, 이는 네트워크 설계에 큰 도움이 됩니다. 전문가들은 직접 의존성에 관여하는 노드들에 대한 조건부 확률을 정의해야 합니다.
CPT 항목 계산과 네트워크 훈련
이렇게 정의된 확률들은 나머지 확률 값을 평가하는 데 활용될 수 있습니다. 네트워크 토폴로지가 이미 알려져 있고 모든 변수가 관찰 가능하다면, 네트워크 훈련은 비교적 간단합니다. 이 경우 나이브 베이지안 분류에서 확률을 계산하는 방식과 유사하게 CPT(조건부 확률 테이블, Conditional Probability Table) 항목을 계산하는 것으로 훈련이 완료됩니다.
반면 네트워크 토폴로지가 주어져 있지만 일부 변수가 숨겨져 있는 경우에는, 믿음 네트워크를 훈련하기 위한 여러 방법 중에서 적절한 것을 선택해야 합니다. 그중 유망한 접근법으로 경사 하강법(gradient descent)을 꼽을 수 있습니다. 다만 고급 수학적 배경이 없는 독자에게는 미적분 공식이 가득한 정의가 다소 어렵고 부담스럽게 느껴질 수 있다는 점을 유의해야 합니다.