가우시안 믹스처 모델(GMM)안내서

가우시안 믹스처 모델(GMM)안내서

1. 확률적 생성 모델로서의 가우시안 믹스처 모델

1.1 데이터 분포 모델링의 필요성

현실 세계에서 수집되는 데이터는 대부분 단일하고 단순한 확률 분포를 따르지 않는다. 데이터 집합은 종종 통계적 특성이 서로 다른 여러 하위 집단(sub-population)의 혼합으로 구성된다.1 예를 들어, 고객 구매 데이터는 연령대나 소득 수준에 따라 상이한 구매 패턴을 보이는 여러 그룹의 결합일 수 있다. 이러한 복잡한 데이터 구조는 단일 가우시안 분포(정규 분포)와 같이 단봉(uni-modal) 형태의 단순한 모델로는 적절히 표현하기 어렵다.3 데이터가 여러 개의 봉우리를 갖는 다봉(multi-modal) 분포를 보일 때, 단일 분포 모델은 데이터의 내재된 구조를 파악하지 못하고 왜곡된 분석 결과를 초래할 수 있다. 따라서 데이터의 복잡한 분포를 유연하게 모델링할 수 있는 정교한 통계적 도구가 필요하며, 가우시안 믹스처 모델(GMM)은 이러한 요구에 부응하는 핵심적인 방법론 중 하나이다.

GMM은 데이터의 분포 형태를 수학적으로 어떻게 가장 잘 표현할 수 있는지에 초점을 맞춘 기술적 모델(descriptive model)이다. 즉, 데이터가 왜 여러 그룹으로 나뉘는지에 대한 근본적인 원인을 설명하기보다는, 관측된 데이터의 분포 구조를 가장 잘 근사하는 수학적 표현을 찾는 것을 목표로 한다. 이러한 접근 방식은 GMM을 데이터의 구조를 정밀하게 기술하는 강력한 도구로 만들지만, 그 결과를 해석할 때는 모델이 통계적 근사치임을 인지해야 한다.

1.2 가우시안 믹스처 모델(GMM)의 정의

가우시안 믹스처 모델(Gaussian Mixture Model, GMM)은 K개의 개별 가우시안 분포(Gaussian components)의 가중합(weighted sum)을 통해 데이터의 전체 확률 분포를 표현하는 확률 모델이다.3 이는 복잡하고 임의적인 형태의 분포를 여러 개의 간단하고 해석이 용이한 가우시안 분포의 선형 결합으로 근사하려는 시도이다.4 GMM은 대표적인 비지도 학습(Unsupervised Learning) 알고리즘으로, 데이터에 레이블이 없는 경우에도 데이터의 내재된 군집 구조를 발견하는 데 널리 사용된다.7

GMM은 거리 기반 클러스터링 알고리즘과 근본적인 철학에서 차이를 보인다. 거리 기반 방법이 데이터 포인트 간의 기하학적 거리를 기준으로 군집을 형성하는 반면, GMM은 관측된 데이터가 특정 확률 분포, 즉 여러 가우시안 분포의 혼합을 통해 생성되었다고 가정하는 생성 모델(generative model)이다.9 이러한 확률적 접근 방식은 GMM이 단순히 데이터를 그룹으로 나누는 것을 넘어, 데이터의 밀도를 추정하고 각 데이터가 특정 그룹에 속할 확률을 제공할 수 있게 한다.

또한, GMM은 모수적(parametric) 밀도 추정 방법의 대표적인 사례로 분류된다. 이는 데이터 분포에 대해 ’가우시안의 혼합’이라는 특정 모델 형태를 가정하고, 그 모델을 정의하는 파라미터(각 가우시안의 가중치, 평균, 공분산)를 데이터로부터 추정하는 방식이다.3 모델을 가정하지 않는 커널 밀도 추정(Kernel Density Estimation)과 같은 비모수적(non-parametric) 방법과 대조된다. GMM의 모수적 가정은 모델이 데이터의 실제 분포와 잘 부합할 때 매우 효율적이고 강력한 성능을 발휘하는 원천이 되지만, 동시에 가정이 현실과 동떨어질 경우 모델의 성능이 저하될 수 있는 양면성을 지닌다.

2. 가우시안 믹스처 모델의 수학적 원리

2.1 확률 밀도 함수와 파라미터

GMM은 K개의 가우시안 분포를 혼합하여 데이터 포인트 \mathbf{x}의 확률 밀도 함수 p(\mathbf{x})를 정의한다. 그 수학적 표현은 다음과 같다.5

p(x)=k=1∑K​πk​N(x∣μk​,Σk​)

이 식을 구성하는 각 파라미터는 다음과 같은 의미를 가진다.

  • 혼합 계수 (Mixing Coefficient) πk​: k번째 가우시안 요소(component)가 선택될 사전 확률(prior probability)을 의미한다. 즉, 전체 데이터 중 k번째 가우시안 분포가 차지하는 비율을 나타낸다. 모든 혼합 계수는 확률의 기본 공리를 따라야 하므로, 0≤πk​≤1 과 모든 k에 대한 합이 1(∑k=1K​πk​=1)이라는 제약 조건을 만족해야 한다.5

  • 평균 벡터 (Mean Vector) μk​: k번째 가우시안 요소의 중심 위치를 나타내는 벡터이다. 이는 해당 클러스터의 중심점을 의미한다.

  • 공분산 행렬 (Covariance Matrix) Σk​: k번째 가우시안 요소의 형태와 방향성을 결정하는 행렬이다. 대각 성분은 각 차원의 분산을, 비대각 성분은 차원 간의 공분산을 나타낸다. 이 공분산 행렬의 형태에 따라 클러스터는 완전한 원형(spherical), 축에 정렬된 타원형(diagonal), 또는 임의의 방향으로 회전된 타원형(full) 등 다양한 기하학적 모양을 가질 수 있다.9

