본문 바로가기
Research/Machine Learning

Gaussian Distribution, Gaussian Mixture Model

by IMCOMKING 2014. 6. 11.

Gaussian Distribution : 다른말로 정규 분포라고도 부른다.(자연계에서 많은 현상이 이 분포를 따르기 때문)

가우시안 분포의 수식 유도는 링크된 다른 블로그에서 잘 설명되어 있다.

여기서는 직관적인 이해를 시도해보겠다.


우선 정규분포의 모형을 보면 가운데를 중심으로 좌우가 대칭이다. 따라서 (x-u)^2 의 의미가 여기에 있다. 
좌우가 대칭되도록 하기 위해 x의 제곱을 한 뒤, 평균 값인 u를 중심으로하게끔 평행이동 시킨 것이다.

그 앞에 있는 -(1/2sigma^2)은 x^2식의 계수이다. 일단 부호가 음수인 이유는, 종모양으로 바꾸기 위해서 y축 대칭을 시킨 것이다. 그러면 1/2sigma^2의 값은 y=-ax^2 에서 a에 해당하는 것이 되고, 이것은 y=-ax^2 그래프의 좌우 크기를 결정하는 값이다. (a가 크면 길쭉한 모양이 되고, a가 작으면 뚱뚱한 모양이 된다.)

그래서 분모에 있는 sigma^2 이 분산인 이유가 여기에 있다. 분산이 커지면 이 계수 값이 작아져 점점 그래프가 뚱뚱해 지고, 분산이 커지면 이 계수 값이 작아져 그래프가 점점 길쭉한 모양이 된다.

그러면 왜 exp(-x^2) 형태로 표현되는 것 일까?
(이에대한 증명이나 정의를 구글링 해봤으나 제대로 된 정보를 얻지 못하였다.)

첫 번째 생각) 이것은 정규분포를 모델링을 하는 입장에서 exponential 함수가 가장 편하기 때문이다. exp함수가 아닌 다른 함수(예를들어 3^(-x^2))로도 충분히 정규 분포를 표현할 수 있으나 exp함수는 미분, 적분을 해도 함수의 형태가 그대로이기 때문에 계산상의 편의로써 사용되는 것이다.

두 번째 생각) 확률분포를 표현하려면 다음과 같은 조건의 함수가 필요하다. 모든 값이 양수 일것, 평군에서 멀어질수록 0에 수렴할 것, 우함수 일 것. 이러한 조건을 만족하는 함수는 오직 y=exp(-x^2) 밖에 없다,
이 경우 exp함수가 자연계에서 특별한 의미를 갖는 것이고, 심오한 고찰이 필요해 보인다.

아마도 두 번째 생각이 맞을 것이다. 왜냐하면 밑이 e가아닌 다른 지수함수를 사용하면 곡률이 달라지게 된다. 직관적으로 1000000^(-x^2)으로 표현 했다면 그 형태는 크게 달라질 것이다. 그러므로 오직 밑이 e인 지수 함수만이 정규 분포를 나타내는 것이 맞을 것이다.

Exponential은 특별하다. e가 정의 되는 방법도 굉장히 다양하고, 다양한 각도에서 특별한 존재로 사용되는 학문 분야도 무수히 많다. 이런 것으로 미루어 보아 e는 매우 특별한 숫자인 것 같다.
(http://en.wikipedia.org/wiki/E_(mathematical_constant))


그리고 맨 앞에 있는 (2*pi*sigma^2)^1/2 는 이 분포가 확률 분포를 나타내게 끔 하기위해, 적분해서 1이 나오도록 계산을해서 정한 것이다.
(
가우스 적분:http://ko.wikipedia.org/wiki/%EA%B0%80%EC%9A%B0%EC%8A%A4_%EC%A0%81%EB%B6%84)





Gaussian Mixture Model

우선 1개의 Gaussian Distribution 으로 학습해보는 걸 생각해보자.

관측 데이터 x를 보고 정규분포를 모델링해서 평균과 분산이라는 두 파라미터를 학습해보자.

이 경우 최적 모델을 선택하는 라이클리후드는 주어진 데이터들을 하나씩 정규분포에 넣었을 때의 y값을 모든 데이터에대해구해서 곱한 것이다.

왜냐하면 주어진 데이터 셋은 각각이 독립시행으로 추출되었다는 가정하에서 joint probability가 각각의 확률을 곱한것이 된다.

라이클리후드의 정의는 P(X|모델) 이고, 여기서 X는 모든 데이터들을 말하는 것이다. 즉 x들의 joint 확률인 것이다.

그래서 라이클리후드가 최대가 되도록 평균과 분산을 바꾸어가는 과정이 바로 모델의 파라미터를 학습하는 것이다.


그러나 위와 같이 1개의 Gaussian 으로 효율적으로 표현할 수 없는 분포에대해서 여러개의 Gaussian Distribution을 사용해 표현 할 수 있다.

GMM에서는 모델에대한 파라미터로 평균, 분산, Weight로 3가지 종류가 있다.
이때 Weight는 N개의 가우시안 분포가 있다고 했을 때, 확률적으로 어떤 가우시안 분포가 선택되는지에대한 확률이다. 따라서 Weight의 합은 1이 된다. 즉, 가우시안 분포가 3개가 있을 때 Major한 분포로 80% 짜리가 있고, 나머지는 10% 씩이라면 각 모델에대한 가중치는 0.8 , 0.1 , 0.1 이 된다.

이 경우 Likelihood는 다음과 같이 계산할 수 있다.

1개짜리 Gaussian Model과의 차이점은 가우시안 분포가 여러개이므로, 평균과 분산도 여러개 존재한다. 또한 데이터들을 차지하는 각 가우시안 분포마다의 가중치가 있으므로 가중치 Wi를 곱해서 전부 더 한 값이 데이터 하나에대한 확률이 된다.

그것들을 모든 데이터에대해 구해서 곱한 것이 바로 Likelihood이다.



http://blog.naver.com/dalsapcho/20132553174

http://nakyungpapa.tistory.com/223

http://blog.naver.com/oscarsim_95/60176253101

http://en.wikipedia.org/wiki/Exponential_distribution




'Research > Machine Learning' 카테고리의 다른 글

딥러닝과 FIR, IIR, LPF, HPF, BPF  (1) 2014.07.01
Markov Chain, Markov Matrix  (0) 2014.06.24
Clustering, GMM, K-means, EM, DBSCAN  (0) 2014.06.11
Nominal, Ordinal, Interval, Ratio  (0) 2014.06.11
거리, Distance  (0) 2014.06.11

댓글