가우시안 혼합모형(GMM)
군집의 경계를 선이 아니라 확률로 표현합니다.
커피 원두를 향미에 따라 분류한다고 가정해 보겠습니다. 산미가 뚜렷한 원두, 단맛과 바디감이 균형 잡힌 원두, 진하고 묵직한 풍미를 가진 원두처럼 몇 가지 유형으로 나눌 수 있습니다.
그러나 모든 원두가 하나의 유형에만 정확하게 들어맞는 것은 아닙니다. 어떤 원두는 산미와 단맛이 모두 강해 두 유형의 특징을 함께 보일 수도 있습니다.
K-Means처럼 각 관측값을 하나의 군집에 배정하는 방법은 이런 중간적인 특성을 충분히 표현하기 어렵습니다. 가우시안 혼합모형(Gaussian Mixture Model, GMM)은 각 군집을 확률분포로 표현하고, 관측값이 각 군집에 속할 상대적인 확률을 추정합니다. 그래서 군집 사이에 경계가 뚜렷하지 않은 데이터에 유용합니다.
이번 글에서는 GMM의 기본 구조, 소속 확률과 EM 알고리즘, 공분산 설정, 군집 수 선택, 실제 결과표 해석, K-Means와의 차이 및 분석 시 주의사항을 살펴보겠습니다.
가우시안 혼합모형이란 무엇인가요?
GMM은 데이터가 여러 개의 정규분포(Gaussian Distribution)가 혼합되어 생성되었다고 가정하는 확률모형입니다.
각 정규분포는 하나의 잠재적인 군집을 나타내며, 군집마다 중심과 퍼진 정도, 변수 사이의 관계가 다를 수 있습니다.
예를 들어 원두의 산미와 바디감을 두 축으로 표현하면 한 군집은 높은 산미와 낮은 바디감 주변에, 다른 군집은 낮은 산미와 높은 바디감 주변에 분포할 수 있습니다. 두 분포가 일부 겹치는 영역에 있는 원두라면 양쪽 군집에 속할 가능성이 모두 존재합니다.
GMM은 군집별 분포를 추정한 후 각 원두에 대해 소속 확률을 계산합니다. 확률이 가장 높은 군집을 대표 군집으로 지정할 수도 있지만, 다른 군집에 속할 가능성도 함께 유지한다는 점이 중요한 특징입니다.
K-Means와 무엇이 다른가요?
K-Means는 일반적으로 관측값과 군집 중심 사이의 거리를 기준으로 관측값을 하나의 군집에 배정합니다.
반면 GMM은 각 군집의 확률분포를 이용해 소속 가능성을 계산합니다.
| 비교 항목 | K-Means | GMM |
|---|---|---|
| 군집 표현 | 중심점 | 평균과 공분산을 가진 확률분포 |
| 소속 방식 | 하나의 군집에 배정 | 군집별 소속 확률 추정 |
| 군집 형태 | 주로 구형에 가까운 거리 기반 분할 | 공분산 설정에 따라 다양한 타원형 분포 표현 가능 |
| 주요 설정 | 군집 수, 초기 중심점 | 성분 수, 공분산 형태, 초기화 |
| 대표 평가 | 실루엣 계수, 군집 내 제곱합 등 | 로그우도, AIC, BIC 등 |
단, GMM에서 가장 높은 소속 확률의 군집만 선택하면 최종적으로는 하나의 군집 레이블을 만들 수도 있습니다. 또한 GMM이 모든 비정형 군집을 잘 찾아내는 것은 아닙니다. 길게 휘어진 형태나 복잡하게 연결된 군집에서는 밀도 기반 방법이 더 적절할 수 있습니다.
실제 사례: 커피 원두 360종의 향미 데이터
한 로스터리 연구팀이 원두 360종의 관능평가 결과를 분석한다고 가정하겠습니다.
숙련된 평가자가 같은 기준으로 네 가지 향미 항목을 0~10점 척도로 평가했습니다. 연구팀은 원두의 특징을 요약하는 군집을 발견하고 새로운 원두가 기존 유형과 얼마나 비슷한지 확인하려고 합니다.
| 변수 | 의미 | 척도 |
|---|---|---|
| 산미(Acidity) | 산미의 강도 | 0~10점 |
| 단맛(Sweetness) | 단맛의 강도 | 0~10점 |
| 바디감(Body) | 입안에서 느껴지는 질감과 무게감 | 0~10점 |
| 볶은 향(Roast Aroma) | 로스팅에서 나타나는 향의 강도 | 0~10점 |
모든 원두에 네 변수의 값이 있다고 가정하고 분석 전 변수의 분포와 상관관계를 확인합니다. 실제로 원두의 향미는 품종, 산지, 로스팅 방식 등의 영향을 받지만 여기서는 향미 점수만으로 유형을 탐색합니다. 따라서 군집을 특정 산지나 품종의 확정적인 분류로 해석하지 않습니다.
연구 질문은 '향미 프로필이 비슷한 원두는 몇 가지 유형으로 나뉘며, 각 원두의 군집 소속 가능성은 어느 정도인가?'입니다.
GMM은 어떤 확률모형을 사용하나요?
GMM은 전체 데이터의 확률밀도를 여러 정규분포의 가중합으로 표현합니다.
p(xi) = Σk πk · N(xi | μk, Σk)
여기서 K는 혼합 성분 수, πk는 성분 k의 혼합비율, μk는 평균벡터, Σk는 공분산행렬입니다. 혼합비율은 0 이상이며 모두 더하면 1이 됩니다.
예를 들어 세 성분의 혼합비율이 0.40, 0.35, 0.25라면 전체 분포가 세 정규분포의 혼합으로 설명된다는 의미입니다. 혼합비율 자체가 실제 표본에서 최종 배정된 관측값의 비율과 반드시 같지는 않습니다.
특히 관측값을 최대 확률 군집에 배정하면 성분별 인원은 혼합비율에서 계산한 기대 인원과 다를 수 있습니다.
소속 확률은 어떻게 계산하나요?
GMM은 각 관측값이 특정 성분에서 생성되었을 사후확률을 계산합니다.
이를 책임도(Responsibility) 또는 소속 확률이라고 부릅니다. 예를 들어 원두 A의 소속 확률이 다음과 같이 나왔다고 가정하겠습니다.
| 군집 | 소속 확률 |
|---|---|
| 군집 1 | 0.68 |
| 군집 2 | 0.27 |
| 군집 3 | 0.05 |
| 합계 | 1.00 |
원두 A는 군집 1에 속할 가능성이 가장 높지만, 군집 2의 특성도 일부 공유하는 것으로 볼 수 있습니다. 대표 군집을 군집 1로 표시하더라도 소속 확률 0.68을 함께 제공하면 분류가 얼마나 뚜렷한지 확인할 수 있습니다.
다만 이 확률은 선택한 GMM과 추정된 파라미터가 적절하다는 조건에서의 모형 기반 확률입니다. 실제 원두 유형의 진실을 68% 확신한다는 의미로 받아들여서는 안 됩니다.
EM 알고리즘은 어떻게 작동하나요?
GMM의 파라미터는 일반적으로 최대우도추정을 이용해 구하며, 대표적인 계산 절차가 EM(Expectation–Maximization) 알고리즘입니다.
EM은 관측값의 잠재적인 성분 소속을 추정하는 과정과 성분별 파라미터를 갱신하는 과정을 반복합니다.
먼저 초기 평균, 공분산 및 혼합비율을 설정합니다. E단계(Expectation)에서는 현재 파라미터를 이용해 모든 관측값의 성분별 소속 확률을 계산합니다. M단계(Maximization)에서는 계산된 확률을 가중치로 사용해 성분별 평균과 공분산, 혼합비율을 다시 추정합니다.
이 두 단계를 반복하다가 로그우도의 증가 폭이 충분히 작아지는 등 수렴 조건을 만족하면 종료합니다. 다만 EM은 시작값에 따라 서로 다른 국소 최적해에 수렴할 수 있으므로 여러 초기값으로 반복 실행하고 결과의 안정성을 확인하는 것이 좋습니다.
공분산 설정은 왜 중요한가요?
GMM은 성분마다 공분산행렬을 어떻게 설정하는지에 따라 표현할 수 있는 군집의 모양이 달라집니다.
| 설정 | 의미 | 특징 |
|---|---|---|
| spherical | 성분별로 하나의 분산값 사용 | 구형 분포 가정 |
| diag | 각 성분의 대각 공분산행렬 사용 | 변수별 분산은 다르지만 성분 내 공분산은 0으로 가정 |
| tied | 모든 성분이 동일한 전체 공분산행렬 사용 | 성분마다 평균은 달라도 퍼진 형태는 공유 |
| full | 성분별 전체 공분산행렬 사용 | 변수 간 공분산과 다양한 타원형 형태 허용 |
예를 들어 산미와 단맛 사이의 관계가 군집마다 다르다면 full 설정이 이를 더 유연하게 표현할 수 있습니다. 하지만 추정해야 할 파라미터가 많아져 표본이 적을 때 불안정할 수 있습니다.
따라서 full을 무조건 선택하기보다는 데이터의 크기와 변수 수, 공분산행렬의 안정성, 정보기준과 해석 가능성을 함께 고려해야 합니다.
분석 전에 표준화가 필요한가요?
이번 예제의 향미 항목들은 모두 0~10점 척도이지만, 서로 다른 변수의 실제 변동 범위는 다를 수 있습니다.
또한 다른 데이터를 사용한다면 산미는 0~10점, 향 관련 지표는 0~100점처럼 측정 단위 자체가 달라질 수도 있습니다.
GMM은 변수들의 척도에 따라 추정되는 평균과 공분산, 소속 확률이 달라질 수 있으므로 분석 전에 척도와 분포를 확인해야 합니다. 필요하다면 평균 0, 표준편차 1이 되도록 표준화할 수 있습니다.
다만 표준화가 언제나 정답은 아닙니다. 특정 변수가 실질적으로 더 중요한 정보를 갖거나 측정 단위 자체에 의미가 있다면 해당 구조를 유지하는 편이 적절할 수 있습니다. 따라서 표준화 여부는 분석 목적에 따라 결정하고 보고해야 합니다.
성분 수는 어떻게 결정하나요?
GMM에서는 군집 수에 해당하는 성분 수 K를 정해야 합니다.
흔히 1개부터 여러 개까지 후보 모형을 추정한 뒤 AIC나 BIC 같은 정보기준을 비교합니다. 정보기준은 모형의 적합도와 복잡도를 함께 고려합니다. 같은 데이터와 비교 가능한 우도 정의를 사용했다면 일반적으로 값이 낮을수록 선호됩니다.
| 성분 수(K) | BIC |
|---|---|
| 1 | 4,250 |
| 2 | 3,980 |
| 3 | 3,820 |
| 4 | 3,855 |
| 5 | 3,890 |
이 결과에서는 세 성분 모형의 BIC가 가장 낮으므로 유력한 후보가 됩니다. 하지만 BIC가 가장 낮다는 사실만으로 세 개의 실제 집단이 존재한다고 증명되는 것은 아닙니다. 초기화에 따른 안정성, 각 성분의 크기와 해석 가능성, 예측 목적 등을 함께 검토해야 합니다.
군집별 특성은 어떻게 해석하나요?
세 성분 모형을 선택한 뒤 각 원두를 가장 높은 소속 확률의 군집에 배정했다고 가정하겠습니다.
| 군집 | 대표 배정 수 | 산미 | 단맛 | 바디감 | 볶은 향 |
|---|---|---|---|---|---|
| 군집 1 | 144종 | 8.1 | 6.2 | 3.4 | 3.1 |
| 군집 2 | 126종 | 5.6 | 8.0 | 5.7 | 5.0 |
| 군집 3 | 90종 | 3.2 | 4.8 | 8.2 | 8.5 |
| 합계 | 360종 |
대표 배정 수는 소속 확률의 최댓값으로 정한 레이블 기준입니다.
군집 1은 산미가 높고 바디감과 볶은 향이 약한 유형으로, 군집 2는 단맛이 높고 여러 특성이 비교적 균형 잡힌 유형으로 해석할 수 있습니다. 군집 3은 바디감과 볶은 향이 강한 유형입니다.
이러한 이름은 모델이 자동으로 부여한 객관적인 진단명이 아닙니다. 분석자가 변수의 특징을 읽고 붙인 해석적 레이블입니다. 또한 이 표의 평균은 최종 배정된 원두들을 기준으로 계산한 값이므로 모형의 혼합 성분 평균벡터와 정확히 일치하지 않을 수도 있습니다.
소속이 애매한 원두는 어떻게 확인하나요?
GMM은 군집 간 경계에 있는 관측값을 찾는 데 유용합니다.
예를 들어 어떤 원두는 가장 높은 소속 확률이 0.95로 뚜렷한 반면, 다른 원두는 0.43과 0.40처럼 두 성분에 비슷한 확률을 보일 수 있습니다.
| 원두 | 군집 1 | 군집 2 | 군집 3 | 대표 군집 |
|---|---|---|---|---|
| A | 0.95 | 0.04 | 0.01 | 군집 1 |
| B | 0.43 | 0.40 | 0.17 | 군집 1 |
| C | 0.08 | 0.12 | 0.80 | 군집 3 |
원두 B는 대표 군집이 1이지만 군집 2에 속할 가능성도 비슷합니다. 이러한 경우 단일 레이블만 제시하면 두 유형의 특징을 공유한다는 정보를 놓칠 수 있습니다.
따라서 결과 보고서나 실제 분류 시스템에서는 대표 군집과 함께 최대 소속 확률 또는 전체 소속 확률을 제공하는 것이 좋습니다. 단, 소속 확률이 낮게 나타났다는 이유만으로 그 관측값이 데이터 오류나 이상치라고 단정해서는 안 됩니다.
GMM 분석에서 주의해야 할 점
정규분포 가정이 실제 자료와 맞는지 확인해야 합니다.
GMM은 여러 정규분포의 혼합을 가정하므로 복잡한 곡선형 구조나 매우 비정규적인 군집에서는 부적절할 수 있습니다. 군집별 분포와 잔차에 해당하는 적합도 진단, 시각화 등을 함께 검토해야 합니다.
초기값과 국소 최적해에 주의해야 합니다.
EM 알고리즘은 시작값에 따라 다른 결과에 수렴할 수 있습니다. 여러 초기값으로 추정하고 로그우도 및 군집 구성이 얼마나 안정적인지 확인하는 것이 좋습니다.
성분 수가 실제 집단 수와 동일하다고 단정하지 않아야 합니다.
하나의 복잡한 집단을 여러 정규분포 성분으로 근사하는 경우도 있습니다. 따라서 혼합 성분은 통계적 설명 단위이며 언제나 명확한 실제 집단을 의미하지는 않습니다.
공분산행렬의 추정 안정성을 확인해야 합니다.
성분에 속하는 관측값이 매우 적거나 변수가 지나치게 많으면 공분산 추정이 불안정해질 수 있습니다. 정규화 옵션, 변수 축소, 성분 수 조정 등을 검토할 수 있습니다.
클러스터링 결과를 인과관계나 공식 품질 등급으로 해석하지 않아야 합니다.
향미에 따라 군집을 만들었다고 해서 특정 로스팅 방법이 해당 향미를 유발했다고 증명되는 것은 아닙니다. 또한 군집 레이블은 연구 목적에 따라 붙인 해석적인 이름입니다.
GMM 결과는 어떻게 보고하나요?
GMM 결과를 보고할 때는 분석 변수와 전처리, 표본 수, 성분 수 결정 과정, 공분산 설정, 초기화와 수렴 여부, 성분별 특징 및 소속 확률 해석을 함께 제시하는 것이 좋습니다.
결과 보고 예시
원두 360종의 향미 프로필을 분류하기 위해 가우시안 혼합모형(GMM)을 적용하였다. 분석에는 산미, 단맛, 바디감, 볶은 향의 네 변수를 사용하였다. 성분 수를 1~5개로 설정한 후보 모형의 BIC를 비교한 결과 세 성분 모형에서 가장 낮은 값(BIC = 3,820)이 나타났다.
각 원두를 최대 소속 확률에 따라 분류했을 때 군집 1은 144종, 군집 2는 126종, 군집 3은 90종으로 구성되었다. 군집 1은 높은 산미, 군집 2는 높은 단맛, 군집 3은 강한 바디감과 볶은 향이 특징이었다. 일부 원두는 두 성분에 비슷한 소속 확률을 보여 군집 간 경계가 뚜렷하지 않음을 확인할 수 있었다. 이러한 결과는 원두의 향미 특징을 세 가지 확률적 유형으로 요약하는 데 도움이 되지만, 성분이 실제 원두 품종이나 산지를 직접 나타낸다고 해석할 수는 없다.
실제 연구에서는 사용한 공분산 형태, 초기화 횟수와 수렴 여부, 혼합비율, 성분별 모수 및 안정성 검토 결과도 제시해야 합니다.
GMM은 군집의 경계를 확률로 표현합니다
가우시안 혼합모형은 데이터를 여러 정규분포의 혼합으로 설명하고 각 관측값의 군집별 소속 확률을 추정하는 방법입니다.
관측값을 하나의 군집에 배정하는 것뿐 아니라 둘 이상의 군집에 걸쳐 있는 정도를 살펴볼 수 있다는 점이 특징입니다.
GMM에서는 EM 알고리즘으로 혼합비율과 평균, 공분산을 추정하고 AIC·BIC, 초기화 안정성, 군집별 해석 가능성 등을 고려해 모형을 선택합니다. 다만 정규분포 가정과 성분 수, 공분산 설정에 따라 결과가 달라지므로 분석 설정과 한계를 함께 보고해야 합니다.
GMM의 핵심은 데이터를 몇 개의 군집으로 나누는 데서 끝나지 않고, 각 관측값이 여러 군집의 특성을 어느 정도 공유하는지 확률적으로 설명하는 데 있습니다.