2.2 잠재 변수(Latent Variable)의 도입

GMM의 파라미터를 효율적으로 추정하기 위해, 각 데이터 포인트 xn​이 K개의 가우시안 요소 중 어느 것으로부터 생성되었는지를 나타내는 잠재 변수(latent variable) \mathbf{z}를 도입한다.7 잠재 변수 \mathbf{z}는 관측할 수 없지만 모델의 구조를 단순화하는 데 결정적인 역할을 한다. \mathbf{z}

K차원의 이진 랜덤 벡터로, k번째 요소만 1이고 나머지는 0인 형태(one-hot encoding)를 가진다. 즉, zk​=1은 해당 데이터 포인트가 k번째 가우시안 요소에서 생성되었음을 의미한다.

잠재 변수를 이용하면 GMM의 데이터 생성 과정은 다음과 같은 2단계로 명확하게 기술할 수 있다.3

  1. 먼저, 혼합 계수 πk​를 파라미터로 하는 다항 분포로부터 잠재 변수 \mathbf{z}를 샘플링한다. 이는 K개의 가우시안 요소 중 하나를 선택하는 과정에 해당하며, k번째 요소가 선택될 확률은 p(zk​=1)=πk​이다.

  2. 다음으로, 선택된 요소 k에 해당하는 가우시안 분포 \mathcal{N}(\mathbf{x} | \boldsymbol{\mu}_k, \boldsymbol{\Sigma}_k)로부터 실제 데이터 포인트 \mathbf{x}를 샘플링한다.

잠재 변수의 도입은 단순한 변수 추가가 아니라, 복잡한 최적화 문제를 다루기 쉬운 형태로 재구성하는 핵심적인 수학적 기법이다. 관측 데이터 \mathbf{x}만으로 구성된 가능도 함수는 로그 함수 내부에 합산 항이 있어 미분이 매우 복잡하다. 하지만 잠재 변수 \mathbf{z}를 포함하는 ‘완전 데이터(complete data)’ (\mathbf{x}, \mathbf{z})의 결합 확률 분포 p(\mathbf{x}, \mathbf{z})를 고려하면, 로그 가능도 함수가 훨씬 다루기 쉬운 형태로 변환된다. EM 알고리즘은 바로 이 ‘다루기 쉬운’ 완전 데이터 가능도의 기댓값을 활용하여 원래의 어려운 문제를 우회적으로 해결하는 전략을 취한다.15

2.3 최대우도추정(Maximum Likelihood Estimation) 문제 정식화

GMM의 학습 목표는 주어진 데이터셋 \mathcal{X} = {\mathbf{x}_1,..., \mathbf{x}_N}이 현재 모델로부터 관측될 확률, 즉 가능도(likelihood)를 최대화하는 최적의 파라미터 \theta = {\boldsymbol{\pi}, \boldsymbol{\mu}, \boldsymbol{\Sigma}}를 찾는 것이다.5 계산의 편의성을 위해 일반적으로 가능도 함수에 로그를 취한 로그 가능도 함수(log-likelihood function)를 최적화 대상으로 삼는다. GMM의 로그 가능도 함수는 다음과 같이 정의된다.13

lnp(X∣π,μ,Σ)=n=1∑N​ln(k=1∑K​πk​N(xn​∣μk​,Σk​))

이 식의 구조를 살펴보면, 로그 함수 내부에 K개 가우시안 요소에 대한 합산(∑)이 존재한다. 이 구조 때문에 각 파라미터에 대해 편미분하여 0으로 만드는 방식으로 해석적인 해(analytical solution)를 직접 구하는 것이 불가능하다.3 이 수학적 난관이 바로 GMM 파라미터 추정을 위해 EM 알고리즘과 같은 반복적인 최적화 기법이 필수적인 이유이다.

한편, 로그 가능도를 직접 최대화할 때 발생할 수 있는 심각한 문제 중 하나는 특이점(singularity)이다.14 만약 특정 가우시안 요소의 평균

μk​가 한 데이터 포인트 xn​과 정확히 일치하고, 해당 요소의 공분산 행렬 Σk​가 0에 가깝게 축소되면(즉, 분산이 0으로 수렴하면), 해당 가우시안의 확률 밀도 값은 무한대로 발산한다. 이는 전체 로그 가능도 함수를 무한대로 만들어, 모델이 단 하나의 데이터 포인트에 과적합되는 비정상적인 해로 수렴하게 만든다.21 이러한 특이점 문제를 방지하기 위해 실제 GMM 구현에서는 공분산 행렬의 대각 성분에 작은 양수 값을 더하거나, 모든 요소가 동일한 공분산 행렬을 공유하도록 제약을 가하는 등의 규제(regularization) 기법이 사용된다.

3. EM 알고리즘: GMM 파라미터 추정의 핵심

3.1 EM 알고리즘의 일반 원리

