[컴퓨터비전개론] Object Recognition - Bayes' classifier

객체 인식: 베이즈 분류기

지난 포스팅에서는 결정 이론 기반의 최소 거리 분류기(Minimum Distance Classifier, MDC)를 통해 오브젝트 인식의 기초를 다졌다. 이번에는 MDC를 넘어, 분류 오류 확률 최소화를 목표로 하는 통계적 분류 기법인 베이즈 분류기(Bayes Classifier)에 대해 깊이 파고들어 보고자 한다. 특히 컴퓨터 비전패턴 인식 분야에서 중요한 이 분류기를 MDC, 그리고 또 다른 핵심 분류 알고리즘인 서포트 벡터 머신(Support Vector Machine, SVM)과 비교하며 각 방법론의 장단점을 명확히 정리하는 것이 이번 학습의 목표이다.


1. 베이즈 분류기 (Bayes Classifier): 확률 기반 최적 분류의 핵심

베이즈 분류기는 특정 패턴 \(x\)가 주어졌을 때, 이 패턴이 특정 클래스 \(w_{i}\)에서 유래했을 사후 확률(Posterior Probability) \(p(w_{i}|x)\)를 최대화하는 클래스로 패턴을 할당하는 통계적 분류 방법론이다. 이름에서 알 수 있듯이, 이는 확률 이론의 근간인 베이즈 정리(Bayes' Theorem)에 기반한다.

베이즈 정리는 다음과 같이 표현된다:

Bayes' Theorem

  • \(p(w_{i}|x)\): 사후 확률. 패턴 x가 주어졌을 때 클래스 w_i일 확률 (우리가 최대화하려는 값).
  • \(p(x|w_{i})\): 우도. 클래스 w_i라는 조건 하에서 패턴 x가 관측될 확률. 즉, 클래스 w_i의 데이터 분포 모델.
  • \(p(w_{i})\): 사전 확률. 패턴 x를 보기 전에 클래스 w_i가 나타날 확률. 데이터셋의 클래스 비율 등으로 추정 가능.
  • \(p(x)\): 증거. 패턴 x가 관측될 전체 확률. 모든 클래스에 대해 동일하므로, 실제 분류 시에는 분모를 생략하고 분자(\(p(x|w_{i})p(w_{i})\))를 최대화하는 클래스를 선택한다.

결국 베이즈 분류기는 최소 오류 베이즈 결정 규칙(Minimum Error Bayes Decision Rule)을 따른다. 즉, 새로운 패턴 x에 대해 모든 클래스의 사후 확률을 계산하고, 가장 높은 사후 확률을 가진 클래스로 분류함으로써 이론적으로 분류 오류를 최소화하는 최적 분류기(Optimal Classifier)이다.

실제 구현에서는 결정 함수(Decision Function) di(x)를 정의하여 비교하는 것이 일반적이다. 패턴 xdi(x)를 최대화하는 클래스 wi로 분류된다. 결정 함수는 보통 사후 확률 \(p(w_{i}|x)\) 자체이거나, 계산 편의성을 위해 로그를 취한 형태(\(ln(p(w_{i}|x))\)) 등이 사용된다.

베이즈 분류기를 설계하려면 각 클래스의 우도 함수 \(p(x|w_{j})\)와 사전 확률 \(p(w_{j})\)를 알아야 한다. 사전 확률은 도메인 지식이나 학습 데이터의 클래스 빈도로 추정한다. 우도 함수는 보통 각 클래스 데이터가 특정 확률 분포(e.g., 가우시안 분포)를 따른다고 가정하고, 학습 데이터로 파라미터(평균 μ_j, 공분산 C_j)를 추정한다.

n차원 패턴 x에 대한 클래스 w_j의 다변량 가우시안 확률 밀도 함수(Multivariate Gaussian PDF)는 다음과 같다:


Multivariate Gaussian PDF

만약 가우시안 분포를 가정하고 모든 클래스의 사전 확률이 동일(P(w_j)가 상수)하다고 가정하면, 로그를 취한 결정 함수는 다음과 같이 단순화될 수 있다 (상수항 제외):

Simplified Multivariate Gaussian PDF

이 결정 함수를 최대화하는 클래스 j를 찾는 것이 베이즈 분류의 과정이다.



2. 베이즈 분류기와 최소 거리 분류기 (MDC) 비교: MDC는 특수한 베이즈 분류기인가?

지난번에 다룬 최소 거리 분류기(MDC)는 각 클래스의 평균 벡터 μ_j와 입력 패턴 x 간의 유클리드 거리(Euclidean Distance)가 가장 짧은 클래스로 분류하는 직관적인 방법이다. 흥미롭게도, MDC는 특정 조건 하에서 베이즈 분류기의 특수한 경우로 볼 수 있다.

MDC가 베이즈 분류기와 동일한 분류 결과를 내는 조건은 다음과 같다:

  1. 가우시안 분포 가정: 각 클래스의 데이터 분포가 가우시안 분포를 따른다.
  2. 동일 등방성 공분산: 모든 클래스의 공분산 행렬이 동일하고 단위 행렬( 이고, 더 단순하게는 )이다. 이는 모든 클래스의 데이터가 평균을 중심으로 동일한 분산을 가지며 각 특징(feature)이 독립적이고 분산이 1임을 의미한다. (즉, 데이터가 구형(spherical)으로 분포)
  3. 동일 사전 확률: 모든 클래스가 발생할 확률이 동일하다 (\(p(w_{j})=1/W\)).

위 조건들이 만족될 때, 가우시안 기반 베이즈 결정 함수에서 \(ln\left|c_{j}\right|\) 항과 \(ln(p(w_{j}))\) 항은 모든 클래스 j에 대해 상수가 된다. \(C_{j}^{-1}=I\)이므로, 결정 함수는 다음과 같이 비례한다:

결정 함수 dj(x)를 최대화하는 것은 곧 제곱 유클리드 거리 \(\left\|x-\mu _{j}\right\|^{2}\)를 최소화하는 것과 동일하다. 이것이 바로 MDC의 결정 규칙이다.

하지만 현실 세계의 패턴 인식 문제에서는 이런 이상적인 조건이 충족되지 않는 경우가 많다. 클래스마다 데이터의 퍼짐 정도(분산)가 다르거나 (C_j가 다름), 특정 클래스가 다른 클래스보다 훨씬 자주 등장할 수 있다 (P(w_j)가 다름). 이럴 경우, MDC는 최적의 분류 성능을 보장하기 어렵다.

제공된 자료의 COVID-19 예시처럼, 단순히 증상의 평균값만 비교하는 MDC는 실제 음성(Negative) 환자를 양성(Positive)으로 잘못 판단(False Positive)할 수 있다. 이는 각 클래스(음성/양성 그룹)별 증상 데이터의 분포 형태(공분산)나 실제 발병률(사전 확률)을 고려하지 못하기 때문이다. 반면, 베이즈 분류기는 클래스별 공분산 행렬사전 확률을 모두 고려하므로, 데이터의 통계적 특성을 더 정교하게 모델링하여 더 정확한 분류가 가능하다. 아래 예시에서도 베이즈 분류기는 음성을 음성으로 올바르게 판단(True Negative)하는 능력을 보여주었다.

example

코드 레벨에서도 MDC는 유클리드 거리 계산에 그치지만, 베이즈 분류기는 공분산 행렬의 행렬식(determinant)과 역행렬(inverse) 계산, 사전 확률 적용 등 더 복잡한 연산을 통해 데이터의 분포 정보를 적극 활용함을 알 수 있다.



3. 베이즈 분류기와 서포트 벡터 머신 (SVM) 비교: 확률 모델 vs. 마진 최대화

서포트 벡터 머신(SVM)머신러닝 분야에서 베이즈 분류기와 함께 매우 강력한 성능을 보이는 대표적인 분류 알고리즘이다. SVM의 핵심 아이디어는 클래스를 구분하는 결정 경계(Decision Boundary), 즉 Hyperplane을 정의하되, 이와 가장 가까운 각 클래스의 데이터 포인트들(서포트 벡터, Support Vector) 사이의 마진(Margin)을 최대화(Max-Margin)하는 것이다.

베이즈 분류기SVM은 모두 지도 학습(Supervised Learning) 기반의 분류기이지만, 근본적인 접근 방식에서 차이가 있다:

  • 모델링 방식: 베이즈 분류기는 데이터의 확률 분포를 모델링하고 사후 확률을 최대화하여 결정 경계를 도출하는 생성 모델(Generative Model)의 관점을 가질 수 있다(우도를 모델링하므로). 반면, SVM은 확률 분포를 직접 모델링하기보다 클래스 간의 경계를 찾는 데 집중하는 판별 모델(Discriminative Model)이다.
  • 결정 경계 형태: 베이즈 분류기의 결정 경계는 (가우시안 가정 시) 일반적으로 2차 곡선 형태가 될 수 있다. SVM은 기본적으로 선형(Linear) 결정 경계를 찾지만, 커널 트릭(Kernel Trick)을 사용하여 데이터를 고차원 특징 공간으로 매핑함으로써 매우 복잡한 비선형(Non-linear) 결정 경계도 효과적으로 생성할 수 있다.
  • 주요 참조 데이터: 베이즈 분류기(특히 가우시안 가정 시)는 각 클래스의 평균공분산이라는 통계적 요약 정보에 의존한다. 반면 SVM은 결정 경계를 정의하는 데 결정적인 역할을 하는 소수의 데이터 포인트, 즉 서포트 벡터에 크게 의존한다. 이는 SVM이 전체 데이터 분포보다는 경계 근처의 데이터에 더 민감하게 반응함을 시사한다.
  • 이상치(Outlier) 민감도: 베이즈 분류기는 가정된 확률 분포 모델에 데이터가 잘 부합하지 않거나 이상치가 많을 경우 성능이 저하될 수 있다. SVM은 소프트 마진(Soft-Margin) 개념을 도입하여 약간의 오분류를 허용함으로써 이상치에 대해 상대적으로 덜 민감하게 만들 수 있다 (Robustness).
  • 데이터 의존성 vs. 통계적 가정: SVM은 통계적 가정보다는 주어진 학습 데이터 자체에 더 의존하여 마진 최대화라는 기하학적 기준을 최적화한다. 베이즈 분류기는 데이터가 특정 확률 분포를 따른다는 통계적 가정을 기반으로 모델링을 수행한다.



4. 결론: 어떤 분류기를 선택해야 할까?

베이즈 분류기는 확률 이론에 기반하여 분류 오류를 최소화하는 최적의 분류기라는 강력한 이론적 배경을 가진다. 최소 거리 분류기(MDC)는 특정 조건 하에서 베이즈 분류기의 단순화된 형태로 이해할 수 있으며, 데이터 분포나 클래스 빈도가 불균등할 때는 베이즈 분류기가 더 나은 성능을 기대할 수 있다.

서포트 벡터 머신(SVM) 역시 뛰어난 분류 성능, 특히 고차원 데이터비선형 문제에서 강점을 보이는 방법론이다. SVM은 마진 최대화라는 명확한 기하학적 목표와 커널 트릭을 통한 유연성이 장점이다.

결국 오브젝트 인식이나 일반적인 패턴 분류 문제에서 어떤 분류기를 선택할지는 주어진 문제의 특성, 데이터의 양과 질, 데이터의 차원, 클래스 분포의 형태, 이상치의 존재 여부, 계산 복잡성 요구사항 등을 종합적으로 고려하여 결정해야 한다.

  • 데이터의 통계적 분포에 대한 사전 지식이 있거나 추정이 용이하고, 각 클래스의 특성을 확률적으로 모델링하는 것이 중요하다면 베이즈 분류기가 좋은 선택이 될 수 있다.
  • 데이터 분포에 대한 가정이 어렵거나, 비선형 결정 경계가 필요하며, 이상치에 강인하고, 고차원 데이터에서 좋은 성능을 원한다면 SVM이 더 적합할 수 있다.



hyeon_B

안녕하세요! AI 기술을 이용해 더 나은 세상을 만들어 나가고 싶은 과기원생 Hyeon이라고 합니다. 저는 앞으로 인공지능 시대에는 지식을 '활용'하는 능력이 중요해질 것이라고 생각합니다. 대부분의 일들은 인공지능이 뛰어난 모습을 보이지만, 인공지능은 데이터로 부터 연관관계를 학습하기 때문에 지식들을 새로 통합해서 활용하는 능력이 부족합니다. 인공지능이 뉴턴 전에 만들어졌다면 사과가 떨어지는 이유에 대답하지 못했을 것이고, 아인슈타인 전에 만들어졌다면 중력이 어떻게 생기는지 설명하지 못했을 것입니다. 따라서 앞으로 우리는 '본질'을 탐구하고 그 본질로부터 다른 곳에 적용하며 인공지능을 현명하게 활용해야 할 것입니다. 함께 인공지능 시대를 준비합시다!

댓글 쓰기

다음 이전

POST ADS1

POST ADS 2