43
ML study 6 번번 Mixture models and the EM algorithm

머피's 머신러닝, Mixture model and EM algorithm

Embed Size (px)

DESCRIPTION

사내 머신러닝 스터디 발표용

Citation preview

Page 1: 머피's 머신러닝, Mixture model and EM algorithm

ML study6 번째

Mixture models and the EM algorithm

Page 3: 머피's 머신러닝, Mixture model and EM algorithm

11.1 Latent variable models

• 10 장에서 graphical models 로 고차원 결합확률을 그래프로 표현했음• 서로 의존관계가 있는 두 변수는 그래프 상에서 edge 를 이음

• Latent variable models• 관찰된 변수는 숨겨진 공통 원인으로부터 발생했으므로 서로 연관되어 있다• fit 이 어렵다• hidden 변수로 모델의 파라메터를 줄일 수 있다

• 그림 설명 , 히든 변수가 있는 것 ( 왼 ), 비져블 공간에서 바로 습관과 증상을 모델링 ( 오 )

Page 4: 머피's 머신러닝, Mixture model and EM algorithm

11.2 Mixture models

• VM 의 가장 간단한 형태

• zi ∈{1,...,K}• p(zi)=Cat(π)• p(xi|zi =k)=pk(xi)• pk : 관찰치에 대한 k 번째 base 분포

• 혼합 모델 (mixture model): pk 들의 convex combination 

Page 5: 머피's 머신러닝, Mixture model and EM algorithm

11.2 Mixture models11.2.1 Mixtures of Gaussians

• 가우시안 혼합 = mixture of Gaussians = MOG = Gaussian Mixture Model = GMM

• 충분히 많은 수 혼합 컴포넌트가 있으면 , GMM 은 RD 에서 정의되는 모든 분포를 근사해 낼 수 있다

Page 6: 머피's 머신러닝, Mixture model and EM algorithm

11.2 Mixture models11.2.2 Mixture of multinoullis( 여기서는 베르누이 )

• 데이터가 D 차원 bit vectors x 라고 하자 .

• class conditional density 는 다음과 같이 베르누이 분포의 곱으로 표현할 수 있다 (=binomial)• μjk 는 클러스터 k 에서 j 번재 비트가 켜질 확률

.

• 위의 수식을 아래에 대입하면 카테고리 분포의 믹스쳐가 만들어진다모든 차원에 대해서 곱한 것 ( 각 차원은 베르누이 )= binomial

Page 7: 머피's 머신러닝, Mixture model and EM algorithm

11.2.3 Using mixture models for clustering

• Mixture model 을 이용해 클러스터링할 수도 있다 (GMM 에서 는 각 데이터가 어느 가우시안에 속하는지 ?).

• 혼합 모델을 학습 후 (M-step) compute p(zi =k|xi,θ) (E-step) // EM 은 나중에 다룬다

• DA 랑 비슷하다는 것을 알 수가 있습니다 . (http://play.daumcorp.com/display/~sweaterr/4.+Gaussian+Model)

• 사실• 소프트 클러스터링이라고 부른다 .

• MAP 추정으로 hard-clustering 할 수 있다 .

Page 8: 머피's 머신러닝, Mixture model and EM algorithm

11.2.4 Mixtures of experts

• 입력 공간의 특정 지역마다 하나의 전문가가 있다

• wk 는 각 latent 변수의 상태 k 마다 다르다

Page 9: 머피's 머신러닝, Mixture model and EM algorithm

 gating function

• 어떤 전문가를 쓸 것인가 ? gating function 이라고 한다 .

Page 10: 머피's 머신러닝, Mixture model and EM algorithm

Mixture Model

Page 11: 머피's 머신러닝, Mixture model and EM algorithm

• discuss how to fit this model in Section 11.4.3.

Page 12: 머피's 머신러닝, Mixture model and EM algorithm

11.3 Parameter estimation for mixture models

• zi 가 관찰됐다면 , d- 분리에 의해서 θz θ⊥ x|D 이 성립하고 , posterior 도 factorize 될 수 있다

• 하지만 LVM 에서 zi 는 hidden 이므로 , 파라메터들은 더이상 독립적이지 않고 , posterior 도 factorize 되지 않는다 .

• 이는 MAP, MLE 의 계산도 어렵게 만든다

Page 13: 머피's 머신러닝, Mixture model and EM algorithm

11.3.1 Unidentifiability

• LVM 에서 p(θ|D) 계산하는 것에 대한 가장 큰 문제는 multiple mode( 다중 봉우리 ) 를 가졌다는 것이다 .

• 예를 들어 GMM 에서 , zi 가 관찰되었다면 , 파라메터에 대한 unimodal posterior 를 갖게 된다 .

• NIW 는 평균과 분산에 대한 분포• 결과적으로 , global optimal 한 MAP 추정을 얻을 수 있다

• 그러나 ,zi 이 히든이면 , 각 zi 를 채우는 가능한 방법마다 , 다른 unimodal 한 likelihood 를 얻는다

• 그러므로 , posterior p(θ|D) 를 얻기위해 , zi 를 marginalize 할 때 , posterior 는 multimodal 이 된다 .

Page 14: 머피's 머신러닝, Mixture model and EM algorithm

11.3.1 Unidentifiability

• 그림 설명• ( 왼쪽 ) x 축 =1 차원 데이터 포인트 , y 차원이 빈도수 , 2 개의 Gaussian( 평균 -10,10) 의 혼합이다 .

• ( 오른쪽 ) p(D|mu1,mu2) 의 표면 , 두개의 mode 가 존재한다 .( 평균벡터 =(10,-10) 또는 (-10,10)))