기댓값-최대화(Expectation-Maximization, EM) 알고리즘은 관측되지 않은 잠재 변수를 포함하는 확률 모델에서 최대우도추정(MLE) 파라미터를 찾기 위한 강력하고 일반적인 반복 알고리즘이다.19 GMM과 같이 관측된 데이터의 가능도 함수를 직접 최적화하기 어려운 경우, EM 알고리즘은 문제를 두 개의 더 간단한 단계로 나누어 점진적으로 해를 찾아간다.

EM 알고리즘의 핵심 아이디어는 관측된 데이터(불완전 데이터)의 로그 가능도를 직접 다루는 대신, 잠재 변수까지 포함하는 완전 데이터(complete data)의 로그 가능도에 대한 기댓값을 계산하고(E-step), 이 기댓값을 최대화하는(M-step) 과정을 반복하는 것이다.15 이 두 단계는 현재 추정된 파라미터 \theta^{(t)}를 기반으로 잠재 변수의 사후 분포를 추정하고, 이를 이용해 가능도를 더 높이는 새로운 파라미터 \theta^{(t+1)}를 찾는 방식으로 상호작용한다.22

3.2 E-Step (Expectation 단계): 책임(Responsibility) 계산

E-step에서는 현재 시점 t의 파라미터(π(t),μ(t),Σ(t))를 고정시킨다. 그리고 이 파라미터 하에서, 각 데이터 포인트 xn​이 k번째 가우시안 요소로부터 생성되었을 사후 확률(posterior probability)을 계산한다. 이 확률값을 k번째 가우시안 요소가 데이터 포인트 xn​을 생성한 것에 대한 ’책임(responsibility)’이라고 부른다.3

책임값 \gamma(z_{nk})는 베이즈 정리(Bayes’ theorem)를 통해 다음과 같이 계산된다.3

γ(znk​)=p(zk​=1∣xn​,θ(t))=p(xn​)p(zk​=1)p(xn​∣zk​=1)​=∑j=1K​πj(t)​N(xn​∣μj(t)​,Σj(t)​)πk(t)​N(xn​∣μk(t)​,Σk(t)​)​

분자는 k번째 가우시안 요소가 선택되고(πk(t)​) 그 요소에서 xn​이 관측될 결합 확률이며, 분모는 모든 가능한 요소에 대해 이를 합산한 xn​의 주변 확률이다. 이 E-step은 관측 불가능한 잠재 변수 z_{nk}의 불확실성을, 현재 모델 하에서 계산된 그것의 기댓값, 즉 책임값 \gamma(z_{nk})로 대체하는 과정으로 해석할 수 있다.

3.3 M-Step (Maximization 단계): 파라미터 업데이트

M-step에서는 E-step에서 계산된 책임값 \gamma(z_{nk})를 고정된 가중치로 간주한다. 그리고 이 가중치를 이용하여 완전 데이터 로그 가능도의 기댓값(Q 함수)을 최대화하는 새로운 파라미터(\boldsymbol{\pi}^{(t+1)}, \boldsymbol{\mu}^{(t+1)}, \boldsymbol{\Sigma}^{(t+1)})를 유도한다.5 각 파라미터에 대한 업데이트 공식은 다음과 같다.

  • 혼합 계수 업데이트: k번째 요소에 대한 평균적인 책임값으로 업데이트된다.

πk(t+1)​=NNk​​,whereNk​=n=1∑N​γ(znk​)

여기서 Nk​는 k번째 클러스터에 할당된 데이터 포인트의 유효 개수(effective number)로 볼 수 있으며, N은 전체 데이터 포인트의 수이다.5

  • 평균 벡터 업데이트: 각 데이터 포인트를 책임값으로 가중하여 계산한 가중 평균으로 업데이트된다.

μk(t+1)​=Nk​1​n=1∑N​γ(znk​)xn​

이는 k번째 클러스터에 대한 책임이 높은 데이터 포인트들이 새로운 중심 위치를 결정하는 데 더 큰 영향을 미침을 의미한다.3

  • 공분산 행렬 업데이트: 책임값을 가중치로 한 가중 공분산으로 업데이트된다.

Σk(t+1)​=Nk​1​n=1∑N​γ(znk​)(xn​−μk(t+1)​)(xn​−μk(t+1)​)T

마찬가지로, k번째 클러스터에 대한 책임이 높은 데이터들의 분산 구조가 새로운 공분산 행렬을 결정하는 데 주된 역할을 한다.3

이 M-step의 업데이트 과정은 현재의 책임값 할당을 가장 잘 설명하는 방향으로 모델 파라미터를 조정하여, 전체 데이터의 로그 가능도를 증가시키는 역할을 한다.

3.4 알고리즘의 수렴과 증명

EM 알고리즘의 중요한 수학적 특성은 E-step과 M-step을 반복할 때마다 로그 가능도 함수 값이 결코 감소하지 않는다는 것(monotonically non-decreasing)이다.15 이는 알고리즘이 안정적으로 수렴함을 보장한다. 이 속성은 젠슨 부등식(Jensen’s inequality)을 이용하여 로그 가능도 함수의 하한(Lower Bound), 소위 증거 하한(Evidence Lower Bound, ELBO)을 정의함으로써 증명될 수 있다.20 E-step은 이 하한을 현재의 로그 가능도 값에 정확히 접하도록 만들고(tightening the bound), M-step은 이 하한 자체를 최대화한다. 하한이 증가하면 원래의 로그 가능도 함수 값도 따라서 증가하게 된다.15

