확률적 주성분 분석(Probabilistic PCA)

2021. 8. 16. 15:39Bayesian

728x90

이번 글에서는 연속형 잠재 변수를 활용하는 가장 기본적인 모델에 해당하는 확률적 주성분 분석(Probabilistic PCA)에 대해 알아보겠습니다.

[관련 글]

2021.08.16 - [Machine Learning/models] - [models] 주성분 분석(Principal Component Analysis)


주성분 분석은 원래 데이터 차원보다 더 낮은 차원으로 선형 사영(linear projection) 시키는 방법을 말합니다.

주성분 분석의 고유 벡터와 고윳값은 라그랑주 승수법을 통해 구할 수 있습니다.

확률적 주성분 분석에서는 연속형 잠재 변수의 선형 결합을 통해 관찰된 변수를 나타냅니다. 이렇게 나타내게 되면, 기존의 확률론적 방법으로 통합될 수 있기 때문에 여러 이점(MLE, EM 알고리즘을 통해 해를 구할 수 있음, 베이지안 방법으로 확장 가능)이 있습니다. 


관찰된 변수 $\textbf{x}$를 잠재 변수 $\textbf {z}$를 통해 다음과 같이 표현할 수 있습니다.

$\begin {align} &\textbf {x}=\textbf {Wz} + \mu + \epsilon,~~~~where~\epsilon \sim N(0,\sigma^2),~p(\textbf {z})=N(z|0, \textrm {I}),~~~~\dots~~~~(1) \\ &p(\textbf {x}|\textbf {z})=N(\textbf {x}|\textbf {Wz}+\mu,~\sigma^2 I) \end {align}$

관찰된 변수 $\textbf {x}$의 주변 분포와 그 분포를 통해 도출한 평균과 공분산은 다음과 같습니다.

$\begin {align} &p(\textbf {x})=\displaystyle \int {p(\textbf {x}|\textbf {z})p(\textbf {z})} \\ &\mathbb {E}[\textbf {x}]=\mathbb {E}[\textbf {Wz}+\mu+\epsilon]=\mu \\ &\textrm {cov}[\textbf {x}]=\mathbb {E} \left [ (\textbf {Wz}+\epsilon)(\textbf {Wz}+\epsilon)^{T} \right ] = \mathbb {E}[\textbf {Wz}\textbf {z}^T \textbf {W}^T ] + \mathbb {E}[\epsilon \epsilon^T ] = \textbf {W}\textbf {W}^T + \sigma^2 I \end {align}$

그리고 MLE 방법을 통해 우리가 원하는 행렬 $\textbf {W}$의 해를 구하면 다음과 같습니다.

$\textbf {W}_{ML}=\textbf {U}_M (\textbf {L}_M - \sigma^2 \textbf {I})^{1/2} \textbf {R}$

여기서 $\textbf {U}_M$행렬은 데이터의 공분산$\textbf {S}$으로부터 추출된 고유 벡터 행렬을 의미하고, $\textbf {L}_M$은 고윳값으로부터 만들어진 고유값 행렬을 의미합니다.

즉, $(1)$식의 가중치 행렬 $\textbf {W}$의 해는 고유 벡터 행렬과 고윳값을 이용해 만들어진 행렬의 곱으로 분해될 수 있다는 것을 의미합니다.

추가적으로 확률 주성분 분석을 확률 그래프 모델로 나타내면 다음과 같습니다.


[출처] BISHOP, Christopher M., et al. Neural networks for pattern recognition. Oxford university press, 1995.