• 즉 z 에 따라 , 첫번째 , 두번째 가우신안의 순서가 바뀔 수 있다 . K! 개의 가능한 레이블링• 파라메터가 identifiable 하지 않다고 한다

Page 15: 머피's 머신러닝, Mixture model and EM algorithm

11.3.1 Unidentifiability

• Unidentifiability 는 베이지안 추론에서 문제를 일으킨다• 예를 들어 , posterior mean 을 근사하기 위해 , θ(s) p(θ|D)∼ 로 몇개의 θ 를 샘플링하고 그것을 다음과 같이

평균낸다면 :

• 만약 샘플이 서로 다른 mode 에서 나왔다면 , 평균은 의미가 없어진다 .

Page 16: 머피's 머신러닝, Mixture model and EM algorithm

11.3.2 Computing a MAP estimate is non-convex

• 이전 섹션에 , 다소 휴리스틱하게 likelihood 는 multiple mode 를 갖을수 있고 그래서 , MAP 또는 ML 추정이 어려워진다고 했다 .

• 이번 섹션에서 , 좀 더 대수적으로 그것을 보이겠다 .

• 불행히도 , 위의 목적함수의 최적화는 log 가 sum_z 에 안들어가기 때문에 할 수 없다

• 결합 확률 분포 (joint probability distribution) p(zi,xi|θ) 이 지수족이라고 가정하면

• φ(x,z) are the sufficient statisticsZ(θ) is the normalization constant

• complete data log likelihood 는 다음과 같다 (x, z 둘다 관찰가능 )

• 첫번째 term 은 θ 에 linear 하고 , Z(θ) 는 convex 함수 (see 9.2.3 Log partition function) 이기 때문에 전체 목적함수는 concave( 마이너스 기호때문에 ) 하므로 , 하나의 maximum 이 있다

Page 17: 머피's 머신러닝, Mixture model and EM algorithm

11.3.2 Computing a MAP estimate is non-convex

• latent 변수가 있는 likelihood 는 z 는 관찰 못하므로 데이터도 없다

• p(x,z) 는 exponential family 라고 가정하였으므로 ,

• log-sum-exp 함수는 convex 하고 Z(θ) 도 convex 하다• 하지만 , 두 convex 함수들의 차는 일반적으로 convex 하지 않다• 그러므로 , 위의 likelihood 는 local optima 를 가진다 • 대부분 최적화 알고리즘은 local optimum 만을 찾을 수 있다

• simulated annealing 이나 유전자 알고리즘이 global optimum 을 찾을 수 있다고 하지만 , 무한대 시간에서라든지 하는 이상적인 가정하에서 일 뿐이다

• 실제로는 , random restart 를 여러번 하는 방식을 쓴다

Page 18: 머피's 머신러닝, Mixture model and EM algorithm

11.4 The EM algorithm

• 모든 관련있는 랜덤 변수의 모든 값이 관찰된다면 , ML 또는 MAP 을 계산하는 것은 쉽다 • 하지만 , missing 데이터나 latent 변수들을 가지고 있다면 , ML 이나 MAP 추정은 어려워진다 ( 앞 섹션에서 con-

vex 해지지 않는다고 했다 )

• 한가지 방법은 negative log likelihood or NLL 의 지역 최저점을 찾기 위해 경사 강하 최적기 (gradient-based opti-mizer) 를 쓰는 것이다 .

• 하지만 , mixing weight 의 합은 1 이여야 한다와 같은 제약 조건을 가해줘야 하는 경우가 많다• 좀 더 심플한 방법 ( 하지만 항상 빠르지는 않은 ) 이 바로 EM(expectation maximization) 을 쓰는 것이다• EM 은 데이터 완전히 관찰되었다면 , ML/ MAP 추정은 계산하기 쉽다는 사실을 이용한다• EM 은 모델의 파라메터가 주어졌을 때 , missing values 를 추론하는 E-step 과 E-step 에서 데이터가 채워졌을 때 ,