알고리즘은 로그 가능도 값의 증가량이 미리 설정된 임계치보다 작아지거나, 최대 반복 횟수에 도달했을 때 종료된다. 그러나 EM 알고리즘이 보장하는 수렴 지점은 국소 최적해(local optimum)이며, 전역 최적해(global optimum)라는 보장은 없다.13 따라서 초기 파라미터 값에 따라 다른 결과에 도달할 수 있다.

EM 알고리즘의 작동 방식은 “파라미터를 알면 데이터의 소속을 추정할 수 있다”(E-step)와 “데이터의 소속을 알면 파라미터를 추정할 수 있다”(M-step)는 상호 의존적인 관계를 해결하는 과정으로 이해할 수 있다. 이 ‘닭과 달걀’ 문제에 대해 EM 알고리즘은 한쪽을 고정한 채 다른 쪽을 푸는 과정을 반복함으로써 점진적으로 양쪽 모두에 대한 더 나은 추정치를 찾아 나가는 영리한 해결책을 제시한다.22

4. 가우시안 믹스처 모델의 주요 응용 분야

GMM의 핵심 능력은 데이터의 기저 확률 분포 p(\mathbf{x})를 모델링하는 것이다. 클러스터링, 밀도 추정, 이상치 탐지 등 GMM의 주요 응용 분야는 모두 이 근본적인 능력에서 파생된 각기 다른 해석과 활용 방식이라고 볼 수 있다.

4.1 데이터 클러스터링

GMM의 가장 대표적인 응용 분야는 데이터 클러스터링이다. 이 맥락에서, 모델의 각 가우시안 요소는 데이터 내에 존재하는 하나의 클러스터를 나타내는 것으로 간주된다.2

  • 소프트 클러스터링 (Soft Clustering): K-평균 클러스터링이 각 데이터 포인트를 단 하나의 클러스터에 배타적으로 할당하는 ’하드 클러스터링(hard clustering)’인 반면, GMM은 각 데이터 포인트가 모든 클러스터에 속할 확률을 계산하여 제공하는 ’소프트 클러스터링(soft clustering)’을 수행한다.13 이 확률값은 클러스터 경계에 위치한 데이터의 모호성을 자연스럽게 표현하며, 할당의 불확실성을 정량화하는 중요한 정보를 제공한다.29 예를 들어, 어떤 데이터가 두 클러스터에 속할 확률이 각각 [0.51, 0.49]로 계산되었다면, 이는 해당 데이터가 두 클러스터의 경계에 매우 가깝게 위치함을 시사한다. K-평균은 이러한 미묘한 정보를 표현할 수 없다.

  • 유연한 클러스터 형태: GMM은 각 클러스터의 형태를 공분산 행렬을 통해 모델링하므로, K-평균이 가정하는 원형(spherical) 클러스터뿐만 아니라 타원형(elliptical), 길쭉하거나 회전된 형태의 클러스터도 효과적으로 식별할 수 있다.2 예를 들어, 붓꽃(Iris) 데이터셋과 같이 실제 데이터 군집이 타원형 분포를 보이는 경우, GMM은 K-평균보다 훨씬 더 정확하게 군집의 경계를 찾아낼 수 있다.32

4.2 밀도 추정

GMM은 임의의 연속 확률 분포를 근사하는 보편적인 근사자(universal approximator)로서의 역할을 수행할 수 있다. 충분한 수의 가우시안 요소를 사용하면, 이론적으로 거의 모든 형태의 복잡한 밀도 함수를 원하는 정확도로 모델링하는 것이 가능하다.3

학습된 GMM은 데이터의 확률 밀도 함수 그 자체를 나타내므로, 새로운 데이터 포인트에 대한 확률(또는 가능도)을 계산하는 데 사용될 수 있다. 더 나아가, 학습된 분포로부터 새로운 데이터를 샘플링하는 생성 모델(generative model)로도 활용될 수 있다. 이는 데이터 증강(data augmentation)이나 시스템 시뮬레이션과 같은 분야에 응용될 수 있다.11 음성 인식 분야에서는 각 음소(phoneme)에 해당하는 음향 특징(acoustic features, 예: MFCC)의 복잡한 분포를 GMM으로 모델링하고, 이를 은닉 마르코프 모델(HMM)의 방출 확률(emission probability) 계산에 사용하여 음성 인식 시스템의 성능을 향상시키는 데 핵심적인 역할을 했다.6

4.3 이상치 탐지

GMM의 밀도 추정 능력은 이상치 탐지(anomaly detection) 분야에서도 유용하게 활용된다. 기본적인 아이디어는 먼저 정상(normal) 데이터의 분포를 GMM을 통해 학습하는 것이다.21

일단 정상 데이터의 확률 밀도 모델이 구축되면, 새로운 데이터 포인트가 주어졌을 때 이 모델 하에서 해당 데이터의 발생 가능도(likelihood)를 계산할 수 있다. 만약 계산된 가능도 값이 매우 낮다면, 이는 해당 데이터 포인트가 학습된 정상 데이터의 분포에서 크게 벗어나 있음을 의미하며, 따라서 이상치(anomaly 또는 outlier)로 판단할 수 있다.11

