2. K-means Algorithm
데이터를 K개 Cluster로 분류하는 알고리즘 , K = root(n/2)
- 목표 : data와 cluster point 사이 분산을 줄이기
Cost function (전체 분산 계산식)
But, NP-Hard : 다항시간에 해결가능한지 모름
-> global minimum을 찾기 어려움
-> local minimum 발견 시 iter 종료
단점
1) 초기 initialization에 취약, outlier에 민감
-> 표준화, k-median algorithm,
2) distance 기반 계산
-> 군집크기 유사, 한 클러스터에만 배치 (Hard assignment)
-> 구형 외 군집모양은 찾기 어려움
-> EM 기반 GMM
3. Iter 1
A. Data point 별 Cluster 배당 (Distance 기반)
Iter 2
B. Cluster 위치 조정 (u)
Initial point 고정
C. Cost function 확인
최소 분산을 찾기 위한 반복작업
D. Exit 조건
1) Data point 유지
2) Cluster 위치 유지
4. Gaussian Mixture Model
배경 지식
1) Multi Gaussian Dist : 개별 feature는 서로 다른 Gaussian(Normal) Dist를 가짐
-> 서로 다른 평균, 분산 pdf : N(x | u, cov)
2) 임의의 데이터가 K개의 Gaussian Mixture Model로 구성되었다고 가정할 때,
어떻게 가장 잘 설명하는 K개의 평균, 분산을 찾을까?
-> 데이터 X가 나타날 확률을 가장 높게 만드는 parameter를 찾자
-> u, covariance, 데이터가 각 K에 속할 확률 pi
하지만, 직접 jointly update가 어려움, alternative update method?
-> EM 알고리즘 (이외에도 여러가지 존재, but 가장 유명하고 이해하기 수월)
Log likelihood function
5. Gaussian Mixture Model
EM Algorithm?
latent variable이 존재하는 확률모델의 MLE, MAP 문제를 풀기 위한 대체 방법
1) latent variable
임의로 설정하는 hidden variable,
marginal dist 계산이 어려운 경우 간단한 Z를 설정해 joint dist 계산에 사용
GMM의 latent variable : Binary random variable
P(Z)가 정의 됐으므로
6. Gaussian Mixture Model
EM Algorithm?
latent variable이 존재하는 확률모델의 MLE, MAP 문제를 풀기 위한 대체 방법
1) latent variable
7. Gaussian Mixture Model
2) EM Algorithm (iterative)
E-step : 각 데이터에 대해 k번째 클러스터에 속할 posterior 계산 (Bayes rule 기반)
M-step : log-likelihood를 Maximize 하는 parameter 계산
단점 : M-step 의 Optimization과정이 또 복잡할 경우 nested 형태로 복잡해질 수 있음
-> iteration을 조금 돌리고 빠져나오는 방식이 local opotimum에 수렴하는 것이 증명됨
9. EM Algorithm 뜯어보기
latent variable이 존재하는 확률모델의 MLE, MAP 문제를 풀기 위한 알고리즘
-> 임의로 latent variable을 정하고, marginal dist -> joint dist 계산으로 간단하게 만들
어 E-step, M-step을 반복해 최적 parameter를 구한다
- Maximization-Step 에서 최대값을 찾을 때 나오는 lower-bound를 구해보자
1) Probability Decomposition
2) KL >= 0 이므로 L(q,theta) 에 따라 lower-bound 결정됨, E,M단계를 통해 update
10. EM Algorithm 뜯어보기
latent variable이 존재하는 확률모델의 MLE, MAP 문제를 풀기 위한 알고리즘
E-step)
따라서, KL을 0으로 만들고, lower-bound = likelihood를 일치시키는 과정이다.
M-step) 에서 새로운 theta_new를 구하고 이 과정을 반복