nathan_H

Gaussian Mixture Model - GMM 본문

Big Data/ML

Gaussian Mixture Model - GMM

nathan_H 2019. 6. 6. 10:51

참고 Blog 

http://sanghyukchun.github.io/69/

 

Machine learning 스터디 (13) Clustering (K-means, Gaussian Mixture Model) - README

들어가며 첫 번째 글에서 설명했던 것 처럼 Machine Learning은 크게 Supervised Learning, Unsupervised Learning 그리고 Reinforcement Learning으로 구분된다. 앞서 이미 그 중 Supervised Learning을 간략하게 다룬 글이 있었고, 이 글에서는 그 중 Unsupervised Learning의 가장 대표적인 예시인 Clustering 대해 다룰 것이며 가장 대표적이고 간단한 두 가지 알

sanghyukchun.github.io

 

GMM

 

GMM 은 Gaussian Mixture Model
로서 데이터로부터 학습되는 ‘모델‘의 한 종류이고

EM알고리즘에 기반해 작동하게 되어 있다.

 

 

`

soruce - https://untitledtblog.tistory.com/133

 

GMM에서의 parmeter는 두 가지 종류가 있다.

 

첫 번째는 3가지 정규분포 중 확률적으로

어디에서 속해있는가를 나타내는 Weight 값이고,

 

두 번째, 각각의 정규분포의 모수(평균, 분산)입니다.

 

즉 찾아야 하는 GMM의 parameter는 각각의 gaussian의 평균 μj, covariance Σj

그리고 마지막으로 각각의 데이터가 각각의 gaussian에 속할 확률 πj로 구성된다.

 

따라서 주어진 μj,Σj에 대한 xi의 multinomial gaussian distribution을 

N(xi|μj,Σj)라고 정의한다면 log likelihood function은 다음과 같이 기술할 수 있다.

 jointly update가 매우매우 어려운 문제이다.

그래서 EM알고리즘과 같이 alternative update를 통해

문제를 해결하는 알고리즘을 어렵지 않게 디자인 할 수 있다.

역시 GMM도 결국 global로 수렴하지 않고 local로만 수렴하게 된다. 

 

 

 

Bi-modal dataset 예시.

 

 

C: Bernoulli random variable
- P(C=1) = π

 

 X: Gaussian random variable
- X|(C=1) ~ N(x;μ1,σ1)
- X|(C=2) ~ N(x;μ2,σ2)

 

 θ: Model parameter
- θ = <π,μ1,σ1, μ2,σ2>

 

 

 

 Marginal density of X
(Gaussian probability density function)

 

 

Gaussian probability density function formal한 식.

 

source - https://untitledtblog.tistory.com/133

 

 

 

Log-likelihood

 

직접 Log-likelihood 를 최적화하는 MLE 수행은

어렵기 때문에, random variable C 를 활용하여 EM 적용

 

- GMM은 각 데이터 xi는 두 개의 Gaussian 중의 한 개에서
생성되었다고 가정해서 C를 알고 있는 경우에는 매우 쉽게 MLE 구할 수 있다.

 

 

 

 

 

EM을 활용한 GMM 학습 알고리즘.

 

(M-step 은 진짜 C의 값이 무엇인지 알지 못한다는 점만 빼면, MLE 와 매우 유사)

 

최초 가정(초기값 생성)

 

 

EM 알고리즘은 global optimal 를 구하게 된다는 보장은 없고

Local optimum 을 얻게 된다.
-> 따라서, 초기값 영향을 크게 받음

 

 μ1 and μ2 : 두 개의 데이터를 무작위로 선택하여 사용

 

 σ1,σ2 : 위에서 얻은 초기값을 사용하여 전체 데이터에 대하여 계산

 

 π : 0.5

 

E-step

 

 Soft assignment of points to GMM clusters depending on how likely
they are to have been generated by those cluster parameters

(C - random variable을 구하는 과정)

 

 

 

E-step은  주어진 θ을 기반으로

C(gaussian random variable)의 분포를 계산(Sampling)하는 과정이다.

 

즉 람다j θ을 기반으로 j번째 gaussian의 

z분포를 샘플링한 것이다.

 

그래서 위에 있는 수식을 직관적으로 보면 특정 가우시안의 분포를 샘플링한 것은

j번째 gaussian random variable / Maginal density of x(전체)와 같다.

 

 

 

M-step

let θ 업데이트 과정.

 

M-step은 구한 C을 기반으로 모델의 파라미터를

업데이트 하는 과정이므로 

즉 가우시안의 파라미터인  μ, σ을

업데이트 하는 과정이 된다.

'Big Data > ML' 카테고리의 다른 글

EM Algorithms  (0) 2019.06.06
Hierarchical Clustering  (0) 2019.06.04
Ensembles  (0) 2019.06.04
Marginalize  (0) 2019.06.01
KNN Algorithms ( 최근접 이웃 알고리즘)  (0) 2019.05.31
Comments