최근에는 딥러닝과 GMM을 결합한 모델들이 고차원 데이터의 이상치 탐지에서 뛰어난 성능을 보이고 있다. 대표적인 예로 DAGMM(Deep Autoencoding Gaussian Mixture Model)이 있다. 이 모델은 딥러닝 기반의 오토인코더를 사용하여 데이터의 차원을 축소하고 주요 특징을 추출한 뒤, 이 저차원 잠재 공간(latent space)에서 GMM을 이용해 데이터의 밀도를 추정한다. 이 방식은 고차원 공간에서 직접 밀도를 추정할 때 발생하는 ‘차원의 저주’ 문제를 완화하고, 복잡한 데이터 구조 내의 미묘한 이상 패턴을 효과적으로 탐지할 수 있게 한다.21

5. 심층 분석: K-평균 클러스터링과의 비교

GMM은 종종 K-평균 클러스터링과 비교되지만, 두 방법은 근본적인 철학과 접근 방식에서 중요한 차이를 보인다.

5.1 근본적인 철학의 차이

가장 핵심적인 차이는 GMM이 데이터가 특정 확률 분포(가우시안의 혼합)에서 생성되었다고 가정하는 **생성 모델(generative model)**이라는 점이다.9 GMM의 목표는 데이터의 기저 확률 분포를 추정하는 것이다. 반면, K-평균은 데이터 생성 과정에 대한 어떠한 확률적 가정도 하지 않고, 주어진 데이터 포인트를

K개의 그룹으로 분할(partition)하여 그룹 내 분산을 최소화하는 것을 목표로 하는 **알고리즘(algorithm)**이다.39 이 차이로 인해 GMM은 확률적 해석이 가능하고 더 풍부한 정보를 제공하는 반면, K-평균은 직관적이고 계산적으로 효율적이다.

EM 알고리즘의 관점에서 보면, K-평균 알고리즘은 GMM의 매우 특수한 경우로 간주될 수 있다. 모든 가우시안 요소가 동일한 등방성(isotropic) 공분산 행렬(Σk​=ϵI)을 가지고, 그 분산이 0으로 수렴하는(ϵ→0) 극한 상황을 가정하면, GMM의 소프트 할당(책임값 계산)은 가장 가까운 평균을 가진 요소에만 1을 할당하고 나머지는 0을 할당하는 K-평균의 하드 할당과 동일해진다. 이는 두 알고리즘 간의 깊은 이론적 연결고리를 보여주며, K-평균을 GMM의 단순화되고 덜 유연한 버전으로 이해할 수 있게 한다.14

5.2 핵심 차이점 상세 비교

GMM과 K-평균의 주요 차이점은 다음 표와 같이 요약할 수 있다.

Table 1: GMM vs. K-평균 핵심 차이점 비교

기준 (Criterion)가우시안 믹스처 모델 (GMM)K-평균 (K-Means)
모델 기반 (Model Basis)확률적, 생성 모델 (Probabilistic, Generative)알고리즘적, 비확률적 (Algorithmic, Non-probabilistic)
클러스터 할당 (Cluster Assignment)Soft Assignment (확률적 할당) 13Hard Assignment (배타적 할당) 40
클러스터 형태 (Cluster Shape)타원형 (Elliptical, Flexible) 2원형 (Spherical, Restricted) 11
파라미터 (Parameters)평균(μ), 공분산(Σ), 혼합 계수(π)클러스터 중심(평균, μ)
결과 해석 (Result Interpretation)각 클러스터에 속할 확률 제공 9최종 클러스터 레이블만 제공
계산 복잡성 (Computational Complexity)높음 (High) 30낮음 (Low) 11

GMM의 유연성은 각 요소의 완전한 공분산 행렬 Σk​를 추정하는 능력에서 비롯된다. 이 행렬은 데이터의 분산 구조뿐만 아니라 변수 간의 상관관계까지 포착하여 타원형 클러스터를 모델링할 수 있게 한다.12 반면, K-평균은 암묵적으로 모든 차원의 분산이 동일하고 변수 간 공분산이 0인 등방성 공분산(

Σ=σ2I)을 가정하기 때문에 원형 클러스터에 국한된다.

결론적으로, 두 알고리즘 사이의 선택은 분석의 목표에 따라 달라진다. 단순히 데이터를 빠르게 그룹으로 나누는 것이 목적이고 결과 해석의 풍부함이 중요하지 않다면 K-평균이 효율적인 선택일 수 있다. 그러나 데이터의 기저 분포를 이해하고, 각 할당에 대한 신뢰도를 측정하며, 복잡한 형태의 군집을 다루어야 하는 문제에서는 GMM이 훨씬 강력하고 적합한 도구이다.28

6. 실용적 고려사항 및 한계점

6.1 최적의 혼합 요소(K) 개수 결정

GMM을 적용할 때 가장 중요한 결정 중 하나는 혼합할 가우시안 요소의 개수, 즉 클러스터의 개수 K를 정하는 것이다. K는 모델의 성능에 직접적인 영향을 미치는 핵심 하이퍼파라미터이며, 사용자가 사전에 지정해야 하는 한계가 있다.13

K를 너무 작게 설정하면 여러 클러스터를 하나로 묶어 과소적합(underfitting)이 발생할 수 있고, 너무 크게 설정하면 단일 클러스터를 여러 개로 나누어 과적합(overfitting)이 발생할 수 있다.

이 문제를 해결하기 위해, 모델의 복잡도와 데이터에 대한 적합도 사이의 균형을 평가하는 통계적 정보 기준(Information Criterion)이 널리 사용된다. 대표적인 기준으로 아카이케 정보 기준(AIC)과 베이즈 정보 기준(BIC)이 있다.

  • 아카이케 정보 기준 (AIC): AIC=2p−2ln(L^) 44

  • 베이즈 정보 기준 (BIC): BIC=ln(m)p−2ln(L^) 45

