31
Latent Linear Model 7 번번 ML study

머피's 머신러닝: Latent Linear Model

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: 머피's 머신러닝: Latent Linear Model

Latent Linear Model7 번째 ML study

Page 2: 머피's 머신러닝: Latent Linear Model

Factor Analysis : intuition

• 11 차원 ( 차의 특성 ) 의 데이터셋을 2 차원 (Component1, Component2) 으로 차원축소 ( 빨간색점 )• 사실은 한점으로 고정되는 게 아니라 확률분포로 나옴

• 각 특성의 유닛벡터를 (1,0,0,0,0,0,0,0,0,0,0), (0,1,0,0,0,0,0,0,0,0,0) 를 FA 로 사영하면 comp1 에 가까운 특성 , comp2 에 가까운 특성을 알 수 있음

Page 3: 머피's 머신러닝: Latent Linear Model

12.1 Factor analysis – model spec

• An alternative is to use a vector of real-valued latent variables,zi R∈

• where W is a D×L matrix, known as the factor loading matrix, and Ψ is a D×D covariance matrix.

• We take Ψ to be diagonal, since the whole point of the model is to “force” zi to explain the correlation, rather than “baking it in” to the observation’s covariance. • z 가 어느 한점으로 고정된 상태에서는 변수간의 상관관계는 없다고 가정

• The special case in which Ψ=σ2I is called probabilistic principal components analysis or PPCA.

x 의 정보들이 완전히 독립이 아니라서 압축의 여지가 있다는 것x 는 어떤 작은 차원의 latent 한 random variable 을 선형변환 시킨 것이다

Page 4: 머피's 머신러닝: Latent Linear Model

12.1.1 FA is a low rank parameterization of an MVN

• FA can be thought of as a way of specifying a joint density model on x using a small number of parameters.• MVN 을 표현하는데 , 원래는 공분산를 표현하기 위해 O(D*D) 의 parameter 가 필요한데 , latent variable 을

가정하면 O(D*L) 의 parameter 만 있으면 된다

Page 5: 머피's 머신러닝: Latent Linear Model

12.1 Factor analysis - visualize

• The generative process, where L=1, D=2 and Ψ is diagonal, is illustrated in Figure 12.1.

• We take an isotropic Gaussian “spray can” and slide it along the 1d line defined by wzi +μ.

• This induces an ellongated (and hence correlated) Gaussian in 2d.

초록색의 2 차원 정규분포는 1 차원 정규분포를 가진 z 를 W 로 선형변환한 것으로도 compact 하게 표현할 수 있다 .

Page 6: 머피's 머신러닝: Latent Linear Model

12.1.2 Inference of the latent factors

• latent factors z will reveal something interesting about the data.

xi(D 차원 ) 를 넣어서 L 차원으로 매핑시킬 수 잇음training set 을 D 차원에서 L 차원으로 차원 축소

Page 7: 머피's 머신러닝: Latent Linear Model

12.1.2 Inference of the latent factors

D =11 차원 ( 엔진크기 , 실린더 수 , 가격 ,...), N =328 개의 example( 자동차 종류 ), L = 2

• 밑에 공식에 의해 각 피쳐 ( 엔진크기 , 실린더 수 ,.. 11 개 ) 의 유닛 벡터 e1=(1,0,...,0), e2=(0,1,0,...,0) 를 저차원 공간에 사영한 것이 파란색 선 (biplot 이라고 함 )

• 각 데이터 X 도 사영시킴 ( 빨간색 )

• biplot 가까이 있는 빨간색점 ( 차량 ) 이 그 특성을 잘 가지고 있는 차

training set 을 D 차원에서 L 차원으로 차원 축소 ( 빨간색 점 )

L*L*(L*D*D*D*D*1 + L*L*L*1) = L*1

Page 8: 머피's 머신러닝: Latent Linear Model

12.1.4 Mixtures of factor analysers

• 각 데이터 Xi 가 k 개의 FA 에서 나왔다는 모델 (GMM 과 비슷 )

• let [the k’th linear subspace of dimensionality Lk]] be represented by Wk, for k=1:K.

• Suppose we have a latent indicator qi {1,...,K} specifying which subspace we should use to generate the data.∈

• We then sample zi from a Gaussian prior and pass it through the Wk matrix (where k=qi), and add noise.

)어떤 FA 를 쓸 것인가를 할당하는 변수

Page 9: 머피's 머신러닝: Latent Linear Model

