가우시안 혼합 모델
1. 개요
1. 개요
가우시안 혼합 모델(Gaussian Mixture Model, GMM)은 확률론과 통계학에서 사용되는 확률 밀도 함수의 한 형태이다. 이 모델은 여러 개의 정규 분포(가우시안 분포)를 선형 결합하여 복잡한 형태의 데이터 분포를 표현한다. 각 정규 분포는 하나의 구성 요소를 나타내며, 전체 모델은 이러한 구성 요소들의 가중합으로 정의된다. 가우시안 혼합 모델은 데이터가 여러 개의 서로 다른 하위 집단(혹은 클러스터)으로부터 생성되었다고 가정하는 생성 모델로 해석될 수 있다.
주요 응용 분야는 군집화, 밀도 추정, 이상 탐지 등이다. 특히 패턴 인식과 기계 학습 분야에서 널리 사용되며, 데이터의 숨겨진 구조를 발견하는 데 유용하다. 모델의 모수는 각 구성 요소의 가중치, 평균 벡터, 공분산 행렬이며, 이는 주로 기댓값 최대화 알고리즘(EM 알고리즘)을 통해 관측 데이터로부터 추정된다.
가우시안 혼합 모델의 장점은 모델의 유연성과 확률적 해석 가능성에 있다. 임의의 형태의 연속형 데이터 분포를 근사할 수 있으며, 각 데이터 포인트가 특정 구성 요소에 속할 확률을 제공한다. 이는 K-평균 군집화와 같은 하드 할당 방식을 사용하는 알고리즘과 대비되는 특징이다. 단점으로는 모수 추정 과정의 계산 비용이 높을 수 있으며, 초기값과 클러스터 개수 선택에 민감할 수 있다는 점이 있다.
2. 수학적 정의와 모델 구조
2. 수학적 정의와 모델 구조
가우시안 혼합 모델(GMM)은 여러 개의 정규 분포(가우시안 분포)의 선형 결합으로 데이터의 확률 분포를 모델링하는 확률 모델이다. 이 모델은 관측된 데이터가 서로 다른 특성을 가진 여러 개의 하위 그룹(성분)으로부터 생성되었다고 가정하며, 각 하위 그룹은 하나의 정규 분포로 표현된다.
확률 밀도 함수
가우시안 혼합 모델의 확률 밀도 함수(PDF)는 K개의 정규 분포 성분의 가중합으로 정의된다. 수식은 다음과 같다.
p(x | Θ) = Σ_{k=1}^{K} π_k * N(x | μ_k, Σ_k)
여기서,
x: D차원의 관측 데이터 벡터
K: 혼합 모델을 구성하는 정규 분포 성분의 개수
π_k: k번째 성분의 혼합 가중치이며, Σ_{k=1}^{K} π_k = 1 과 0 ≤ π_k ≤ 1 의 조건을 만족한다.
N(x | μ_k, Σ_k): k번째 성분의 다변량 정규 분포 확률 밀도 함수
μ_k: k번째 성분의 D차원 평균 벡터
Σ_k: k번째 성분의 D×D 공분산 행렬
Θ = {π_1,...,π_K, μ_1,...,μ_K, Σ_1,...,Σ_K}: 모델의 전체 모수 집합
모수: 가중치, 평균, 공분산
가우시안 혼합 모델의 모수는 각 성분별로 세 가지 종류가 있다.
모수 | 설명 | 역할 |
|---|---|---|
혼합 가중치 (π_k) | 데이터가 k번째 성분에서 생성될 사전 확률 | 각 성분의 전체 모델 내 상대적 중요도 결정 |
평균 벡터 (μ_k) | k번째 정규 분포 성분의 중심 위치 | 해당 클러스터의 중심을 정의 |
공분산 행렬 (Σ_k) | k번째 성분의 형태, 방향, 확산 정도 | 클러스터의 모양(타원형 등)과 크기를 제어 |
공분산 행렬의 형태는 모델의 복잡도와 유연성을 결정한다. 일반적으로 사용되는 제약 조건은 다음과 같다.
'full': 각 성분이 자유로운 방향과 형태를 가진 완전한 행렬[1].
'diag': 각 성분의 공분산 행렬이 대각 행렬이며, 특징 축과 정렬된 타원체 형태를 가짐.
'spherical' 또는 'tied': 모든 성분이 동일한 분산을 공유하거나 구형 공분산을 가짐.
이 구조를 통해 GMM은 K-평균과 달리 서로 다른 크기, 상관관계, 밀도를 가진 타원형 클러스터를 모델링할 수 있다.
2.1. 확률 밀도 함수
2.1. 확률 밀도 함수
가우시안 혼합 모델(GMM)의 핵심은 여러 개의 정규 분포(가우시안 분포)가 결합된 형태의 확률 밀도 함수(PDF)를 사용하여 데이터를 모델링하는 것이다. K개의 혼합 성분(mixture component)으로 구성되며, 각 성분은 자신만의 평균 벡터와 공분산 행렬을 가진다. 전체 모델의 확률 밀도 함수는 각 성분의 확률 밀도 함수를 가중합한 형태로 정의된다.
수학적으로, D차원 데이터 벡터 x에 대한 가우시안 혼합 모델의 확률 밀도 함수 p(x)는 다음과 같이 표현된다.
p(x) = Σ_{k=1}^{K} π_k * N(x | μ_k, Σ_k)
여기서,
* K는 혼합 성분의 총 개수이다.
* π_k는 k번째 성분의 혼합 가중치(mixing weight)로, Σ_{k=1}^{K} π_k = 1이고 0 ≤ π_k ≤ 1을 만족한다. 이는 데이터가 k번째 성분에서 생성될 사전 확률을 의미한다.
* N(x | μ_k, Σ_k)는 k번째 성분의 다변량 정규 분포 확률 밀도 함수이다. 평균 벡터 μ_k와 공분산 행렬 Σ_k에 의해 정의된다.
* μ_k는 D차원의 평균 벡터이다.
* Σ_k는 D×D 크기의 공분산 행렬로, 일반적으로 대칭적이고 양의 정부호(positive definite) 행렬이다.
이 확률 밀도 함수는 데이터 공간에 존재하는 여러 군집(성분)의 형태를 유연하게 표현할 수 있다. 공분산 행렬의 구조(예: 대각 행렬, 전체 행렬, 공유 행렬)에 따라 성분의 모양(타원체의 방향과 크기)이 결정되어 구형, 타원형 등 다양한 형태의 클러스터를 모델링할 수 있다.
2.2. 모수: 가중치, 평균, 공분산
2.2. 모수: 가중치, 평균, 공분산
가우시안 혼합 모델의 모수는 크게 세 가지 종류로 구성된다. 각각은 혼합 모델의 구조와 각 가우시안 성분의 특성을 정의하는 역할을 한다.
첫 번째 모수는 혼합 가중치이다. 이는 전체 데이터 집합에서 각 개별 가우시안 성분이 차지하는 비율을 나타낸다. K개의 성분이 있을 때, k번째 성분의 가중치를 π_k라 하며, 모든 가중치의 합은 1이 된다. 가중치는 특정 데이터 포인트가 어느 성분에서 생성되었을 사전 확률로 해석된다.
두 번째와 세 번째 모수는 각 가우시안 성분 자체의 특성을 정의한다. 각 성분 k는 평균 벡터 μ_k와 공분산 행렬 Σ_k를 모수로 갖는다. 평균 벡터는 해당 성분의 중심 위치를 결정한다. 공분산 행렬은 성분의 형태, 방향, 그리고 퍼짐 정도를 결정한다. 공분산 행렬의 설정에 따라 성분의 모양이 다양하게 변화한다.
공분산 행렬 유형 | 설명 | 모양의 특징 |
|---|---|---|
구형(Spherical) | 대각 성분이 모두 같고 비대각 성분이 0인 행렬 (Σ = σ²I) | 모든 방향으로 동일하게 퍼진 원형/구형 |
대각형(Diagonal) | 대각 성분만 있고 값이 서로 다를 수 있음, 비대각 성분은 0 | 좌표축 방향으로 정렬된 타원체/타원 |
완전형(Full) | 대각 및 비대각 성분 모두 존재, 대칭 행렬 | 임의의 방향을 가진 타원체/타원 |
공분산 행렬의 선택은 모델의 복잡도와 표현력에 직접적인 영향을 미친다. 완전형 공분산은 가장 유연하지만 추정해야 할 모수의 수가 많아지고 계산 비용이 증가한다. 반면, 구형이나 대각형은 모수 수가 적어 계산 효율이 높지만 데이터의 구조를 제한적으로만 표현할 수 있다.
3. 모수 추정: EM 알고리즘
3. 모수 추정: EM 알고리즘
가우시안 혼합 모델의 모수, 즉 각 가우시안 분포의 가중치(π_k), 평균 벡터(μ_k), 공분산 행렬(Σ_k)를 추정하는 데 가장 널리 사용되는 방법은 기대값 최대화 알고리즘(EM 알고리즘)이다. 이 알고리즘은 관측 데이터만으로는 직접 최대우도추정을 수행하기 어려운 잠재 변수 모델에 대해, 잠재 변수의 기대값을 계산하는 E-스텝과 이를 바탕으로 모수를 최대화하는 M-스텝을 반복하여 점진적으로 우도를 증가시키고 모수를 추정한다.
E-스텝(Expectation Step): 현재 추정된 모수(θ^(t))를 바탕으로, 각 데이터 포인트 x_i가 각 성분 k에 속할 사후 확률, 즉 책임도(responsibility) γ_{ik}를 계산한다. 이는 베이즈 정리를 적용한 것으로, 데이터 x_i가 k번째 성분에서 생성되었을 확률이다.
γ_{ik} = P(z_i = k | x_i, θ^(t)) = [π_k^(t) * N(x_i | μ_k^(t), Σ_k^(t))] / [Σ_{j=1}^K π_j^(t) * N(x_i | μ_j^(t), Σ_j^(t))]
여기서 z_i는 데이터 x_i의 잠재적인 클러스터 할당을 나타내는 변수이다. 계산된 γ_{ik}는 소프트 할당(soft assignment)으로, 각 데이터 포인트가 여러 클러스터에 부분적으로 속할 수 있음을 반영한다.
M-스텝(Maximization Step): E-스텝에서 계산된 책임도 γ_{ik}를 고정한 상태에서, 완전 데이터(관측 데이터와 잠재 할당을 함께 고려한 데이터)의 로그 우도 기대값(Q 함수)을 최대화하는 새로운 모수 θ^(t+1)를 업데이트한다. 업데이트 공식은 다음과 같다.
효과적 데이터 수: N_k = Σ_{i=1}^N γ_{ik}
새로운 가중치: π_k^(t+1) = N_k / N
새로운 평균: μ_k^(t+1) = (1/N_k) * Σ_{i=1}^N γ_{ik} * x_i
새로운 공분산: Σ_k^(t+1) = (1/N_k) * Σ_{i=1}^N γ_{ik} * (x_i - μ_k^(t+1)) (x_i - μ_k^(t+1))^T
이 업데이트는 각 성분 k에 대해, 책임도 γ_{ik}를 가중치로 한 데이터의 가중 평균과 가중 공분산을 계산하는 것과 같다.
EM 알고리즘은 E-스텝과 M-스텝을 로그 우도가 수렴할 때까지 반복한다. 알고리즘은 국소 최적점(local optimum)으로 수렴한다는 것이 보장되지만, 초기값에 민감하므로 여러 초기화를 시도하는 것이 일반적이다[2].
3.1. E-스텝: 기대값 계산
3.1. E-스텝: 기대값 계산
E-스텝(Expectation Step)은 EM 알고리즘이 각 반복에서 수행하는 첫 번째 단계로, 현재의 모수 추정치 하에서 각 데이터 포인트가 각 가우시안 분포 성분에 속할 사후 확률을 계산하는 과정이다. 이 단계에서는 모수들이 고정되어 있다고 가정하고, 관측되지 않은 잠재 변수인 클러스터 할당에 대한 기대값을 구한다.
구체적으로, *n*번째 데이터 포인트 x_n이 *k*번째 성분에서 생성되었을 확률인 책임도(responsibility) γ(z_nk)를 계산한다. 책임도는 베이즈 정리를 적용하여 다음과 같이 구한다.
γ(z_nk) = (π_k * N(x_n | μ_k, Σ_k)) / (∑_{j=1}^K π_j * N(x_n | μ_j, Σ_j))
여기서 π_k는 *k*번째 성분의 가중치, N(x_n | μ_k, Σ_k)는 *k*번째 가우시안 분포의 확률 밀도 함수 값이다. 분모는 모든 *K*개 성분에 대한 가중치와 확률 밀도의 합으로, 정규화 상수 역할을 한다. 계산된 γ(z_nk)는 0과 1 사이의 값을 가지며, 모든 성분 *k*에 대한 합은 1이 된다.
이 계산 결과는 각 데이터 포인트가 각 클러스터에 얼마나 '속해 있는지'에 대한 연속적인 소속도를 나타내는 소프트 할당을 제공한다. 이는 K-평균 군집화의 하드 할당(한 포인트가 오직 하나의 클러스터에만 속함)과 대비되는 개념이다. E-스텝에서 계산된 책임도 행렬은 다음 M-스텝에서 모수(평균, 공분산, 가중치)를 업데이트하는 데 필수적인 충분 통계량(sufficient statistics)으로 사용된다.
3.2. M-스텝: 최대화
3.2. M-스텝: 최대화
M-스텝(Maximization Step)에서는 E-스텝에서 계산한 책임도 γ(z_nk)를 고정한 상태에서, 완전 데이터 로그 가능도의 기대값 Q(θ, θ^(old))를 최대화하는 새로운 모수 θ^(new)를 계산한다. 이는 각 모수에 대해 Q 함수를 편미분하여 0이 되는 지점을 찾는 방식으로 수행된다.
새로운 모수는 다음과 같은 닫힌 형태(closed-form)의 업데이트 공식으로 구해진다. 먼저, k번째 가우시안 분포의 새로운 가중치 π_k^(new)는 해당 성분에 할당된 데이터 포인트들의 책임도 합을 전체 데이터 수 N으로 나눈 값이다. 새로운 평균 벡터 μ_k^(new)는 책임도로 가중치를 부여한 데이터 포인트들의 가중 평균이다. 새로운 공분산 행렬 Σ_k^(new)는 책임도로 가중치를 부여한 데이터 포인트들과 새로운 평균 간의 편차의 가중 외적 합을 같은 정규화 상수로 나눠서 계산한다.
모수 | 업데이트 공식 |
|---|---|
가중치 (π_k) | π_k^(new) = (1/N) Σ_{n=1}^N γ(z_nk) |
평균 (μ_k) | μ_k^(new) = (Σ_n γ(z_nk) x_n) / (Σ_n γ(z_nk)) |
공분산 (Σ_k) | Σ_k^(new) = (Σ_n γ(z_nk) (x_n - μ_k^(new))(x_n - μ_k^(new))^T) / (Σ_n γ(z_nk)) |
이렇게 업데이트된 모수 θ^(new) = {π_k^(new), μ_k^(new), Σ_k^(new)}는 이전 모수 θ^(old)보다 데이터의 로그 가능도를 증가시키거나 변화가 없게 만든다. M-스텝이 완료되면, 새로운 모수를 사용하여 다시 E-스텝으로 돌아가 새로운 책임도를 계산한다. E-스텝과 M-스텝을 반복하여 로그 가능도가 수렴할 때까지 이 과정을 계속한다.
4. 클러스터 개수 결정
4. 클러스터 개수 결정
적절한 클러스터 개수 K를 결정하는 것은 가우시안 혼합 모델을 적용하는 데 있어 핵심 과제 중 하나이다. 사전에 K를 알 수 없는 경우가 많기 때문에, 데이터의 구조를 가장 잘 설명하는 K를 선택하기 위한 여러 정보 기준과 경험적 방법이 사용된다.
가장 일반적으로 사용되는 통계적 기준은 베이지안 정보 기준(BIC)과 아카이케 정보 기준(AIC)이다. 두 기준 모두 모델의 우도(적합도)에 모델의 복잡도에 대한 페널티를 더한 값을 계산한다. 복잡한 모델(클러스터 개수가 많은 모델)은 우도가 높을 수 있지만, 과적합의 위험이 있다. BIC와 AIC는 이 균형을 맞추려 하며, 값이 더 작은 모델을 선호한다. 일반적으로 BIC가 모델의 단순함을 더 강하게 장려하는 것으로 알려져 있다. K의 후보 값들에 대해 GMM을 학습시키고 각각의 BIC와 AIC를 계산한 후, 기준 값이 최소가 되는 K를 선택한다.
또 다른 실용적인 방법은 엘보우 방법이다. 이 방법은 K 값을 변화시키면서 모델의 로그 우도나 BIC 같은 목적 함수 값을 플롯한다. K가 증가함에 따라 목적 함수 값은 초기에는 급격히 개선되다가, 특정 K 점 이후부터는 개선 폭이 현저히 줄어든다. 이 변화의 꺾이는 지점, 즉 "팔꿈치"처럼 보이는 점이 최적의 클러스터 개수 후보가 된다. 이 방법은 시각적 판단에 의존하지만 직관적이다. 수렴 문제와 초기값 민감성으로 인해 단일 실행보다는 여러 번의 무작위 초기화를 통한 평균적인 경향을 살펴보는 것이 권장된다.
방법 | 핵심 아이디어 | 장점 | 단점 |
|---|---|---|---|
우도와 모델 복잡도(파라미터 수)의 균형을 정보 이론적으로 평가 | 이론적 근거가 명확하고 자동화된 선택 가능 | 계산 비용이 상대적으로 높음 | |
모델 성능 개선의 한계점(감소하는 수익)을 시각적으로 탐지 | 직관적 이해가 쉽고 구현이 간단 | 주관적 판단이 개입될 수 있음 |
4.1. BIC와 AIC
4.1. BIC와 AIC
BIC와 AIC는 통계 모델 선택에 널리 사용되는 정보 기준 지표이다. 두 지표 모두 모델의 적합도와 복잡도(모수 개수)를 동시에 고려하여 최적의 모델을 선택하는 데 목적이 있다. 가우시안 혼합 모델에서는 이 지표들을 사용하여 데이터에 가장 적합한 클러스터의 개수 K를 결정한다.
두 지표의 계산 공식과 특징은 다음과 같다.
지표 | 공식 (로그 가능도 기반) | 주요 특징 |
|---|---|---|
-2 * log(L) + 2 * p | 점근적 근거. 표본 크기가 클수록 편향이 적음. 과적합 경향이 BIC보다 약간 높을 수 있음. | |
-2 * log(L) + p * log(N) | 베이지안 근거. 표본 크기(N)에 대한 페널티가 더 큼. 과소적합을 방지하고 더 간단한 모델을 선호하는 경향이 있음. |
여기서 L은 모델의 최대 가능도, p는 모델의 자유 모수 개수, N은 표본(데이터 포인트)의 총 개수이다. 두 지표 모두 값이 작을수록 더 나은 모델로 평가한다. 가우시안 혼합 모델의 경우, K 값을 변화시키며 모델을 학습시키고 각 K에 대한 BIC와 AIC 값을 계산한다. 일반적으로 지표 값이 급격히 감소하다가 완만해지는 지점의 K를 선택하거나, 최소값을 갖는 K를 선택한다.
4.2. 엘보우 방법
4.2. 엘보우 방법
엘보우 방법은 K-평균 군집화 알고리즘에서 주로 사용되는 휴리스틱 기법으로, 가우시안 혼합 모델에서도 클러스터 개수 K를 결정하는 데 응용될 수 있다. 이 방법의 핵심 아이디어는 모델의 성능 지표(일반적으로 로그-우도 또는 왜곡)를 클러스터 개수 K의 함수로 그래프화했을 때, 성능 향상이 현저히 줄어드는 지점, 즉 "팔꿈치(elbow)"처럼 꺾이는 점을 최적의 K로 선택하는 것이다.
구체적으로, 사전에 설정한 K의 범위(예: 1부터 10까지)에 대해 각 K값으로 가우시안 혼합 모델을 훈련시키고, 모델의 로그-우도(log-likelihood) 또는 EM 알고리즘의 목적 함수인 완전 데이터 로그-우도의 기대값을 계산한다. K가 증가할수록 모델의 복잡도가 올라가 데이터에 더 잘 적합되므로, 일반적으로 로그-우도 값은 단조 증가한다. 엘보우 방법은 이 증가 추세가 크게 둔화되는 지점을 찾는 과정이다. 예를 들어, K=4까지는 로그-우도가 급격히 상승하다가 K=5부터는 그 증가폭이 미미해진다면, K=4를 "엘보우 포인트"로 간주한다.
클러스터 개수 (K) | 로그-우도 값 | 증가폭 (Δ) |
|---|---|---|
1 | -1500 | - |
2 | -1200 | 300 |
3 | -1050 | 150 |
4 | -980 | 70 |
5 | -960 | 20 |
6 | -955 | 5 |
위 표에서 K=4에서 K=5로 넘어갈 때의 증가폭(Δ=20)이 K=3에서 K=4로 넘어갈 때의 증가폭(Δ=70)에 비해 현저히 작아진다. 따라서 K=4가 엘보우 포인트 후보가 된다. 이 방법은 직관적이고 구현이 간단하지만, "팔꿈치"가 명확하지 않은 경우가 많아 주관적인 판단이 개입될 수 있다는 한계가 있다. 또한 BIC와 AIC와 같은 정보 기준과 달리 정형화된 통계적 검정 기준을 제공하지는 않는다.
5. 초기화 및 수렴 문제
5. 초기화 및 수렴 문제
가우시안 혼합 모델의 EM 알고리즘은 모수를 반복적으로 추정하여 최대 우도를 찾아가는 과정이다. 이 알고리즘은 초기값에 민감하며, 잘못된 초기화는 지역 최적해에 빠지거나 수렴 속도가 매우 느려지는 문제를 일으킨다. 또한, 공분산 행렬이 특이행렬이 되거나 클러스터의 가중치가 0에 수렴하는 등의 수치적 불안정성도 발생할 수 있다.
초기화 방법은 크게 무작위 초기화와 휴리스틱 기반 초기화로 나눌 수 있다. 무작위 초기화는 평균 벡터를 데이터 포인트 중 무작위로 선택하거나 작은 무작위 노이즈를 추가하는 방식이다. 이 방법은 간단하지만 일관된 결과를 보장하지 않는다. 더 나은 방법으로는 K-평균 군집화 알고리즘을 실행하여 얻은 클러스터 중심을 평균의 초기값으로 사용하는 것이다. K-평균의 결과는 GMM의 EM 알고리즘에 대한 합리적인 시작점을 제공하여 수렴을 가속화하고 더 나은 전역 최적해에 도달할 가능성을 높인다.
수렴 문제는 주로 알고리즘이 국소 최적해에 갇히는 현상과 관련된다. EM 알고리즘은 우도를 단조 증가시키지만, 초기값이 어디에 있느냐에 따라 다른 최종 해에 도달할 수 있다. 이를 완화하기 위해 여러 다른 초기값으로 알고리즘을 여러 번 실행하고 가장 높은 우도 값을 내는 결과를 선택하는 방법이 널리 사용된다. 또한, 공분산 행렬의 형태를 제약(예: 대각 행렬 또는 구형 공분산)하여 모델의 자유도를 줄이고 수치적 안정성을 높이는 전략도 있다.
문제 유형 | 원인 | 완화 전략 |
|---|---|---|
지역 최적해 | 초기값이 특정 지역 최적점 근처에 위치 | 다중 초기화 실행 및 최적 결과 선택 |
수렴 속도 저하 | 초기값이 실제 모수와 거리가 멈 | K-평균 결과를 초기값으로 활용 |
수치적 불안정성 | 공분산 행렬의 특이성 또는 가중치 소실 | 공분산 행렬에 사전 정규화 추가, 형태 제약 |
6. 응용 분야
6. 응용 분야
가우시안 혼합 모델(GMM)은 데이터의 확률 분포를 여러 개의 정규 분포 성분의 가중합으로 모델링하여, 다양한 응용 분야에서 군집화, 밀도 추정, 분류 등의 작업에 활용된다. 그 유연성 덕분에 컴퓨터 비전, 음성 처리, 이상 감지 등 여러 분야에서 핵심적인 도구로 사용된다.
이미지 처리 분야에서는 이미지 분할에 널리 적용된다. 픽셀의 색상이나 텍스처 특징을 특징 벡터로 간주하고, GMM을 통해 서로 다른 물체나 영역을 대표하는 가우시안 분포 성분을 학습한다. 이를 통해 배경과 전경을 분리하거나, 의료 영상에서 특정 조직을 구분하는 데 효과적이다. 음성 인식에서는 음성 신호의 스펙트럼 특징(예: 멜-주파수 켑스트럼 계수)의 분포를 GMM으로 모델링한다. 각 음소나 단어를 하나의 GMM으로 표현하여, 입력된 음성 특징이 어떤 모델에서 가장 높은 확률로 생성되었는지를 판단하는 방식으로 인식이 이루어진다.
이상 탐지 분야에서는 정상 데이터의 분포를 GMM으로 학습한 후, 새로운 데이터 포인트가 이 모델에서 매우 낮은 확률 밀도를 가질 때 이상으로 판단한다. 이는 네트워크 침입 탐지, 금융 사기 검출, 제조 공정의 불량품 검사 등에 활용된다. 또한, GMM은 생성 모델로서도 기능하여, 학습된 분포에서 새로운 샘플 데이터를 생성하는 데 사용될 수 있다.
응용 분야 | 주요 활용 목적 | 설명 |
|---|---|---|
영역 구분 | 픽셀 특징을 기반으로 영상을 여러 영역(클러스터)으로 군집화한다. | |
특징 모델링 | 각 음성 단위(음소, 단어)의 음향적 특징 분포를 나타내는 모델로 사용된다. | |
정상 모델링 | 정상 데이터의 분포를 학습하여, 벗어난 데이터를 이상치로 식별한다. | |
데이터 생성 | 학습된 혼합 분포에서 새로운 합성 데이터 샘플을 생성할 수 있다. |
6.1. 이미지 분할
6.1. 이미지 분할
가우시안 혼합 모델(GMM)은 이미지 분할 작업에서 픽셀의 색상이나 강도 값을 혼합 분포로 모델링하는 데 효과적으로 활용된다. 이 접근법은 각 픽셀이 특정 가우시안 분포에서 생성되었다고 가정하며, 여러 개의 가우시안 성분이 혼합되어 전체 이미지의 픽셀 분포를 설명한다. 일반적으로 색상 공간에서의 픽셀 값(예: RGB 또는 HSV)이나 회색조 강도가 입력 특징으로 사용된다. GMM은 EM 알고리즘을 통해 각 가우시안 성분의 평균, 공분산, 가중치를 학습하고, 학습이 완료되면 각 픽셀은 사후 확률이 가장 높은 성분에 할당되어 최종적인 분할 영역을 형성한다.
이 방법의 주요 적용 예는 전경-배경 분리이다. 정지된 배경을 가진 영상에서 배경과 전경(움직이는 객체)의 픽셀 분포를 각각 다른 가우시안 성분으로 모델링한다. 시간에 따라 배경의 조명 변화가 있을 경우, 각 픽셀의 색상 분포를 여러 개의 가우시안으로 표현하는 적응형 배경 혼합 모델이 널리 사용된다[3]. 이 모델은 새로운 프레임의 픽셀이 기존 배경 모델과 일치하지 않으면 전경으로 판단한다.
GMM 기반 이미지 분할의 장점은 확률적 접근을 통해 픽셀 할당에 대한 불확실성을 정량화할 수 있다는 점이다. 또한 색상 분포가 복잡하거나 서로 중첩되는 영역에서도 유연하게 대응할 수 있다. 그러나 단점도 존재하는데, EM 알고리즘의 수렴이 초기값에 민감할 수 있으며, 계산 비용이 상대적으로 높다. 또한 공분산 행렬이 특이행렬이 되는 문제를 방지하기 위해 정규화 기법이 필요하다.
특징 | GMM 기반 분할 | 전통적 임계값 기반 분할 |
|---|---|---|
접근 방식 | 확률적 모델링 | 명확한 경계값 설정 |
복잡한 배경 처리 | 우수함 | 제한적 |
계산 복잡도 | 상대적으로 높음 | 낮음 |
결과 해석 | 소프트 할당(확률) 가능 | 하드 할당(이진) 일반적 |
이 기술은 의료 영상 분석에서 장기 분할, 위성 영상에서 지형 분류, 컴퓨터 비전에서 객체 인식의 전처리 단계 등 다양한 고급 응용의 기초가 된다.
6.2. 음성 인식
6.2. 음성 인식
가우시안 혼합 모델(GMM)은 음성 인식 시스템, 특히 화자 독립적 인식에서 음성 신호의 특징 벡터 분포를 모델링하는 데 전통적으로 널리 사용되었다. 음성 신호는 시간에 따라 변하는 비정적 신호이므로, 짧은 구간(프레임)으로 나누어 각 프레임에서 MFCC나 스펙트럼 특징과 같은 특징 벡터를 추출한다. GMM은 이러한 다차원 특징 벡터의 확률 분포를 여러 개의 가우시안 분포의 가중합으로 표현하여, 각 음소나 단어에 대한 고유한 음향적 모델을 생성한다.
구체적으로, 특정 음소(예: '아' 소리)에 대한 음향 모델은 해당 음소를 발성할 때 관측되는 모든 가능한 특징 벡터들의 분포를 하나의 GMM으로 학습한다. 인식 단계에서는 입력 음성의 특징 벡터 시퀀스가 주어졌을 때, 각 후보 단어 또는 음소 시퀀스 모델(GMM의 연쇄)이 이 입력을 생성할 우도(확률)를 계산한다. 가장 높은 우도를 주는 모델이 인식 결과로 선택된다. GMM은 은닉 마르코프 모델(HMM)과 결합되어(GMM-HMM), HMM이 시간적 변화를, GMM이 프레임 단위의 음향적 변화를 담당하는 표준 음성 인식 아키텍처의 핵심이었다.
역할 | 설명 |
|---|---|
음향 모델링 | 각 음소 또는 삼음자(triphone) 단위의 특징 벡터 분포를 GMM으로 표현한다. |
우도 계산 | 입력 특징 벡터가 주어졌을 때, 각 GMM이 그 벡터를 생성할 확률 밀도를 계산한다. |
HMM과의 결합 | HMM의 상태별 출력 확률 분포를 GMM이 담당하여, 시간 축과 특징 축 모델링을 분리한다. |
그러나 딥러닝, 특히 심층 신경망(DNN)과 순환 신경망(RNN)의 발전으로, 음성 인식 분야의 주류 음향 모델은 GMM 기반에서 신경망 기반으로 대체되었다. DNN은 GMM보다 복잡한 비선형 결정 경계를 학습할 수 있어 더 정확한 특징 표현과 분류 성능을 제공한다. 따라서 현대의 정밀한 음성 인식 시스템에서는 GMM이 주요 모델로 사용되기보다는, 초기화나 보조적인 특징 추출, 또는 리소스가 매우 제한된 환경에서 간단한 모델로 제한적으로 활용된다.
6.3. 이상 탐지
6.3. 이상 탐지
가우시안 혼합 모델은 정상 데이터의 분포를 모델링하여 그로부터 벗어나는 관측치를 식별하는 이상 탐지 기법으로 널리 활용된다. 기본 원리는 정상 상태의 데이터가 여러 가우시안 분포의 혼합으로 생성되었다고 가정하고, 이 모델을 학습하는 것이다. 학습이 완료된 후, 새로운 데이터 포인트에 대해 계산된 확률 밀도 값이 매우 낮거나, 사전에 설정한 임계값보다 낮을 경우 해당 데이터를 이상치로 판단한다. 이 접근법은 데이터의 본질적인 불확실성을 확률 분포로 표현할 수 있어 강점을 가진다.
이상 탐지에 GMM을 적용하는 주요 방식은 두 가지이다. 첫째는 단일의 '정상' GMM을 학습시켜 저확률 영역을 이상으로 규정하는 방법이다. 둘째는 정상 데이터와 이상 데이터(충분히 수집 가능하다면)를 각각 별도의 GMM으로 모델링한 후, 베이즈 정리를 적용해 새로운 샘플이 어느 모델에 속할 확률이 높은지 비교하는 방법이다. 전자가 보다 일반적으로 사용된다. 모델의 성능은 구성 요소의 개수(K)와 공분산 행렬의 타입(전체, 대각, 구형 등) 선택에 민감하게 반응한다.
GMM 기반 이상 탐지는 시계열 데이터의 이상점 탐지, 제조 공정에서의 불량품 검출, 네트워크 침입 탐지 시스템, 금융 사기 거래 식별 등 다양한 분야에 적용된다. 예를 들어, 서버의 정상적인 CPU 사용량 패턴을 GMM으로 학습한 후, 실시간 사용량이 모델에서 기대되는 범위를 크게 벗어나면 잠재적인 장애나 공격으로 간주할 수 있다. 이 방법은 다변량 데이터의 복잡한 상관관계를 공분산을 통해 포착할 수 있어, 단변량 기법보다 정교한 탐지가 가능하다는 장점이 있다.
특징 | 설명 |
|---|---|
적용 데이터 | 연속형 다변량 데이터, 정상 데이터의 분포가 가우시안 혼합으로 근사 가능한 경우 |
핵심 개념 | 정상 데이터에 대한 확률 밀도 추정과 저확률 영역의 임계값 설정 |
주요 장점 | 데이터의 불확실성과 상관관계를 모델에 반영 가능, 확률적 해석 제공 |
주요 단점 | 이상 데이터가 매우 드물 경우 모델 학습이 어려움, 클러스터 수(K)와 공분산 구조 선택에 의존적 |
대안 모델 | 일변량 정규분포 기반 탐지, Isolation Forest, 오토인코더 기반 이상 탐지 |
7. 장단점
7. 장단점
가우시안 혼합 모델은 확률 분포를 기반으로 한 군집화 방법으로, 여러 장점과 함께 몇 가지 명확한 한계를 지닌다.
주요 장점은 데이터의 확률 밀도 함수를 명시적으로 모델링한다는 점이다. 이는 각 데이터 포인트가 특정 가우시안 분포(정규분포)에서 생성될 확률을 제공하여, 군집에 대한 '소속 확률'이라는 부드러운 할당을 가능하게 한다. 이는 K-평균 군집화와 같은 하드 할당 방식보다 더 유연한 해석을 제공한다. 또한 모델이 확률적이기 때문에 새로운 데이터에 대한 밀도 추정이나 이상치 탐지에 직접 활용될 수 있다. 수학적으로 잘 정립된 기대값 최대화 알고리즘을 통해 모수를 추정할 수 있어 구현과 이해가 비교적 용이한 편이다.
반면, 단점도 존재한다. 가장 큰 문제는 사전에 군집의 개수 K를 지정해야 한다는 것이다. 적절한 K를 선택하는 것은 비트러스럽고, 일반적으로 AIC나 BIC와 같은 정보 기준을 사용한 모델 선택에 의존한다. 또한 EM 알고리즘은 지역 최적해에 수렴할 수 있어 초기값에 민감하며, 수렴 속도가 느릴 수 있다. 모델의 복잡도는 공분산 행렬의 선택에 크게 영향을 받는데, 제약이 적은 완전 공분산 행렬을 사용하면 고차원 데이터에서 과도한 모수 수로 인해 과적합되기 쉽고 계산 비용이 높아진다.
요약하면, 가우시안 혼합 모델은 확률적 해석과 유연성이 강점이지만, 군집 수 지정 필요성, 초기값 민감성, 계산 복잡도 관리 등의 실용적 과제를 안고 있다.
8. 다른 모델과의 비교
8. 다른 모델과의 비교
K-평균 군집화는 가우시안 혼합 모델의 특수한 경우로 간주될 수 있다. K-평균은 각 클러스터가 구형(동일한 분산)이며, 각 데이터 포인트가 오직 하나의 클러스터에만 속한다고 가정하는 '하드 할당' 방식을 사용한다. 이는 공분산 행렬이 항등 행렬의 스칼라 배이고, 사후 확률이 0 또는 1인 가우시안 혼합 모델과 동일하다[4]. 따라서 GMM은 K-평균보다 더 유연한 '소프트 할당'과 다양한 형태의 클러스터(타원형 등)를 모델링할 수 있다.
베이지안 가우시안 혼합 모델은 표준 GMM에 베이지안 추론을 도입한 확장 모델이다. 주요 차이점은 모수(가중치, 평균, 공분산)에 사전 분포를 부과하고, 이를 관측 데이터와 결합하여 모수의 사후 분포를 추정한다는 점이다. 이 접근법은 모수 추정의 불확실성을 정량화하고, 과적합을 완화하며, 디리클레 과정과 결합하여 클러스터 개수를 데이터로부터 자동으로 추론하는 것이 가능해진다. 반면, 표준 GMM은 최대가능도 추정을 기반으로 하며, 클러스터 개수는 BIC나 AIC와 같은 정보 기준을 통해 사전에 결정해야 한다.
다음 표는 주요 특성을 비교한 것이다.
특성 | 가우시안 혼합 모델 (GMM) | K-평균 군집화 | 베이지안 가우시안 혼합 모델 (BGMM) |
|---|---|---|---|
할당 방식 | 소프트 할당 (확률적) | 하드 할당 (결정적) | 소프트 할당 (확률적) |
클러스터 형태 | 다양한 타원형 (공분산 구조에 따름) | 구형 (동일 분산 가정) | 다양한 타원형 |
클러스터 개수 결정 | 사전 지정 필요 (BIC/AIC 등 활용) | 사전 지정 필요 | 사전 분포를 통해 데이터 기반 추론 가능 |
모수 추정 방법 | EM 알고리즘 (최대가능도) | 반복적 재할당 (EM의 특수한 경우) | |
장점 | 유연한 클러스터 모델링, 불확실성 제공 | 계산이 빠르고 간단함 | 과적합 방지, 불확실성 정량화, 자동 모델 선택 가능 |
8.1. K-평균 군집화
8.1. K-평균 군집화
K-평균 군집화는 가우시안 혼합 모델과 마찬가지로 군집 분석에 널리 사용되는 알고리즘이다. 두 모델 모두 데이터를 여러 개의 그룹으로 나누는 데 목적이 있지만, 그 접근 방식과 가정에는 근본적인 차이가 존재한다.
K-평균 군집화는 각 데이터 포인트가 정확히 하나의 클러스터에 속한다고 가정하는 하드 할당 방식을 사용한다. 이 알고리즘은 사전에 정의된 클러스터 개수 K를 바탕으로, 각 클러스터의 중심(센트로이드)을 반복적으로 업데이트하며 데이터를 분할한다. 목표는 각 데이터 포인트와 해당 클러스터 중심 간의 거리 제곱합을 최소화하는 것이다. 이는 유클리드 거리를 기반으로 하며, 각 클러스터의 형태가 구형이라고 암묵적으로 가정한다.
반면, 가우시안 혼합 모델은 확률적 할당 방식을 채택한다. 각 데이터 포인트는 각 가우시안 분포에 속할 확률을 가지며, 이는 소프트 할당으로 볼 수 있다. GMM은 데이터가 여러 개의 정규 분포가 혼합된 형태에서 생성되었다는 통계적 모델을 전제로 한다. 따라서 K-평균이 거리 최소화에 초점을 둔다면, GMM은 데이터의 확률 밀도 함수를 최대우도추정을 통해 맞추는 데 초점을 둔다.
두 방법의 주요 차이점을 요약하면 다음과 같다.
특성 | K-평균 군집화 | 가우시안 혼합 모델 |
|---|---|---|
할당 방식 | 하드 할당 | 소프트 할당 (확률적) |
클러스터 형태 | 구형 (동일한 분산 가정) | 타원형 (공분산 행렬로 표현) |
기반 | 거리 최소화 (기하학적) | 확률 밀도 추정 (통계적) |
속도 | 일반적으로 더 빠름 | 상대적으로 느림 |
유연성 | 제한적 | 공분산 구조에 따라 더 유연함 |
K-평균은 계산이 빠르고 구현이 간단하여 대규모 데이터셋에 적용하기 용이하다. 그러나 클러스터의 크기나 밀도가 서로 다르거나, 구형이 아닌 형태를 가질 경우 성능이 저하될 수 있다. 가우시안 혼합 모델은 이러한 제약에서 더 자유로우며, 클러스터에 대한 불확실성을 확률로 제공한다는 장점이 있다. 실제로 K-평균은 공분산 행렬이 항등 행렬의 스칼라 배인 등방성 가우시안 혼합 모델의 특수한 경우로 해석될 수 있다[5].
8.2. 베이지안 가우시안 혼합 모델
8.2. 베이지안 가우시안 혼합 모델
베이지안 가우시안 혼합 모델은 가우시안 혼합 모델의 베이지안 추론 버전이다. 기존 GMM이 최대우도추정이나 기대값 최대화 알고리즘을 통해 모수를 점 추정하는 반면, 베이지안 접근법은 모수 자체를 확률 변수로 간주하고 이에 대한 사전 분포를 도입한다. 이후 관측 데이터를 통해 사후 분포를 계산하여 모수를 추정한다.
모델의 핵심은 모수 집합 θ = {π, μ, Σ}에 대한 사전 확률 분포를 설정하는 것이다. 일반적으로 혼합 가중치 π에는 디리클레 분포, 각 성분의 평균 μ에는 정규 분포, 공분산 Σ에는 위샤트 분포가 공액 사전 분포로 자주 사용된다[6]. 이렇게 하면 사후 분포를 분석적으로 또는 깁스 샘플링과 같은 마르코프 연쇄 몬테 카를로 방법을 통해 추론할 수 있다.
이 접근법의 주요 장점은 과적합을 완화하고 모델 불확실성을 정량화할 수 있다는 점이다. 사전 분포는 모수 추정에 정규화 효과를 제공하며, 특히 데이터가 부족한 상황에서 유용하다. 또한, 사후 분포를 샘플링함으로써 클러스터 개수 K를 고정하지 않고 데이터에 맞춰 추론할 수 있는 무한 가우시안 혼합 모델과 같은 변형 모델로 자연스럽게 확장된다.
단점은 계산 비용이 크게 증가한다는 것이다. 사후 분포의 정확한 계산은 일반적으로 불가능하며, MCMC나 변분 베이즈 추론과 같은 근사적 추론 방법에 의존해야 한다. 또한, 사전 분포의 하이퍼파라미터를 선택해야 하며, 이 선택이 결과에 영향을 미칠 수 있다.
9. 구현 라이브러리 및 예시
9. 구현 라이브러리 및 예시
가우시안 혼합 모델 구현은 파이썬의 사이킷런 라이브러리를 통해 가장 일반적으로 접근할 수 있다. sklearn.mixture 모듈의 GaussianMixture 클래스는 EM 알고리즘을 사용하여 모델을 학습하고, BIC/AIC를 계산하며, 새로운 데이터의 클러스터를 예측하는 기능을 제공한다. 주요 매개변수로는 클러스터 개수(n_components), 공분산 행렬의 형태(covariance_type), 그리고 알고리즘의 최대 반복 횟수(max_iter) 등이 있다.
다른 인기 있는 라이브러리로는 R의 mclust 패키지와 PyMC를 이용한 베이지안 접근법이 있다. mclust는 다양한 공분산 구조 모델을 제공하고 BIC를 통한 모델 선택에 강점이 있다. PyMC나 Stan과 같은 확률적 프로그래밍 언어를 사용하면 베이지안 가우시안 혼합 모델을 구현하여 사후 분포를 샘플링하고 불확실성을 정량화할 수 있다.
다음은 사이킷런을 사용한 기본적인 구현 예시이다.
```python
from sklearn.mixture import GaussianMixture
import numpy as np
# 예시 데이터 생성
X = np.concatenate([np.random.normal(0, 1, (300, 2)),
np.random.normal(5, 1, (300, 2))])
# GMM 모델 생성 및 학습
gmm = GaussianMixture(n_components=2, random_state=0)
gmm.fit(X)
# 클러스터 예측 및 확률 출력
labels = gmm.predict(X)
probabilities = gmm.predict_proba(X)
# 모수 확인
print("평균:\n", gmm.means_)
print("가중치:", gmm.weights_)
```
라이브러리/패키지 | 주 언어 | 주요 특징 |
|---|---|---|
사이킷런 (scikit-learn) | 사용이 간편하고, EM 알고리즘 기반의 표준 구현체 제공 | |
mclust | 다양한 공분산 구조와 모델 선택 기준 제공 | |
마르코프 연못 몬테카를로 샘플링을 통한 베이지안 추론 가능 |
실제 적용 시에는 데이터의 스케일을 표준화(StandardScaler)하는 전처리 단계가 모델 성능에 도움이 될 수 있다. 또한, GaussianMixture 클래스의 n_init 매개변수를 조정하여 여러 번의 무작위 초기화 중 가장 좋은 결과를 선택함으로써 로컬 최적점 문제를 완화할 수 있다.