여기서 p는 모델이 추정해야 할 파라미터의 총 개수, m은 데이터 샘플의 수, \hat{L}은 모델의 최대 가능도 값을 의미한다. 두 지표 모두 −2ln(L^) 항을 통해 데이터에 대한 적합도가 높을수록(즉, \hat{L}이 클수록) 낮은 값을 갖는다. 동시에, 파라미터 수 p에 비례하는 페널티 항을 더하여 모델이 불필요하게 복잡해지는 것을 방지한다. 이는 “가장 단순한 모델이 가장 좋다“는 ‘오컴의 면도날(Occam’s Razor)’ 원리를 통계적으로 구현한 것이다. BIC는 데이터 샘플 수 m에 비례하는 페널티를 부여하기 때문에, AIC보다 더 단순한 모델을 선호하는 경향이 있다.47

실제 적용 시에는 여러 후보 K값에 대해 GMM을 각각 학습시킨 후, AIC 또는 BIC 값이 최소가 되는 K를 최적의 클러스터 개수로 선택한다.48

6.2 초기값 민감성 및 계산 복잡성

EM 알고리즘은 로그 가능도 함수의 국소 최적해(local optimum)로 수렴하기 때문에, 파라미터의 초기값에 따라 최종 결과가 크게 달라질 수 있다.11 잘못된 초기값은 알고리즘이 비최적해에 빠지게 하여 클러스터링 성능을 저하시킬 수 있다. 이는 GMM을 실용적으로 적용하는 데 있어 가장 큰 장애물 중 하나로, GMM이 신중한 설정과 검증이 필요한 ‘전문가용’ 도구임을 시사한다.

이 문제를 완화하기 위한 일반적인 전략은 다음과 같다.

  1. 서로 다른 랜덤 초기값으로 EM 알고리즘을 여러 번 실행한 후, 그중 가장 높은 로그 가능도 값을 보인 결과를 최종 모델로 선택한다.22

  2. 계산이 빠른 K-평균 클러스터링을 먼저 실행하여 클러스터의 초기 중심점을 찾고, 이를 GMM의 초기 평균 벡터 μk​로 사용하여 학습을 시작한다. 이는 EM 알고리즘이 더 좋은 해 근처에서 탐색을 시작하도록 돕는다.11

또한, GMM은 K-평균에 비해 계산 복잡성이 높다. 알고리즘의 매 반복마다 수행되는 E-step에서 모든 N개의 데이터 포인트와 모든 K개의 가우시안 요소 간의 확률 밀도를 계산해야 하므로, 데이터의 크기나 클러스터의 수가 증가함에 따라 계산 비용이 상당히 커진다.33

6.3 GMM의 가정과 한계

GMM의 성능은 데이터가 가우시안 분포의 혼합으로 잘 표현될 수 있다는 핵심 가정에 크게 의존한다. 만약 데이터의 실제 분포가 이 가정에서 크게 벗어나는 경우(예: 균등 분포, 초승달 모양 등), GMM은 데이터의 구조를 제대로 포착하지 못하고 성능이 저하될 수 있다.4

또한, GMM은 추정해야 할 파라미터의 수가 많다는 특징이 있다. 데이터의 차원이 D일 때, 각 가우시안 요소는 D개의 평균 파라미터와 D(D+1)/2개의 공분산 파라미터, 그리고 1개의 혼합 계수 파라미터를 가진다. 따라서 파라미터의 총 개수는 K에 비례하여 빠르게 증가하며, 특히 고차원 데이터에서는 모델을 안정적으로 추정하기 위해 충분한 양의 데이터가 요구된다.13

7. 결론: 가우시안 믹스처 모델의 종합적 평가

7.1 GMM의 핵심 가치 요약

가우시안 믹스처 모델(GMM)은 단순한 클러스터링 알고리즘을 넘어, 데이터의 내재된 확률적 구조를 이해하고 모델링하기 위한 강력하고 유연한 프레임워크를 제공한다. GMM의 핵심 가치는 다음과 같이 요약된다.

  • 유연한 모델링: 공분산 행렬을 통해 원형뿐만 아니라 타원형 등 다양한 형태와 방향성의 클러스터를 정밀하게 모델링할 수 있다.

  • 풍부한 정보 제공: 각 데이터 포인트에 대해 특정 클러스터에 속할 확률을 제공하는 ’소프트 클러스터링’을 통해, 분류의 불확실성을 정량화하고 더 깊이 있는 분석을 가능하게 한다.

  • 다양한 응용성: 데이터의 확률 밀도를 직접 추정하는 능력을 바탕으로, 클러스터링뿐만 아니라 이상치 탐지, 데이터 생성 등 광범위한 분야에 성공적으로 적용될 수 있다.

7.2 도전 과제와 미래 방향

GMM은 강력한 도구이지만, 계산 복잡성, 국소 최적해 문제로 인한 초기값 민감성, 그리고 데이터가 가우시안 분포를 따른다는 강한 가정 등 실용적인 도전 과제들을 안고 있다. 이러한 한계를 극복하기 위해 다양한 연구가 진행되고 있다. 예를 들어, 베이지안 GMM(Bayesian GMM)은 클러스터 개수 K를 데이터로부터 자동으로 추론하려는 시도이며 45, DAGMM과 같이 딥러닝 모델과 GMM을 결합하여 고차원 데이터에 대한 표현력과 성능을 극대화하려는 연구도 활발히 이루어지고 있다.21 이는 GMM이 비지도 학습 분야에서 여전히 중요한 연구 주제로 남아 있음을 시사한다.

