Upload
jungkyu-lee
View
1.567
Download
2
Embed Size (px)
DESCRIPTION
사내 머신러닝 스터디 발표용
Citation preview
ML study6 번째
Mixture models and the EM algorithm
11.1 Latent variable models11.2 Mixture models11.4 The EM algorithm11.5 Model selection for latent variable models11.6 Fitting models with missing data
11.1 Latent variable models
• 10 장에서 graphical models 로 고차원 결합확률을 그래프로 표현했음• 서로 의존관계가 있는 두 변수는 그래프 상에서 edge 를 이음
• Latent variable models• 관찰된 변수는 숨겨진 공통 원인으로부터 발생했으므로 서로 연관되어 있다• fit 이 어렵다• hidden 변수로 모델의 파라메터를 줄일 수 있다
• 그림 설명 , 히든 변수가 있는 것 ( 왼 ), 비져블 공간에서 바로 습관과 증상을 모델링 ( 오 )
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
11.2 Mixture models11.2.1 Mixtures of Gaussians
• 가우시안 혼합 = mixture of Gaussians = MOG = Gaussian Mixture Model = GMM
• 충분히 많은 수 혼합 컴포넌트가 있으면 , GMM 은 RD 에서 정의되는 모든 분포를 근사해 낼 수 있다
11.2 Mixture models11.2.2 Mixture of multinoullis( 여기서는 베르누이 )
• 데이터가 D 차원 bit vectors x 라고 하자 .
• class conditional density 는 다음과 같이 베르누이 분포의 곱으로 표현할 수 있다 (=binomial)• μjk 는 클러스터 k 에서 j 번재 비트가 켜질 확률
.
• 위의 수식을 아래에 대입하면 카테고리 분포의 믹스쳐가 만들어진다모든 차원에 대해서 곱한 것 ( 각 차원은 베르누이 )= binomial
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 할 수 있다 .
11.2.4 Mixtures of experts
• 입력 공간의 특정 지역마다 하나의 전문가가 있다
• wk 는 각 latent 변수의 상태 k 마다 다르다
gating function
• 어떤 전문가를 쓸 것인가 ? gating function 이라고 한다 .
Mixture Model
• discuss how to fit this model in Section 11.4.3.
11.3 Parameter estimation for mixture models
• zi 가 관찰됐다면 , d- 분리에 의해서 θz θ⊥ x|D 이 성립하고 , posterior 도 factorize 될 수 있다
• 하지만 LVM 에서 zi 는 hidden 이므로 , 파라메터들은 더이상 독립적이지 않고 , posterior 도 factorize 되지 않는다 .
• 이는 MAP, MLE 의 계산도 어렵게 만든다
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 이 된다 .
11.3.1 Unidentifiability
• 그림 설명• ( 왼쪽 ) x 축 =1 차원 데이터 포인트 , y 차원이 빈도수 , 2 개의 Gaussian( 평균 -10,10) 의 혼합이다 .
• ( 오른쪽 ) p(D|mu1,mu2) 의 표면 , 두개의 mode 가 존재한다 .( 평균벡터 =(10,-10) 또는 (-10,10)))
• 즉 z 에 따라 , 첫번째 , 두번째 가우신안의 순서가 바뀔 수 있다 . K! 개의 가능한 레이블링• 파라메터가 identifiable 하지 않다고 한다
11.3.1 Unidentifiability
• Unidentifiability 는 베이지안 추론에서 문제를 일으킨다• 예를 들어 , posterior mean 을 근사하기 위해 , θ(s) p(θ|D)∼ 로 몇개의 θ 를 샘플링하고 그것을 다음과 같이
평균낸다면 :
• 만약 샘플이 서로 다른 mode 에서 나왔다면 , 평균은 의미가 없어진다 .
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 이 있다
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 를 여러번 하는 방식을 쓴다
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 으로 이루어져 있다 .
•
11.4.1 Basic idea
• xi 는 i 번째 볼수 있거나 관찰된 변수라고 하고 , zi 는 숨겨졌거나 missing 된 변수라고 하자 .
• 목적은 다음과 같은 likelihood 를 maximize 하는 것이다
• 로그는 sum 안에 들어갈 수 없기 때문에 , 최적화하기 어렵다 .
• EM 은 이 문제를 다음과 같이 푼다 .
• complete data log likelihood 를 정의한다
• Z 를 관찰할수 없으므로 , 계산할 수 없다
• 그래서 다음과 같은 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, 이 정리에 대한 참고자료)
11.4.2 EM for GMMs11.4.2.1 Auxiliary function
기대값 성질
과정 PASS, 결론만으로 진행
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 하게 각 클래스가 될 확률의 가중치 분산이 되었다 .
11.4.2 EM for GMMsE-step
위의 수식은 Gaussian discriminant Analysis(see 4.2.1) 와 비슷해진다
11.4.2 EM for GMMs
• 초기 상태 : 랜덤하게 두 가우시안의 평균과 분산을 정해준다 ( 분산은 I 행렬 )
• e-step: 데이타와 두 가우시안의 파라메터가 주어졌을 때 , k 클러스터에 속할 확률 (p(zi=k|xi,θ) = rik) 을 계산한다
• m-step: (p(zi=k|xi,θ) = rik) 을 이용해서 두 가우시안의 파라메터 ( 평균과 분산 ) 을 MLE 로 업데이트한다
11.4.2.5 K-means algorithm
• How to work
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 에서 가장 가까운 중심을 가지고 있는 클러스터로 고른다
11.4.2.8 MAP estimation of GMM
• EM 에서 M단계의 MLE 는 overfit 될 수 있다 .
• K=2, Σk=σ2kI 라고 가정하고 하나의 가우시안에 하나의 데이터 x1 만 할당되었을 때 , 그 데이터는 likelihood 에
다음과 같이 기여한다 .
• 하나의 데이터 자체가 평균이 되기 때문에 exp 위에 올라가는 수치가 0 이된다 .
• 즉 σ2→0 이 될수록 값이 너무 커져버려서 likelihood 에 비이상적으로 기여하게 된다
11.4.2.8 MAP estimation of GMM
• 간단한 해결책은 MAP 을 쓰는 것이다 .
• 새로운 auxiliary 함수는 log prior 가 추가된 형태이다 :
• E-step 은 변함이 없고 , M-step 은 다음과 같이 수정이 필요하다 .
11.4.3 EM for mixture of experts
• Expected log likelihood Q 정의하기
11.4.3 EM for mixture of experts
• w, 에 대해서 , MLE 를 하기 위해서 Q 에서 관계없는 term 은 지운다 .
• rik 가 작으면 , ith training example 에 대한 에러는 작게 취급한다 .(locally weighted linear regression)
정규분포
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
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
11.4.4 EM for DGMs with hidden variables• complete data log likelihood
11.4.4 EM for DGMs with hidden variablesN= 데이터수 , V=노드수 , Kpa(t) = 노드 t 의 부모의 상태수 , Kt = t노드의 상태수
모든 데이터 xi 에서 노드 t 의 상태가 k 였고 , t 의 부모조합이 c 이였을 횟수
11.4.4 EM for DGMs with hidden variables
• 데이터 노드 x 에 hidden 이나 missing 이 있으면 , Ntck 를 셀 수가 없다 .사실 Ntck 는 세봐야 아는 건데 관찰이 안되거나 히든이면 모르니까 GM 조건부파라메터를 이용해서 확률 추론으로 기대값을 구함
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 추정으로 구함 )
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 이 좀 더 찾기 쉬워서 더 선호하는 이유가 되기도 함
Conclusion
• MLE 를 하고 싶은데 , 관찰 불가능한 변수가 있어서 MLE 를 하지 못한다 .
• MLE 를 하는데 관찰 불가능한 변수를 ESS( Expected Sufficient Statistics) 라고 부른다 .
• ESS 를 Bayes rule(GMM, Expert Mixture), inference(DGM) 를 통해 추측한다 .(E-step)
• 추측된 ESS 를 가지고 , MLE 를 한다 .