parameters 를 최적화하는 M-step 으로 이루어져 있다 .

Page 19: 머피's 머신러닝, Mixture model and EM algorithm

11.4.1 Basic idea

• xi 는 i 번째 볼수 있거나 관찰된 변수라고 하고 , zi 는 숨겨졌거나 missing 된 변수라고 하자 .

• 목적은 다음과 같은 likelihood 를 maximize 하는 것이다

• 로그는 sum 안에 들어갈 수 없기 때문에 , 최적화하기 어렵다 .

• EM 은 이 문제를 다음과 같이 푼다 .

• complete data log likelihood 를 정의한다

• Z 를 관찰할수 없으므로 , 계산할 수 없다

Page 20: 머피's 머신러닝, Mixture model and EM algorithm

• 그래서 다음과 같은 expected complete data log likelihood 을 정의한다 .

• t 는 현재 iteration 을 의미한다 .

• 현재 iteration 에서 한 단계 이전 iteration 에서의 파라메터와 데이터가 주어졌을 때 , complete data log likelihood의 기대값

• Estep: Q(θ,θt−1) 을 계산한다 또는 MLE 를 구하는데 필요한 term(GMM 에서는 z)

• Mstep: Q 함수를 θ 에 대해서 최적화한다 .

EM algorithm 은 the log likelihood of the observed data 를 단조 증가시킨다고 알려져 있다 .( 만약 그렇지 않다면 math 또는 code 에 bug 가 있는 것이다 .)(by jensen's inequality, 이 정리에 대한 참고자료)

Page 21: 머피's 머신러닝, Mixture model and EM algorithm

11.4.2 EM for GMMs11.4.2.1 Auxiliary function

기대값 성질

과정 PASS, 결론만으로 진행

Page 22: 머피's 머신러닝, Mixture model and EM algorithm
Page 23: 머피's 머신러닝, Mixture model and EM algorithm

11.4.2 EM for GMMsM-step

• rik 을 안다고 가정하면 MLE 를 이용해서 GMM 의 paramter 들을 업데이트할 수 있다 .

• (11.26) 을 π 에 대해서 미분해서 0 을 놓고 정리하면 ( 모든 k 에 대해서 πk 의 합은 1 인 제약조건을 추가 ,다음장 )

• μk and Σk 를 최적화하기 위해서 (11.26) 에서 π 관련된 항을 지우고 , 나머지에 정규분포 수식을 대입하면

• 역시 마찬가지로 MLE 추정을 하면GDA 에서는 각 클래스끼리의 평균이었지만 ,soft 하게 각 클래스가 될 확률의 가중치 평균이 되었다 .

GDA 에서는 각 클래스끼리의 분산이었지만 ,soft 하게 각 클래스가 될 확률의 가중치 분산이 되었다 .

Page 24: 머피's 머신러닝, Mixture model and EM algorithm
Page 25: 머피's 머신러닝, Mixture model and EM algorithm

11.4.2 EM for GMMsE-step

위의 수식은 Gaussian discriminant Analysis(see 4.2.1) 와 비슷해진다

Page 26: 머피's 머신러닝, Mixture model and EM algorithm

11.4.2 EM for GMMs

• 초기 상태 : 랜덤하게 두 가우시안의 평균과 분산을 정해준다 ( 분산은 I 행렬 )

Page 27: 머피's 머신러닝, Mixture model and EM algorithm

• e-step: 데이타와 두 가우시안의 파라메터가 주어졌을 때 , k 클러스터에 속할 확률 (p(zi=k|xi,θ) = rik) 을 계산한다

Page 28: 머피's 머신러닝, Mixture model and EM algorithm

• m-step: (p(zi=k|xi,θ) = rik) 을 이용해서 두 가우시안의 파라메터 ( 평균과 분산 ) 을 MLE 로 업데이트한다

Page 29: 머피's 머신러닝, Mixture model and EM algorithm
Page 30: 머피's 머신러닝, Mixture model and EM algorithm

11.4.2.5 K-means algorithm

• How to work

Page 31: 머피's 머신러닝, Mixture model and EM algorithm

11.4.2.5 K-means algorithm

• K-means 는 GMM 의 special case 로 볼 수 있음• 다음과 같이 가정한다 :

• Σk=σ2 ID is fixed, // 모든 가우시안의 공분산은 같고 동그랗다

• πk =1/K is fixed // 가우시안의 혼합율로 모두 동일하다 .

• E step: 가장 resonsibility 가 큰 z 로 hard assign 한다 .

• 모든 정규분포이 동일한 동그란 공분산을 가정했기 때문에 xi 에 대해서 가장 그럴듯한 cluster k 는

• 각 클러스터에는 중심이 있고 , xi 에서 가장 가까운 중심을 가지고 있는 클러스터로 고른다

Page 32: 머피's 머신러닝, Mixture model and EM algorithm

11.4.2.8 MAP estimation of GMM

• EM 에서 M단계의 MLE 는 overfit 될 수 있다 .

• K=2, Σk=σ2kI 라고 가정하고 하나의 가우시안에 하나의 데이터 x1 만 할당되었을 때 , 그 데이터는 likelihood 에

다음과 같이 기여한다 .

• 하나의 데이터 자체가 평균이 되기 때문에 exp 위에 올라가는 수치가 0 이된다 .

• 즉 σ2→0 이 될수록 값이 너무 커져버려서 likelihood 에 비이상적으로 기여하게 된다

Page 33: 머피's 머신러닝, Mixture model and EM algorithm

11.4.2.8 MAP estimation of GMM

• 간단한 해결책은 MAP 을 쓰는 것이다 .

• 새로운 auxiliary 함수는 log prior 가 추가된 형태이다 :

• E-step 은 변함이 없고 , M-step 은 다음과 같이 수정이 필요하다 .

Page 34: 머피's 머신러닝, Mixture model and EM algorithm

11.4.3 EM for mixture of experts

• Expected log likelihood Q 정의하기

Page 35: 머피's 머신러닝, Mixture model and EM algorithm

11.4.3 EM for mixture of experts

• w, 에 대해서 , MLE 를 하기 위해서 Q 에서 관계없는 term 은 지운다 .

• rik 가 작으면 , ith training example 에 대한 에러는 작게 취급한다 .(locally weighted linear regression)

정규분포

Page 36: 머피's 머신러닝, Mixture model and EM algorithm

11.4.3 EM for mixture of experts

• V 에 대해서 MLE 하기 위해서 , 관계없는 term 은 지운다

• We recognize this as equivalent to the log-likelihood for multinomial logistic regression in Equation 8.34,

• Thus we can estimate V by fitting a logistic regression model to soft target labels

Log-likelihood of multi-class logistic regression

Page 37: 머피's 머신러닝, Mixture model and EM algorithm

11.4.3 EM for mixture of experts

• E-step

• M-step: maximize Q(θ,θold) wrt wk, σ2k and V

estimate V by fitting a logistic regression model to soft target labels

Linear regression

Logistic regression

Page 38: 머피's 머신러닝, Mixture model and EM algorithm

11.4.4 EM for DGMs with hidden variables• complete data log likelihood

Page 39: 머피's 머신러닝, Mixture model and EM algorithm

11.4.4 EM for DGMs with hidden variablesN= 데이터수 , V=노드수 , Kpa(t) = 노드 t 의 부모의 상태수 , Kt = t노드의 상태수

모든 데이터 xi 에서 노드 t 의 상태가 k 였고 , t 의 부모조합이 c 이였을 횟수

Page 40: 머피's 머신러닝, Mixture model and EM algorithm

11.4.4 EM for DGMs with hidden variables

• 데이터 노드 x 에 hidden 이나 missing 이 있으면 , Ntck 를 셀 수가 없다 .사실 Ntck 는 세봐야 아는 건데 관찰이 안되거나 히든이면 모르니까 GM 조건부파라메터를 이용해서 확률 추론으로 기대값을 구함

Page 41: 머피's 머신러닝, Mixture model and EM algorithm

11.4.4 EM for DGMs with hidden variables

• E-Step • 앞장과 같이 ESS=Ntck 구하기

• M-Step• Given these ESS, the M step has the simple form(ML 추정으로 구함 )

Page 42: 머피's 머신러닝, Mixture model and EM algorithm

11.5 Model selection for latent variable models

• K 를 반드시 명시해주어야 함 = K 는 클러스터의 갯수 = 모델 셀렉션 문제• marginal likelihood: likelihood 가 가장 큰 K 를 고른다

• F-fold 교차 검증 (cross-validated) 으로 구할 때 , F 번 그리고 K 의 상태 수만큼 돌려야해서 너무 귀찮 ..--> 샘플링 하는 방법이 있다고 (MCMC), Section 25.2 for details

• K-means 는 likelihood 는 없는데 K 값은 어떻게 구하나 ?

Probability Model 이 좀 더 찾기 쉬워서 더 선호하는 이유가 되기도 함

Page 43: 머피's 머신러닝, Mixture model and EM algorithm

Conclusion

• MLE 를 하고 싶은데 , 관찰 불가능한 변수가 있어서 MLE 를 하지 못한다 .

• MLE 를 하는데 관찰 불가능한 변수를 ESS( Expected Sufficient Statistics) 라고 부른다 .

• ESS 를 Bayes rule(GMM, Expert Mixture), inference(DGM) 를 통해 추측한다 .(E-step)

• 추측된 ESS 를 가지고 , MLE 를 한다 .