7.3 최종 평가

결론적으로, 가우시안 믹스처 모델은 데이터 과학자와 연구자에게 데이터의 복잡한 분포를 이해하고 해석하는 데 필수적인 도구를 제공한다. 그 수학적 복잡성과 내재된 가정에 대한 명확한 이해를 바탕으로 신중하게 적용될 때, GMM은 단순한 데이터 분할을 넘어, 데이터 생성 과정에 대한 깊이 있는 통찰력을 추출하는 데 매우 효과적인 방법론이 될 수 있다. GMM의 성공적인 활용은 알고리즘 자체의 능력뿐만 아니라, 분석가의 모델 선택, 파라미터 설정, 그리고 결과 해석 능력에 달려 있다.

8. 참고 자료

  1. losskatsu.github.io, https://losskatsu.github.io/machine-learning/gmm/#:~:text=%EA%B7%A0%EC%9D%BC%EB%B6%84%ED%8F%AC-,%EA%B0%80%EC%9A%B0%EC%8B%9C%EC%95%88%20%ED%98%BC%ED%95%A9%20%EB%AA%A8%EB%8D%B8%20%EC%A0%95%EC%9D%98,%EB%9D%BC%EA%B3%A0%EB%8F%84%20%EB%B6%80%EB%A5%B4%EB%8B%88%20%ED%98%BC%EB%8F%99%20%EC%97%86%EC%9C%BC%EC%8B%9C%EA%B8%B8%20%EB%B0%94%EB%9E%8D%EB%8B%88%EB%8B%A4.
  2. [머신러닝/ML] 군집화 (Clustering) - 유진’s 공부로그, https://daebaq27.tistory.com/49
  3. GMM(Gaussian Mixture Model,가우시안 혼합모델) 원리 - 휴블로그, https://sanghyu.tistory.com/16
  4. 통계 - 가우스 혼합 모델(Gaussian Mixture Model, GMM) - Char - 티스토리, https://charstring.tistory.com/1386
  5. [머신러닝] 가우시안 혼합 모델 (Gaussian Mixture Model, GMM)과 EM …, https://untitledtblog.tistory.com/133
  6. [ASR] Gaussian Mixture Model - velog, https://velog.io/@delee12/ASR-Gaussian-Mixture-Model
  7. [머신러닝] 가우시안 혼합 모델(Gaussian mixture model) 기초 개념 …, https://losskatsu.github.io/machine-learning/gmm/
  8. 머신러닝 - 수식 없이 이해하는 Gaussian Mixture Model (GMM) - Deep Play, https://3months.tistory.com/154
  9. GMM (Gaussian Mixture Models) - 벌꿀오소리의 공부 일지 - 티스토리, https://yeong-jin-data-blog.tistory.com/entry/GMM-Gaussian-Mixture-Models
  10. 머신러닝 군집화 GMM(Gaussian Mixed Model) - 데이콘, https://dacon.io/forum/406052
  11. GMM(가우시안 혼합 모델) Clustering - DevHwi - 티스토리, https://devhwi.tistory.com/8
  12. Gaussian Mixture Model - ratsgo’s speechbook, https://ratsgo.github.io/speechbook/docs/am/gmm
    1. Gaussian Mixture Model(가우시안 혼합 모형) 클러스터링(군집 분석)에 대해서 알아보자 with Python - 부자 되고픈 꽁냥이, https://zephyrus1111.tistory.com/183
  13. Expectation Maximization! - velog, https://velog.io/@jpseo99/Expectation-Maximization
  14. [머신 러닝] 5. EM(Expectation-Maximization) Algorithm(알고리즘)에 대해서 알아보자., https://zephyrus1111.tistory.com/89
    1. EM 알고리즘(with GMM) - 문과생 네버랜드의 데이터 창고, https://www.goteodata.kr/84
  15. GMM과 EM 알고리즘 - 공돌이의 수학정리노트 (Angelo’s Math Notes), https://angeloyeo.github.io/2021/02/08/GMM_and_EM.html
  16. 혼합 모델 - 위키백과, 우리 모두의 백과사전, https://ko.wikipedia.org/wiki/%ED%98%BC%ED%95%A9_%EB%AA%A8%EB%8D%B8
  17. Gaussian Mixture Model( GMM ) - The Beautiful Future - 티스토리, https://thebeautifulfuture.tistory.com/entry/Gaussian-Mixture-Model-GMM
  18. [ML Study] GMM + EM Algorithm - 현빈 - 티스토리, https://jihb0211.tistory.com/entry/ML-Study-GMM-EM-Algorithm
  19. [논문 리뷰] 이상치 탐지 | Deep Autoencoding Gaussian Mixture …, https://slowsteadystat.tistory.com/15
  20. 기댓값 최대화 알고리즘 - 위키백과, 우리 모두의 백과사전, https://ko.wikipedia.org/wiki/%EA%B8%B0%EB%8C%93%EA%B0%92_%EC%B5%9C%EB%8C%80%ED%99%94_%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98
  21. EM Algorithms - nathan_H - 티스토리, https://nathanh.tistory.com/84
  22. Expectation Maximization - 데하 - 티스토리, https://data-science-hi.tistory.com/158
  23. [기계학습] Expectation Maximization (EM) - velog, https://velog.io/@claude_ssim/%EA%B8%B0%EA%B3%84%ED%95%99%EC%8A%B5-Expectation-Maximization-EM
  24. EM(Expectation-Maximization) 알고리즘의 완벽한 기초 - lu의 머신러닝 개발자로 살아남기, https://hi-lu.tistory.com/entry/EMExpectation-Maximization-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98%EC%9D%98-%EC%99%84%EB%B2%BD%ED%95%9C-%EA%B8%B0%EC%B4%88
  25. 군집화) GMM(Gaussian Mixture Model) - 데이터 한 그릇 - 티스토리, https://kurt7191.tistory.com/50
  26. Comparing GMM and K-Means - Tutorial - Vskills, https://www.vskills.in/certification/tutorial/comparing-gmm-and-k-means/
  27. k-means와 GMM 비교 - 숨은원리 데이터사이언스, http://ds.sumeun.org/?p=2095
  28. [머신러닝] GMM(Gaussian Mixture Model) 군집화 - 공부하응 - 티스토리, https://studying-haeung.tistory.com/14
  29. 머신러닝 Clustering - K-Means VS GMM - 세상탐험대 블로그, https://skillmemory.tistory.com/entry/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-K-Means-VS-GMM
  30. iris데이터를 gaussian mixture모형을 이용한 군집화 - Basin of Attraction - 티스토리, https://jh70035.tistory.com/entry/iris%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%A5%BC-gaussian-mixture%EB%AA%A8%ED%98%95%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EA%B5%B0%EC%A7%91%ED%99%94
  31. GMM(Gaussian Mixture Model) - Data Science, https://museonghwang.github.io/machine%20learning/2023/04/29/ml-sklearn24/
  32. Density Estimation (in Python) - Donghoon Note - 티스토리, https://dhpark1212.tistory.com/entry/Density-Estimation-in-Python
  33. Acoustic Models - ratsgo’s speechbook, https://ratsgo.github.io/speechbook/docs/am
  34. 머신러닝의 이상치 탐지 기법과 적용사례 - 공부하고 복습해서 남기자 - 티스토리, https://gustn33.tistory.com/entry/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D%EC%9D%98-%EC%9D%B4%EC%83%81%EC%B9%98-%ED%83%90%EC%A7%80-%EA%B8%B0%EB%B2%95%EA%B3%BC-%EC%A0%81%EC%9A%A9%EC%82%AC%EB%A1%80
  35. [05. 클러스터링] K-means, 평균이동, GMM, DBSCAN - Getting better - 티스토리, https://manywisdom-career.tistory.com/48
  36. [기계학습개론] Clustering, GMM - velog, https://velog.io/@bsu1209/%EA%B8%B0%EA%B3%84%ED%95%99%EC%8A%B5%EA%B0%9C%EB%A1%A0-Clustering-GMM
  37. [D] gaussian mixture clustering - has anyone used this before? : r/statistics - Reddit, https://www.reddit.com/r/statistics/comments/kwws4r/d_gaussian_mixture_clustering_has_anyone_used/
  38. clustering - In cluster analysis, how does Gaussian mixture model …, https://stats.stackexchange.com/questions/489459/in-cluster-analysis-how-does-gaussian-mixture-model-differ-from-k-means-when-we
  39. [1주차 K-mean clustering & Gaussian Mixture Model 신인섭] - KUBIG 2023-1 활동 블로그, https://kubig-2023-1.tistory.com/57
  40. Gaussian Mixture Models Clustering - Explained - Kaggle, https://www.kaggle.com/code/vipulgandhi/gaussian-mixture-models-clustering-explained
  41. [sklearn] (45) 가우시안 혼합 모델, GMM(Gaussian Mixture Model) - 얌생이처럼 공부하기, https://jaayy.tistory.com/98
  42. [Statistics] AIC(Akaike information criterion) - ok-lab - 티스토리, https://ok-lab.tistory.com/191
  43. 핸즈온 머신러닝 - Part1. 머신러닝 ch9-2. 비지도 학습 - 가우시안 혼합, https://velog.io/@lee9843/%ED%95%B8%EC%A6%88%EC%98%A8-%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-Part1.-%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-ch9-2.-%EB%B9%84%EC%A7%80%EB%8F%84-%ED%95%99%EC%8A%B5-%EA%B0%80%EC%9A%B0%EC%8B%9C%EC%95%88-%ED%98%BC%ED%95%A9
  44. GMM (Gaussian Mixture Models) - 동산 - 티스토리, https://koppie.tistory.com/21
  45. [군집] 가우시안 혼합 모델 - My Data Story - 티스토리, https://lets-start-data.tistory.com/entry/9%EC%9E%A5-%EB%B9%84%EC%A7%80%EB%8F%84-%ED%95%99%EC%8A%B5-34-%EA%B0%80%EC%9A%B0%EC%8B%9C%EC%95%88-%ED%98%BC%ED%95%A9
  46. 핸즈온 머신러닝 2 복습하기(챕터 9: 비지도 학습), https://moondol-ai.tistory.com/390
  47. [전력데이터 클러스터링]전력데이터 시간별 클러스터링_GMM - qcoding - 티스토리, https://qcoding.tistory.com/87
  48. 07-04. GMM(Gaussian Mixture Model) - velog, https://velog.io/@sset2323/07-04.-GMMGaussian-Mixture-Model