12.1.5 EM for factor analysis models

Expected log likelihood

ESS(Expected Sufficient Statistics)

MLE 를 하는데 필요한 데이터의 충분통계량모델 parameter W,PHI,MU 를 알면 추정할 수 있다 .모델 parameter 는 t-1 의 것을 쓴다 초기에는 랜덤

Page 10: 머피's 머신러닝: Latent Linear Model

12.1.5 EM for factor analysis models

• E- step

• M-step

MLE 로 구하면

Page 11: 머피's 머신러닝: Latent Linear Model

Eigenvector, Eigenvalue

• 어떤 선형 변환( 행렬 ) 의 고유벡터는 변환 후에도 변하지 않거나 그 크기만이 변하고 방향은 일정한 벡터를 가리킨다 .

• 어떤 고유벡터의 고유값은 변환 전과 후의 고유벡터의 크기 비율이다 .

고유벡터

선형변환 고유값

Page 12: 머피's 머신러닝: Latent Linear Model

PCA: intuition

• 차원을 줄였을 때 , 사영된 데이터의 분산이 최대가 되는 것이 좋다• FA 의 special case 인 PCA 가 왜 이런 결과를 보이는지 볼 것이다

Page 13: 머피's 머신러닝: Latent Linear Model

12.2 Principal components analysis (PCA)

• Consider the FA model where we constrain Ψ=σ2I, and W to be orthonormal.

• It can be shown (Tipping and Bishop 1999) that, as σ2 →0, this model reduces to classical (nonprobabilistic)principal components analysis( PCA),

• The version where σ2 > 0 is known as probabilistic PCA(PPCA)

즉 W 의 역행렬은 W’

Page 14: 머피's 머신러닝: Latent Linear Model

• zi 를 선형 변환 (W) 으로 보낸 hat{xi} 이 xi 와의 에러가 최소화되는 것이 목적 함수 , 단 W 는 orthonomal 가정• 이 최적의 W 는 X’*X 의 공분산 행렬의 eivenvector 를 대응하는 eigenvalue 의 크기 순으로 붙인 것

Page 15: 머피's 머신러닝: Latent Linear Model

proof sketch

• reconstruction error 를 줄이는 W 를 구하는 것 = W 로 사영되는 데이터 z 의 분산이 최대가 되는 W 를 구하는 것• W 로 사영되는 데이터 z 의 분산이 최대가 되는 W 를 lagrange multiplier 최적화로 구해본다• W 로 사영되는 데이터 z 의 분산이 최대가 되는 W 를 구해봤더니 데이터의 empirical covariance matrix X’X 의 [

첫번째 , 두번째 , 세번쨰 .. eigenvector]

Page 16: 머피's 머신러닝: Latent Linear Model

proof of PCA

• wj R∈ D to denote the j’th principal direction

• xi R∈ D to denote the i’th high-dimensional observation,

• zi R∈ L to denote the i’th low-dimensional representation

• Let us start by estimating the best 1d solution,w1 R∈ D, and the corresponding projected points˜z1 R∈ N.

• So the optimal reconstruction weights are obtained by orthogonally projecting the data onto the first principal di-rection

Page 17: 머피's 머신러닝: Latent Linear Model

proof of PCAzi 가 첫번째 latent 차원 zi = w1xi 로 사영된 데이터 포인트의 분산

• 목적함수가 error 를 최소화하는 것에서 사영된 점들의 분산을 최대화하는 것으로 바뀌었다• 분산이 최대화 될수록 J(w1) 가 작아짐

direction that maximizes the variance is an eigenvector of the covariance matrix.

X 의 공분산 행렬

Page 18: 머피's 머신러닝: Latent Linear Model

proof of PCA

Optimizing wrt w1 and z1 gives the same solution as before.

The proof continues in this way. (Formally one can use induction.)

eigenvalue 는 eigenvector 에 사영된 점들의 분산

Page 19: 머피's 머신러닝: Latent Linear Model

12.2.3 Singular value decomposition (SVD)

• PCA 는 SVD 와 밀접한 관계가 있다• SVD 를 돌리면 , PCA 의 해 W 를 구할 수 있다• PCA 는 결국 truncated SVD approximation 와 같다

thin SVD• SVD 는 행렬 분해 알고리즘으로 , 어떤 큰 행렬을 세 가지 행렬로 쪼갠다• truncated SVD 는 자신의 원하는만큼의 singular value 만 쓴다 .• singular value 의 정체가 뭔지는 뒤에 설명할 것이다

