1. 개요[편집]
데이터가 정규분포를 안 따른다고? 그럼 정규분포를 여러 개 겹치면 되잖아.
가우시안 혼합 모형(Gaussian Mixture Model, GMM)은 확률밀도를 여러 개의 정규분포의 가중합으로 표현하는 확률모형이다.
여기서 는 혼합 계수, 와 는 번째 성분의 평균과 공분산이다. 성분 수 를 충분히 키우면 임의의 연속 밀도를 원하는 정확도로 근사할 수 있다는 점에서, GMM은 밀도 추정계의 만능 근사기 역할을 한다.1
잠재변수 표현이 본질이다. 표본마다 “어느 성분에서 나왔는가”를 나타내는 잠재변수 를 두면
이고, 를 주변화하면 처음의 혼합식이 된다. 이 구조 덕분에 기댓값 최대화 알고리즘이 거의 교과서적으로 들어맞는다.
2. EM으로 적합하기[편집]
로그가능도 는 로그 안에 합이 있어 직접 미분해도 닫힌 해가 안 나온다. EM은 이것을 두 단계로 쪼갠다.
E-단계. 표본 가 성분 에서 왔을 사후확률, 즉 책임도(responsibility)를 계산한다.
M-단계. 유효 표본 수 를 두면 갱신식이 전부 닫힌 형태로 떨어진다.
즉 책임도로 가중한 표본평균·표본공분산이 그대로 답이다. 완전 데이터 MLE의 충분통계량 자리에 그 기댓값을 대입한 결과라는 EM의 일반 성질이 여기서 눈으로 확인된다. 두 단계를 번갈아 돌리면 로그가능도가 단조 증가하며, 보통 수십~수백 반복이면 정지한다.
구현 시 실수 방지 요령: 정규밀도는 반드시 로그 영역에서 계산하고 log-sum-exp로 정규화한다. 를 그대로 쓰면 고차원에서 언더플로가 나 책임도가 통째로 이 된다. 공분산 역행렬도 직접 구하지 말고 촐레스키 분해를 써서 이차형식과 로그행렬식을 동시에 얻는 것이 국룰이다.
3. 가능도가 위로 유계가 아니다[편집]
GMM의 가장 유명한 병리다. 비제약 GMM의 로그가능도는 위로 유계가 아니며, 따라서 전역 최대가능도 추정치는 존재하지 않는다.
증명은 허무할 정도로 짧다. 어떤 성분 의 평균을 한 데이터점에 정확히 붙이고() 공분산을 로 두면, 그 항의 밀도는
로 발산한다. 나머지 표본의 기여는 유한하게 남으므로 전체 가능도도 무한대로 간다. 성분 하나가 데이터점 하나로 붕괴(collapse)하는 특이점이 데이터점마다 하나씩, 총 개 이상 존재하는 셈이다.2
EM의 단조 증가 성질이 여기서는 독이 된다. 착실히 올라가다가 어느 순간 특이점 쪽으로 미끄러지면 공분산이 수치적으로 0이 되고 역행렬 계산에서 터진다. 실무 대응은 세 가지다.
- 공분산 하한(regularization): . scikit-learn의
reg_covar가 바로 이것이며, 기본값이 켜져 있는 데는 이유가 있다. - MAP 추정: 공분산에 역-위샤트 사전분포를 주면 사후 최빈값이 유한해진다.
- 붕괴 감지 후 재시작: 나 가 임계 이하로 떨어지면 그 성분을 무작위 위치로 다시 뿌린다.
4. 성분 수와 공분산 구조[편집]
는 모형이 정해주지 않는다. 가능도는 에 대해 단조 증가하므로 그냥 최대화하면 이 답이 되는 무의미한 결론에 도달한다. 그래서 복잡도 벌점이 붙은 기준을 쓴다. 파라미터 수 , 최대 로그가능도 에 대해
를 최소화하는 를 고른다. BIC가 더 강하게 벌하므로 보통 더 간결한 모형을 뽑고, AIC는 성분을 과다 선택하는 경향이 있다. 자세한 논의는 베이즈 정보 기준 참고. 아예 를 무한대로 두고 데이터가 필요한 만큼만 성분을 켜게 하는 디리클레 과정 혼합모형(또는 변분 베이지안 GMM)도 널리 쓰인다.
공분산에 어떤 구조를 주느냐가 파라미터 수를 지배한다. 차원 , 성분 일 때:
| 구조 | 공분산 파라미터 수 | 특징 |
|---|---|---|
| full | 임의 방향의 타원. 표본이 적으면 과적합·특이 공분산 | |
| tied | 모든 성분이 같은 모양. 사실상 선형판별분석의 확률판 | |
| diagonal | 축 정렬 타원. 고차원에서 기본 선택지 | |
| spherical | 등방 구형. k-평균에 가장 가까움 |
여기에 혼합계수 개와 평균 개가 공통으로 더해진다. full 구조의 증가율 때문에, 고차원(예: 40차원 음성 특징)에서는 diagonal이 성능·안정성 양쪽에서 이기는 경우가 많다.
5. k-평균과의 관계[편집]
k-평균 군집화는 GMM의 하드 배정 극한이다. 모든 성분에 (등방·동일)와 균등 혼합계수를 강제하고 을 보내면, 책임도는
로 0/1 지시함수가 된다. 이때 E-단계는 “가장 가까운 중심에 배정”이 되고 M-단계는 “배정된 점들의 평균으로 중심 이동”이 되어, 정확히 로이드 알고리즘이다. 그래서 실무에서는 k-평균 군집화로 초기 중심을 잡고 GMM으로 넘기는 순서가 표준이며, 이렇게 하면 EM의 초기값 민감도가 눈에 띄게 줄어든다.
차이도 분명하다. GMM은 소프트 배정과 군집별 형상(공분산)을 학습하므로, 길쭉하거나 기울어진 군집, 크기가 크게 다른 군집을 k-평균보다 훨씬 잘 잡는다. 대신 파라미터가 많아 표본이 적으면 무너진다.
6. 식별 가능성과 라벨 스위칭[편집]
혼합모형에는 구조적인 비식별성이 하나 더 있다. 성분들의 번호를 바꿔 달아도 밀도 가 완전히 동일하다는 점이다. 개 성분이면 개의 동등한 최댓값이 가능도면 위에 흩어져 있다는 뜻인데, 점 추정만 할 거라면 아무 문제가 없다. 문제는 여러 번 돌린 결과를 평균 내거나 MCMC로 사후표본을 모을 때 발생한다 — 표본마다 라벨이 뒤바뀌어 있으면 “1번 성분의 평균”이라는 사후요약이 의미를 잃는다(라벨 스위칭 문제). 제약(예: 오름차순)을 걸거나 사후처리로 라벨을 재정렬해서 다룬다.
초기화도 결과를 좌우한다. 무작위 표본 개를 평균으로 잡는 방식은 값싸지만 편차가 크고, k-평균++ 초기화 후 몇 회 로이드 반복을 돌려 넘기는 것이 사실상 표준이다. 어느 쪽이든 서로 다른 초기값으로 여러 번 적합해 최종 로그가능도가 가장 큰 해를 고르는 다중 시작을 병행한다.
7. 응용[편집]
- 군집화 — 소프트 멤버십이 필요한 문제(고객 세분화, 유전자 발현 군집)에서 기본기.
- 음성 인식의 GMM-HMM — 심층 학습 이전 20년간 표준이었던 구조. 은닉 마르코프 모형의 각 상태 방출분포를 GMM으로 두고 바움-웰치로 함께 학습한다. 지금은 DNN-HMM에 자리를 내줬지만 파이프라인 정렬(alignment) 단계에서는 여전히 현역이다.
- 밀도 추정과 생성 — 학습된 GMM에서 표본을 뽑는 것은 성분 하나 뽑고 정규분포 하나 뽑는 두 줄이면 된다. 몬테카를로 방법의 제안분포로도 쓰인다.
- 이상 탐지 — 정상 데이터로 밀도를 적합한 뒤 로그가능도가 임계 이하인 표본을 이상으로 판정. 반도체 공정 모니터링 같은 데서 흔하다.
- 영상 배경 차분 — 픽셀별 GMM으로 배경 색분포를 유지하는 MOG/MOG2가 OpenCV에 그대로 들어 있다.3
8. 관련 문서[편집]
- 기댓값 최대화 알고리즘 · 은닉 마르코프 모형
- 주성분 분석 · 가우시안 프로세스
- 몬테카를로 방법 · 최소자승법
- 촐레스키 분해 · 조건수
- 통계 · 지역 최적해
- k-평균 군집화 · 베이즈 정보 기준 · 디리클레 과정
9. Footnotes[편집]
-
“충분히 크면 뭐든 근사한다”는 말은 언제나 뒤에 “그 충분히가 얼마인지는 안 알려준다”가 붙는다. 실제로 무거운 꼬리 분포를 GMM으로 맞추려면 꼬리마다 성분을 갖다 붙여야 해서, 이럴 땐 t-분포 혼합모형이 훨씬 경제적이다. ↩
-
그래서 “가능도를 최대화했더니 가능도가 무한대가 됐다”는 보고를 받으면 축하할 일이 아니라 성분 하나가 데이터점 하나를 껴안고 붕괴했다는 뜻이다. 최적화가 너무 잘돼서 생기는 사고. ↩
-
픽셀 하나마다 성분 3~5개짜리 GMM을 두고 프레임마다 온라인 갱신하는 구조다. 나뭇잎이 흔들리는 배경처럼 색이 여러 최빈값을 갖는 상황을 다봉 분포로 흡수하겠다는 발상인데, 20년 전 알고리즘이 아직도 CCTV 뒤에서 돌고 있다. ↩