관리 메뉴

Data Analysis for Investment & Control

GMM, Gaussian Mixture Model 본문

MachineLearning/Clustering

GMM, Gaussian Mixture Model

Jeongseob.Kim 2018.11.17 19:39


Gaussian Mixture Model, 이하 GMM은 클러스터링 방법 중 하나로 데이터의 군집을 가우시안 모델로 표현하는 기법이다. 가우시안 모델의 평균과 분산(μ와 σ)으로부터 군집의 특성을 알 수 있다. 데이터의 분포로부터 가우시안 분포를 선형 결합한 형태라는 가정에서 처리를 한다.



GMM에 대한 설명은 아래 블로그에서 그 개념을 잘 설명하고 있다.


>> 수식없이 이해하는 Gaussian Mixture Model


먼저 다음과 같이 주어졌다고 하자. 


데이터 군집 수 : K

각 군집의 평균과 분산 : μk = {μ1, μ2, ..., μK}, σk = {σ1, σ2, ..., σK}

표본 데이터 수 : N

표본 데이터 xn = {x1, x2, ... xN}


입력 데이터에 대한 확률 분포 함수를 다음과 같이 정의하자.



위에서 N(x|μ,σ)은 평균값(μ)와 분산(σ^2)을 가지는 가우시안 분포이며, πk는 혼합계수(mixing coefficient)로 k번째 군집에 대한 가우시안 분포 모델이 얼마의 비중으로 표현할 수 있는지를 타나내는 수이며 다음과 같은 성질을 가진다.


주어진 데이터에 대한 사후 확률을 계산하기 위해 K차원을 가지는 이진 랜덤 변수 z를 도입한다. 



위의 함수 γ는 데이터 xn이 k번째 가우시안 분포 모델이라고 선택(라벨링)될 확률을 의미한다. γ를 k 성분에 대한 responsibility라고 부른다. zk의 주변 분포를 혼합계수 πk를 사용하여 정의할 수 있다.



클러스터 k번째에 해당하는 가우시안 분포를 조건부 확률로 표현하면,



이다. 이제 xn이 주어졌을 때의 조건부 사후 확률 γ를 정의하자.



πk는 zk=1일 때의 사전 확률이라는 것을 알고 있다. γ(zk)는 관찰 데이터 x가 주어졌을 때의 사후 확률 값이 된다.


우리가 구하고자 하는 값을 보다 정확한 πk와 K개의 가우시안 분포를 정의하는 μk와 σk이다. 이 세 종류의 파라미터를 구하기 위해 p(x|π,μ,σ)에 대한 로그 가능도 함수를 미분하여 0이 되는 때의 평균 값을 추정하도록 하자.


이 때 EM 알고리즘을 사용하여 구하게 되는데, 아래 EM 알고리즘에 대해 잘 설명해둔 블로그 링크를 한번 보는 것이 도움이 된다. 


>> The EM Algorithm in General


잠재변수(θ)를 가지는 확률 모델에서 MLE를 구하는 방법으로 아래와 같은 식으로 정리된다.



GMM에서의 경우를 고려하면 θ = π, μ, σ이고, L은 Lower Boundary이며, KL은 쿨백-라이블러 발산(Kullback–Leibler divergence, KLD)이다.



GMM에서의 확률 모델의 로그 가능도 함수(likelihood function)은



이다.


로그 가능도 함수를 μ에 대해 미분하면 




위의 식의 정리하면 μk에 대해 값을 아래와 같이 구할 수 있다.



마찬가지로 로그 가능도 함수를 σ에 대해 미분하여 정리하면 σk에 대한 값을 구할 수 있다.


πk에 대해서는 값을 구하는데 추가적인 제약이 존재하므로 라그랑지안 승수를 이용하여 풀게 되는데 앞에서 설명한 파라미터 들과 이에 대한 전개 과정과 설명은 아래의 블로그 링크를 참고하도록 하자. 


>> Mixture of Gaussians


EM 알고리즘의 적용 과정과 알고리즘의 초기화, E-스텝, M-스텝, E-M Iteration과 평가와 종료 방법에 대해서도 설명이 되어있다.





'MachineLearning > Clustering' 카테고리의 다른 글

K-means Clustering  (0) 2018.11.28
GMM, Gaussian Mixture Model  (0) 2018.11.17
      
0 Comments
댓글쓰기 폼