nathan_H
Gaussian Mixture Model - GMM 본문
참고 Blog
http://sanghyukchun.github.io/69/
GMM
GMM 은 Gaussian Mixture Model
로서 데이터로부터 학습되는 ‘모델‘의 한 종류이고
EM알고리즘에 기반해 작동하게 되어 있다.
`
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한 식.
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 |