The Beautiful Future
Gaussian Mixture Model( GMM ) 본문
0. GMM을 이해하기 위해 필요한 선행지식
- 베이지안 룰
- 미분( 함수, 매트릭스 )
- 조건부 최적화
- K-means clustering
- EM 알고리즘
1. GMM 개념
언떤 데이터의 확률 분포를 여러개의 가우시안함수를 기저(Component distribution)로하여 근사화하는 것이다.
2. GMM 모델 공식화
K개의 가우시안의 가중치 합으로 확률 분포를 나타낼 수 있다.
화이의 합은 1이여야하며 각 화이는 0보다 크고 1보다 작아야한다.
3. GMM 문제 풀이 공식화(Objective Formulation)
주어진 데이터 X로 부터 가우시안의 평균, 분산, 혼합계수(mixing coefficient)를 구해야 된다. 아래의 조건부 확률을 최대로 하는 매개변수를 찾아야한다. 각 샘플xi은 독립이다.
위 식을 편미분하여 극대인 0인 지점을 찾으면 된다. 미분을 편하게 하기위해 양변에 ln를 취해서 곱을 합으로 변환한다. ln는 단조 증가 함수기 때문에 원식을 최대화하는 것과 같은 해를 갖는다. log-likelihood이다.
--- (수식 1)
(수식1)을 최대화하는 것이 목적이다.
4. Expectation & Maximization Algorithm (EM)
통계 모델의 매개변수를 반복적인 방법으로 찾는 알고리즘이다.
(1)Expectation이란 데이터의 probability density function(pdf)을 구하는 것이다. 기대값을 구하기 위해서는 pdf가 필요하기 때문이다.
(2)Maximization은 pdf를 이용하여 통계 모델의 매개변수의 기대치를 구한다.
새롭게 구해진 통계 모델의 매개변수는 다시 새로운 pdf를 만드는데 반영된다.
EM의 큰 틀은 위의 두 과정이 반복되며 이 큰틀에 사용되는 규칙화된 공식은 Maximum a posteriori(MAP), Maximum Likelihood(ML), log-likelihood로 식이 세워지고(수식 1) 미분하여 식이 완전히 유도 된다.
- K-means clustering과의 비교
K-means clustering은 알고리즘 수행 단계가 비슷하다. 아래 표로 정리해 보면...
K-means |
EM |
초기화 : seed을 선택 |
초기화 : 확률 모델의 변수를 선택 |
각 데이터를 가까운 seed에 소속시킴 (hard membership) |
각 데이터를 여러개의 구성 분포에 확률적으로 소속시킴(soft membership) |
같은 소속 데이터로 부터 평균을 새로운 seed로 선택 |
소속확률을 이용해서 새로운 확률 모델의 변수 계산 |
소속을 각각 seed와 구성 확률분포로 사용한다는 것, 소속 확률로부터 각각 새로운 seed와 구성 확률분포를 계산해내는 것이 비슷하다. 두 알고리즘 모두 데이터 분포를 고려하여 반복적으로 데이터에 적응해 가는면에서 유사하다고 할 수 있다.
- 시점의 변환
"주어진 데이터로 확률모델을 예측한다"에서 " 확률모델에서 주어진 데이터가 생성되었다"로 시점을 변환해 보자. 만약에 3개의 가우시안 분포로부터 데이터가 생성되었다면 한개의 샘플은 3개의 가우시안 분포 중 하나에서 생성된 것 이다. "n개의 모델 구성 분포중 어느 분포로 부터 생성되었는가?"을 예측하는 단계가 Expectation이다. Expectation단계에서는 샘플마다 구성분포 K개에 대한 소속 확률값(soft membership)을 구하게 된다. 그리고 이 값을 이용하여 모델의 새로운 분포을 구한다.
모델의 분포가 먼저 있어야 소속 확률을 구 할 수 있다. 그럼으로 모델의 분포를 어떻게든 먼저 설정해야한다. 초기 모델의 분포 설정의 한예로 K-means clustering 후 각 cluster의 평균과 분산을 GMM의 구성 분포의 평균과 분산으로 사용하고 각 cluster의 데이터 비율을 가우시안의 혼합 계수로 사용 할 수 있다.
- 소속 확률 값
"n개의 모델 구성 분포중 어느 분포로 부터 생성되었는가?" 는 사후 확률로 아래 처럼 생각 할 수 있다.
이 문제를 풀어 보면
i번째 데이터가 k번째 부분 분포에서 생성 되었을 확률은 k번째 분포의 값을 모든 분포의 값으로 나눈 것이다. xi는 K차원의 soft membership을 갖게 된다.
- 은닉 변수( laten variable )
X가 N개이고 부분 분포가 K개임으로 N x K개의 소속 확률이 pdf를 구성한다.
K 개중 1개만 선택되는 것을 표현한 변수가 은닉 변수이다. 관측이 안되었고 EM 내부에서 만들어 사용하므로 은닉 변수라한다.
- 미분
(수식 1)은 K개의 을 매개변수로 가지는 함수이다. 세개의 각 매개변수로 (수식1)을 편미분하고 0이 되는 매개변수를 찾으면 된다. 하지만
는 아래 조건을 만족하면서 미분하여 0이 되는 값을 찾아야 한다. 이런 경우를 조건부 최적화 문제( constrained optimization problem)이라고 하며 풀기위해서는 라그랑제 승수 기법(Lagrange multiplier method)를 사용하여야한다.
각 매개변수의 편미분의 표현을 간단하게 하기위해 아래 식을 정의 한다.
-에 대하여 미분 결과
-에 대하여 미분 결과
-에 대하여 미분 결과
- EM for GMM
초기화
do
{
for( int i = 0; i < N; ++i)
for(int k = 0; j < K; ++k )
p(k|xi) 계산
for( int k = 0; k < K; ++k)
{
계산
계산
계산
계산
}
}while( log-likely hood의 증가량 > 임계치 )
'알고리즘' 카테고리의 다른 글
Levenberg-Marquardt algorithm (0) | 2016.04.18 |
---|---|
Expectation Maximization Algorithm (0) | 2015.07.16 |
Kalman Filter (0) | 2014.09.16 |
MLP( Multi-Layer Perceptron) (0) | 2014.09.16 |
ANN - Perceptron 학습 (0) | 2014.09.11 |