Page 20: 머피's 머신러닝: Latent Linear Model

SVD: example

sigular value 한개 , 두개 , 세개 쓴 근사치

truncated SVD

Page 21: 머피's 머신러닝: Latent Linear Model

SVD: example

• 데이터 압축에 쓰일수 있다• 이미지 100*200 = 20000 parameters, rank 20 tSVD 의 경우 , 100*20(U) + 20(S) + 20*200(V’) = 6020 parameters

Page 22: 머피's 머신러닝: Latent Linear Model

12.2.3 Singular value decomposition (SVD)

PCA 의 해 W 는 XTX 의 eigenvectors 와 같으므로 , W=Vsvd 를 돌리면 pca 의 해가 나온다

Page 23: 머피's 머신러닝: Latent Linear Model

example

• 데이터 생성

• 공분산 행렬의 eivenvalue 와 eigenvector

• X 의 svd 결과

Page 24: 머피's 머신러닝: Latent Linear Model

PCA 는 결국 truncated SVD approximation 와 같다

• 결론적으로 , X= USV’ 에서 US(N*L 행렬 ) 는 PCA 에서 X(N*D 행렬 ) 가 W 에 사영된 차원 축소버전이라고 볼 수 있다

Page 25: 머피's 머신러닝: Latent Linear Model

wrap up

• latent variable(zi) 을 선형변환 (W) 한 것이 xi 와 가장 가까이 되는 선형변환을 찾고 싶다• 이 선형변환을 찾는 문제는 결국 X 를 사영시켰을 때 그 점들이 가장 큰 분산을 갖는 축들을 찾는 것이다• 그 가장 큰 분산을 갖는 축은 X 의 공분산 행렬 (X’X) 의 가장 큰 eigenvalue 값들을 갖는 eigenvector 들이다 .

• truncated SVD 는 X 행렬을 세가지 행렬 (USV’) 로 분해하여 low rank appoximation 을 하는데• V 는 PCA 의 해 W 와 같다• US 는 PCA 의 X 가 W 에 사영된 점 Z 와 같다

Page 26: 머피's 머신러닝: Latent Linear Model

12.2.4 Probabilistic PCA

• x 의 평균은 0, Ψ=σ2I 이고 W 가 orthogonal 한 FA 를 생각하자 .

MLE 로 구하면 ,

Page 27: 머피's 머신러닝: Latent Linear Model

12.2.5 EM algorithm for PCA

• PCA 에서 Estep 은 latent 변수 Z 를 추론해 내는 것이고 FA EM 에서 etep 에서의 posterior 의 평균을 쓴다

확률모델이 아니라 공분산 없다고 침

X 가 W 가 span 하는 공간에 사영된 것

행렬 표현

Page 28: 머피's 머신러닝: Latent Linear Model

12.2.5 EM algorithm for PCA

• 파란색 막대 (W) 에 용수철이 동그라미 (Z) 에 달려있고 , 그걸 초록색 위치 (X) 만큼 잡아당기고 있다고 해보자• E-step 은 스프링의 장력 (sum of squared residual 에 비례 ) 이 최소화 되도록 동그라미를 옮긴다• M-step 은 막대 위의 동그라미 위치는 고정한 상태에서 장력이 최소화되도록 막대를 회전시킨다• 축이 데이터 X 의 가장 큰 분산의 위치에 근접하게 됨을 알 수 잇다

Wt-1

Page 29: 머피's 머신러닝: Latent Linear Model

12.2.5 EM algorithm for PCA

• EM 의 장점• EM can be faster• EM can be implemented in an online fashion, i.e., we can update our estimate of W

as the data streams in.

Page 30: 머피's 머신러닝: Latent Linear Model

12.3.1 Model selection for FA/PPCA12.3.2 Model selection for PCA

Page 31: 머피's 머신러닝: Latent Linear Model

Conclusion

• FA 는 정규분포의 x 을 (D*D paramters), 더 작은 parameter 갯수 (D*L) 로 표현한다 .

• PCA 는 FA 의 special 케이스이다• PCA 문제 의 해 W 는 Z 로 사영되는 데이터의 분산이 최대가 되게 하고

가장 큰

eigenvalue 에 대응하는 eigenvectors 이다 • SVD (X = USV’) 에서 V 는 X 의 공분산 행렬의 eigenvectors 이다 . 그러므로 W=V