본문 바로가기

데이터 과학/확률론

Gaussian Mixture Model(GMM)

Gaussian Mixture Model(가우시안 혼합 모델)을 알기전에 먼저 Multivariate Gaussian Distribution(다변량 가우시안 분포)을 먼저 알아야 한다.

 

1. Gaussian Mixture Model(GMM) 정의

2. GMM을 이용한 분류(Classification)

3. EM 알고리즘을 이용한 GMM 학습 (EM : Expectation - Maximization)

4. 코드


1. Gaussian Mixture Model(GMM) 정의

혹은 식을 다음과 같이 표현하기도 한다.

$ p(x) = \Sigma_{k=1}^K{P(z_k)P(x|z)} $

- 멀티모달(Multi-modal) 분포를 설명하기 위해 쓰인다.

- K는 가우시안 분포의 갯수(하이퍼 파라미터)

- $\mu_{k}$, $\Sigma_k$는 각각 가우시안 분포 k의 평균과 공분산

- $w_k$ 는 Mixture Weights 이며 k개의 가중치 총합은 1이다($\omega_{k} \; or \; \pi_{k}$ 로 표현한다)

- 해당 조건을 만족해야 한다. $$ \Sigma_{k=1}^{K}{\omega_{k}} = 1, \; 0 \leq \omega_{k} \leq 1 \ $$

- GMM을 학습하는 것은 주어진 데이터 X = {x1, x2, ..., xn} 에 대해서 적절한 $ \omega_{k}, \mu_{k}, \Sigma_{k} $를 추정하는 것과 같다. 

- 데이터 집합을 하나의 모집단에서 취한 표본이 아니라, 각기 다른 모집단에서 취해진 표본들로 생각한다

 

(예시) k=3인 가우시안 혼합 모델

 

2. GMM을 이용한 분류(Classification)

 

3. EM 알고리즘을 이용한 GMM 학습 (EM : Expectation - Maximization)

 

 

 

 

4. 코드

(추후 정리...)

scikit-learn.org/stable/auto_examples/mixture/plot_gmm_pdf.html#sphx-glr-auto-examples-mixture-plot-gmm-pdf-py

 

jakevdp.github.io/PythonDataScienceHandbook/05.12-gaussian-mixtures.html


GMM)

towardsdatascience.com/gaussian-mixture-models-explained-6986aaf5a95

untitledtblog.tistory.com/133

brilliant.org/wiki/gaussian-mixture-model/

 

Numpy)

rfriend.tistory.com/380

numpy.org/doc/stable/reference/generated/numpy.linalg.solve.html

 

 

 

 

반응형