모델 기반 클러스터링이란?
모델 기반 클러스터링(Model-Based Clustering)은 데이터 군집화에 대한 통계적 접근 방식입니다. 이 방법에서는 관측된 다변량 데이터가 유한한 개수의 구성 모델(component model) 조합으로부터 생성된 것으로 간주하며, 각 구성 모델은 일반적으로 매개변수화된(parametric) 다변량 확률 분포입니다.
예를 들어, 다변량 가우시안 혼합 모델(Gaussian Mixture Model)에서는 각 구성 요소가 하나의 다변량 가우시안 분포에 해당합니다. 그리고 특정 관측치를 생성한 구성 요소가 바로 그 관측치가 속할 클러스터를 결정하게 됩니다.
즉, 모델 기반 클러스터링은 주어진 데이터와 수학적 모델 사이의 적합도(fit)를 극대화하려는 시도라고 할 수 있으며, "데이터는 기본적인 확률 분포들의 조합으로부터 생성된다"는 가정 위에 세워져 있습니다.
모델 기반 클러스터링의 주요 접근 방식
1. 통계적 접근 방식: EM(기댓값 최대화) 알고리즘
통계적 접근 방식에서 가장 널리 사용되는 것은 반복적 개선(iterative refinement) 알고리즘인 기댓값 최대화(Expectation Maximization, EM) 알고리즘입니다. EM은 k-평균(k-means) 알고리즘의 확장 형태로 볼 수 있으며, 다음과 같은 특징을 가집니다.
- 각 객체를 가중치(확률 분포)에 따라 클러스터에 할당할 수 있습니다.
- 새로운 평균값은 가중치 측정값을 기반으로 계산됩니다.
EM 알고리즘의 기본 아이디어
- 파라미터 벡터의 초기 추정값(initial estimate)에서 시작합니다.
- 파라미터 벡터가 만든 혼합 밀도(mixture density)에 대해 설계(design)를 반복적으로 재채점(rescore)합니다.
- 재채점된 패턴을 이용해 파라미터 추정값을 갱신합니다.
- 특정 구성 요소에서 비슷한 점수를 받은 패턴들을 동일한 클러스터로 묶습니다.
알고리즘 단계
먼저 k개의 클러스터 중심을 무작위로 할당한 뒤, 다음 두 단계를 반복하면서 클러스터를 점진적으로 개선해 나갑니다.
기댓값 단계(E-step) — 각 데이터 포인트 Xi를 다음 확률에 따라 클러스터 Ck에 할당합니다.
$$\mathrm{P(X_{i}\in\:C_{k})\:=\:P(C_k\arrowvert\:X_i)\:=\:\frac{P(C_k)P(X_i\arrowvert\:C_k)}{P(X_i)}}$$
최대화 단계(M-step) — 모델 파라미터를 추정합니다.
$$\mathrm{m_k\:=\:\frac{1}{N}\displaystyle\sum\limits_{i=1}^N \frac{X_{i}P(X_i\:\in\:C_k)}{X_{j}P(X_i)\in\:C_j}}$$
2. 머신러닝 접근 방식
머신러닝은 대용량 데이터 처리를 위한 복잡한 알고리즘을 구축하고, 그 결과를 사용자에게 제공하는 접근 방식입니다. 경험을 통해 학습하고 예측을 생성할 수 있는 프로그램을 활용하며, 훈련 데이터가 반복적으로 입력될수록 알고리즘 스스로 성능이 개선됩니다.
머신러닝의 핵심 목표는 데이터로부터 학습하여 인간이 이해하고 활용할 수 있는 모델을 구축하는 것입니다.
대표적인 방법으로 점진적 개념 학습(incremental conceptual learning)이 있으며, 이는 분류 트리(classification tree) 형태의 계층적 군집화(hierarchical clustering)를 생성합니다. 트리의 각 노드는 하나의 개념을 정의하며, 해당 개념에 대한 확률적 표현을 함께 포함합니다.
한계점
- 속성들(attribute)이 서로 독립이라는 가정은 상관관계가 존재할 수 있어 지나치게 강한 가정인 경우가 많습니다.
- 대규모 데이터베이스, 기울어진 트리(skewed tree), 계산 비용이 큰 확률 분포에는 적합하지 않습니다.
3. 신경망 접근 방식
신경망(Neural Network) 접근 방식에서는 각 클러스터를 하나의 예시(example), 즉 클러스터의 프로토타입(prototype)으로 표현합니다. 새로운 객체는 어떤 거리 측도(distance measure)를 기준으로 가장 유사한 예시를 가진 클러스터에 배정됩니다.