잠재 변수 관점
이전 절들에서 우리는 최대 분산(maximum-variance) 및 사영(projection) 관점을 사용하여 확률적 모델의 개념 없이 PCA를 유도했다. 한편으로, 이 접근법은 확률 이론에 수반되는 모든 수학적 어려움을 회피할 수 있게 해주므로 매력적일 수 있지만, 다른 한편으로 확률적 모델은 우리에게 더 많은 유연성과 유용한 통찰력을 제공할 것이다. 구체적으로, 확률적 모델은 다음과 같은 것들을 가능하게 한다.
- 가능도 함수(likelihood function)를 동반하며, 노이즈가 있는 관측치(앞서 논의조차 하지 않았던)를 명시적으로 다룰 수 있다.
- 8.6절에서 논의된 주변 가능도(marginal likelihood)를 통한 베이지안 모델 비교(Bayesian model comparison)를 허용한다.
- PCA를 생성 모델(generative model)로 간주하여, 새로운 데이터를 시뮬레이션(생성)할 수 있게 해준다.
- 관련 알고리즘들과의 직관적인 연결을 가능하게 한다.
- 베이즈 정리를 적용하여 무작위로 누락된(missing at random) 데이터 차원을 다룰 수 있다.
- 새로운 데이터 포인트의 참신성(novelty)에 대한 개념을 제공한다.
- 모델을 확장할 수 있는 원칙적인 방법을 제공한다 (예: PCA 모델들의 혼합(mixture)).
- 우리가 이전 절들에서 유도했던 PCA를 특수한 경우(special case)로 포함한다.
- 모델 파라미터들을 주변화(marginalizing out)함으로써 완전한 베이지안 처리(fully Bayesian treatment)를 허용한다.
연속값 잠재 변수(continuous-valued latent variable) $\boldsymbol{z} \in \mathbb{R}^M$ 를 도입함으로써, PCA를 확률적 잠재 변수 모델(probabilistic latent-variable model)로 표현하는 것이 가능하다. Tipping과 Bishop (1999)은 이 잠재 변수 모델을 확률적 PCA (Probabilistic PCA, PPCA)로 제안했다. PPCA는 앞서 언급된 대부분의 문제를 해결하며, 우리가 사영된 공간에서의 분산을 최대화하거나 재구성 오차를 최소화함으로써 얻었던 PCA 해는 노이즈가 없는 환경(noise-free setting)에서의 최대 가능도 추정(maximum likelihood estimation, MLE)의 특수한 경우로 얻어지게 된다.
10.7.1 Generative Process and Probabilistic Model
생성 과정과 확률적 모델
PPCA에서 우리는 선형 차원 축소를 위한 확률적 모델을 명시적으로 작성한다. 이를 위해 표준 정규 사전 분포(standard-normal prior) $p(\boldsymbol{z}) = \mathcal{N}(\boldsymbol{0}, \boldsymbol{I})$ 를 가지는 연속 잠재 변수 $\boldsymbol{z} \in \mathbb{R}^M$ 를 가정하고, 잠재 변수와 관측된 $\boldsymbol{x}$ 데이터 간의 선형 관계를 다음과 같이 가정한다.
여기서 $\boldsymbol{\epsilon} \sim \mathcal{N}(\boldsymbol{0}, \sigma^2\boldsymbol{I})$ 는 가우시안 관측 노이즈이며, $\boldsymbol{B} \in \mathbb{R}^{D \times M}$ 와 $\boldsymbol{\mu} \in \mathbb{R}^D$ 는 잠재 변수에서 관측 변수로의 선형/아핀 매핑(linear/affine mapping)을 설명한다. 따라서 PPCA는 다음을 통해 잠재 변수와 관측 변수를 연결한다.
$\quad$ 전반적으로 PPCA는 다음과 같은 생성 과정을 유도한다.
모델 파라미터가 주어졌을 때 전형적인 데이터 포인트를 생성하기 위해, 우리는 조상 샘플링(ancestral sampling) 기법을 따른다. 먼저 $p(\boldsymbol{z})$ 로부터 잠재 변수 $\boldsymbol{z}_n$ 을 샘플링한다. 그런 다음 (10.64)에서 $\boldsymbol{z}_n$ 을 사용하여, 샘플링된 $\boldsymbol{z}_n$ 에 조건부인 데이터 포인트를 샘플링한다. 즉, $\boldsymbol{x}_n \sim p(\boldsymbol{x}\vert \boldsymbol{z}_n, \boldsymbol{B}, \boldsymbol{\mu}, \sigma^2)$ 이다.
$\quad$ 이러한 생성 과정을 통해 우리는 확률적 모델(즉, 모든 확률 변수의 결합 분포; 8.4절 참조)을 다음과 같이 작성할 수 있다.
이는 8.5절의 결과를 사용하여 그림 10.14의 그래피컬 모델을 즉각적으로 도출한다.
$\to$ PPCA 모델은 고정된 파라미터 $\theta = {\boldsymbol{B}, \boldsymbol{\mu}, \sigma^2}$ 에 의해 정의된다. 이들은 확률 변수는 아니지만, 분포의 형태를 결정하는 조건(Condition)이므로 수직선( $\vert$ ) 뒤에 명시한다.
이때 잠재 변수 $\boldsymbol{z}$ 는 표준 정규 분포 $\mathcal{N}(\boldsymbol{0}, \boldsymbol{I})$ 에서 독립적으로 샘플링되므로 $\boldsymbol{B}$ 나 $\boldsymbol{\mu}$ , 노이즈 $\sigma^2$ 과 상관 없는 확률 변수이다. 따라서 $p(\boldsymbol{z} \vert \boldsymbol{B}, \boldsymbol{\mu}, \sigma^2) = p(\boldsymbol{z})$ 이 성립한다.
종국에 우리가 하고자 하는 것은 관측된 데이터 $\boldsymbol{x}$ 가 나올 확률( $p(x)$ )을 최대화하는 파라미터 $\theta = {\boldsymbol{B}, \boldsymbol{\mu}, \sigma^2}$ 를 찾는 것이다. 이때 잠재 변수 $\boldsymbol{z}$ 는 관측 데이터의 좋은 요약본이며, 동시에 새로운 데이터의 원인으로써 작용한다.

그림 10.14. 확률적 PCA의 그래피컬 모델. 관측치 $\boldsymbol{x}_n$ 은 대응하는 잠재 변수 $\boldsymbol{z}_n \sim \mathcal{N}(\boldsymbol{0}, \boldsymbol{I})$ 에 명시적으로 의존한다. 모델 파라미터 $\boldsymbol{B}, \boldsymbol{\mu}$ 와 가능도 파라미터 $\sigma$ 는 데이터셋 전체에서 공유된다.
Remark. 잠재 변수 $\boldsymbol{z}$ 와 관측 데이터 $\boldsymbol{x}$ 를 연결하는 화살표의 방향에 주목하라. 화살표는 $\boldsymbol{z}$ 에서 $\boldsymbol{x}$ 로 향하며, 이는 PPCA 모델이 고차원 관측치 $\boldsymbol{x}$ 에 대해 더 낮은 차원의 잠재적 원인(latent cause) $\boldsymbol{z}$ 를 가정한다는 것을 의미한다. 결국, 우리는 분명히 일부 관측치가 주어졌을 때 $\boldsymbol{z}$ 에 대한 무언가를 알아내는 데 관심이 있다. 그곳에 도달하기 위해, 우리는 베이지안 추론을 적용하여 화살표를 암시적으로 “역전(invert)”시키고 관측치에서 잠재 변수로 이동할 것이다.
$\to$ 그래픽 모델에서 동그라미는 그 값이 확률 분포를 따르며, 샘플링할 때마다 변할 수 있는 확률변수를 의미한다. 이때 $\sigma$ 는 기본 PPCA 모델에서 결정론적인 상수로 취급한다.
$\to$ 그림 10.14의 플레이트 표기법은 모델의 학습 과정을 묘사한다. $\boldsymbol{B}$ (주성분 축)나 $\sigma$ (노이즈)의 최적값을 얻으려면 관측된 $N$ 개 데이터를 가장 잘 설명하는 파라미터를 구하여 $p(\boldsymbol{x}_1, \dots, \boldsymbol{x}_N \vert \boldsymbol{B}, \boldsymbol{\mu}, \sigma^2)$ 를 최대화해야 한다. 이후 새로운 $\boldsymbol{z}$ 를 샘플링하여 무한한 $\boldsymbol{x}$ 를 얻을 수 있다.
예제 10.5 (잠재 변수를 이용한 새로운 데이터 생성)

그림 10.15. 새로운 MNIST 숫자 생성. 잠재 변수 $\boldsymbol{z}$ 는 새로운 데이터 $\tilde{\boldsymbol{x}} = \boldsymbol{B}\boldsymbol{z}$ 를 생성하는 데 사용될 수 있다. 훈련 데이터에 머물수록 생성된 데이터가 더 사실적이다.
그림 10.15는 2차원 주 부분공간(파란색 점)을 사용할 때 PCA에 의해 발견된 MNIST 숫자 “8”의 잠재 좌표를 보여준다. 우리는 이 잠재 공간에서 임의의 벡터 $\boldsymbol{z}_*$ 를 쿼리(query)하고 숫자 “8”을 닮은 이미지 $\tilde{\boldsymbol{x}}_* = \boldsymbol{B}\boldsymbol{z}_*$ 를 생성할 수 있다. 우리는 해당하는 잠재 공간 표현과 함께 생성된 8개의 이미지를 보여준다. 잠재 공간의 어디를 쿼리하느냐에 따라 생성된 이미지는 다르게 보인다(모양, 회전, 크기 등). 훈련 데이터에서 멀리 떨어진 곳을 쿼리하면, 예를 들어 좌측 상단 및 우측 상단 숫자와 같이 점점 더 많은 아티팩트(artifacts)를 보게 된다. 생성된 이 이미지들의 내재적 차원(intrinsic dimensionality)은 단지 2라는 점에 유의하라.
훈련 데이터의 convex hull이 아닌 외삽 영역은 어떻게 탐지하는가?
10.7.2 Likelihood and Joint Distribution
가능도와 결합 분포
6장의 결과를 사용하여, 우리는 잠재 변수 $\boldsymbol{z}$ 를 적분하여 소거(integrating out)함으로써 이 확률적 모델의 가능도(likelihood)를 얻는다 (8.4.3절 참조).
6.5절로부터, 우리는 이 적분의 해가 다음과 같은 평균을 가지는 가우시안 분포임을 알고 있다.
그리고 공분산 행렬은 다음과 같다.
(10.68b)의 가능도는 모델 파라미터의 최대 가능도(maximum likelihood) 또는 MAP 추정에 사용될 수 있다.
Remark. (10.64)의 조건부 분포는 여전히 잠재 변수에 의존하므로 최대 가능도 추정에 사용할 수 없다. 최대 가능도(또는 MAP) 추정을 위해 우리가 필요로 하는 가능도 함수는 오직 데이터 $\boldsymbol{x}$ 와 모델 파라미터만의 함수여야 하며, 잠재 변수에 의존해서는 안 된다.
$\quad$ 6.5절로부터, 우리는 가우시안 확률 변수 $\boldsymbol{z}$ 와 그것의 선형/아핀 변환 $\boldsymbol{x} = \boldsymbol{B}\boldsymbol{z}$ 가 결합 가우시안 분포(jointly Gaussian distributed)를 따른다는 것을 안다. 우리는 이미 주변 분포(marginals) $p(\boldsymbol{z}) = \mathcal{N}(\boldsymbol{z} \,\vert \, \boldsymbol{0}, \boldsymbol{I})$ 와 $p(\boldsymbol{x}) = \mathcal{N}(\boldsymbol{x} \,\vert \, \boldsymbol{\mu}, \boldsymbol{B}\boldsymbol{B}^\top + \sigma^2\boldsymbol{I})$ 를 알고 있다. 누락된 교차 공분산(cross-covariance)은 다음과 같이 주어진다.
따라서 PPCA의 확률적 모델, 즉 잠재 확률 변수와 관측 확률 변수의 결합 분포는 다음과 같이 명시적으로 주어진다.
이는 길이가 $D+M$ 인 평균 벡터와 $(D+M) \times (D+M)$ 크기의 공분산 행렬을 갖는다.
교차 공분산의 정의는 다음과 같다.
이때 $\boldsymbol{x} = \boldsymbol{B}\boldsymbol{z} + \boldsymbol{\mu} + \boldsymbol{\epsilon}$ 에서 노이즈 $\boldsymbol{\epsilon}$ 과 잠재 변수 $\boldsymbol{z}$ 는 서로 독립이며, $\mathbb{E}[\boldsymbol{x}] = \boldsymbol{\mu}$ (상수)이므로,
또한 $\boldsymbol{B}$ 는 상수 행렬이므로
이때 $\boldsymbol{z}$ 의 사전 분포를 표준 정규분포이므로( $\text{Cov}[\boldsymbol{z}, \boldsymbol{z}] = \boldsymbol{I}$ ) 식 $(10.71)$ 이 유도된다.
식 (10.72)에서 결합 분포의 평균은 각각 $\mathbb{E}[\boldsymbol{x}]$ , $\mathbb{E}[\boldsymbol{z}]$ 이며, $2 \times 2$ 공분산 (블록) 행렬의 각 원소는 $\boldsymbol{x}$ 자기 자신의 분산( $\boldsymbol{BB}^\top + \sigma^2\boldsymbol{I}$ ), $\boldsymbol{x}$ 와 $\boldsymbol{z}$ 의 상관관계( $\boldsymbol{B}$ ), $\boldsymbol{z}$ 와 $\boldsymbol{x}$ 의 상관관계( $\boldsymbol{B}^\top$ ), $\boldsymbol{z}$ 자기 자신의 분산( $\boldsymbol{I}$ )이다.
10.7.3 Posterior Distribution
사후 분포
(10.72)의 결합 가우시안 분포 $p(\boldsymbol{x}, \boldsymbol{z} ,\vert , \boldsymbol{B}, \boldsymbol{\mu}, \sigma^2)$ 는 6.5.1절의 가우시안 조건화(Gaussian conditioning) 규칙을 적용하여 사후 분포 $p(\boldsymbol{z} ,\vert , \boldsymbol{x})$ 를 즉각적으로 결정할 수 있게 해준다. 관측치 $\boldsymbol{x}$ 가 주어졌을 때 잠재 변수의 사후 분포는 다음과 같다.
사후 분포의 평균과 분산 유도과정 이해하기
지울거
다변량 가우시안 분포 $p(\boldsymbol{x}_1, \boldsymbol{x}_2)$ 의 확률 밀도 함수는 지수부에 다음과 같은 이차 형식(Quadratic Form)을 가집니다. \(-\frac{1}{2} \begin{bmatrix} \boldsymbol{x}_1 - \boldsymbol{\mu}_1 \\ \boldsymbol{x}_2 - \boldsymbol{\mu}_2 \end{bmatrix}^\top \underbrace{\begin{bmatrix} \boldsymbol{\Sigma}_{11} & \boldsymbol{\Sigma}_{12} \\ \boldsymbol{\Sigma}_{21} & \boldsymbol{\Sigma}_{22} \end{bmatrix}^{-1}}_{\boldsymbol{\Lambda} (\text{Precision Matrix})} \begin{bmatrix} \boldsymbol{x}_1 - \boldsymbol{\mu}_1 \\ \boldsymbol{x}_2 - \boldsymbol{\mu}_2 \end{bmatrix}\) 여기서 $\boldsymbol{x}_1$ 이 주어졌을 때 $\boldsymbol{x}_2$ 의 조건부 분포를 구한다는 것은, $\boldsymbol{x}_1$ 을 상수로 취급하고 위 식에서 $\boldsymbol{x}_2$ 에 대한 항들만 추출하여 가우시안의 표준 형태인 $-\frac{1}{2}(\boldsymbol{x}_2 - \boldsymbol{m})^\top \boldsymbol{C}^{-1}(\boldsymbol{x}_2 - \boldsymbol{m})$ 꼴로 재구성하겠다는 뜻입니다.
지수부의 핵심인 공분산 행렬의 역행렬(정밀도 행렬 $\boldsymbol{\Lambda}$ )을 구하기 위해 블록 행렬 역행렬 공식을 사용합니다. 이때 $\boldsymbol{x}_2$ 의 공분산과 직접 연관된 하단 블록 $\boldsymbol{\Lambda}_{22}$ 는 다음과 같이 정의됩니다.
이 괄호 안의 식 $\boldsymbol{\Sigma}_{22} - \boldsymbol{\Sigma}_{21} \boldsymbol{\Sigma}_{11}^{-1} \boldsymbol{\Sigma}_{12}$ 이 바로 슈어 보수(Schur Complement)이며, 이것이 나중에 조건부 공분산 $\boldsymbol{C}$ 가 됩니다.
$\boldsymbol{x}_1$ 을 고정된 값으로 두고 지수부를 $\boldsymbol{x}_2$ 에 대해 전개하면 다음과 같은 구조가 나옵니다.
여기서 가우시안 분포의 특성을 이용하여 두 가지를 매칭합니다.
-
이차항( $\boldsymbol{x}_2$ 의 제곱)의 계수: $\boldsymbol{C}^{-1} = \boldsymbol{\Lambda}_{22}$
-
일차항( $\boldsymbol{x}_2$ )의 계수: $\boldsymbol{C}^{-1}\boldsymbol{m} = \boldsymbol{\Lambda}_{22} \boldsymbol{\mu}_2 - \boldsymbol{\Lambda}_{21}(\boldsymbol{x}_1 - \boldsymbol{\mu}_1)$
사후 공분산은 관측 데이터 $\boldsymbol{x}$ 에 의존하지 않음에 유의하라. 데이터 공간의 새로운 관측치 $\boldsymbol{x}_*$ 에 대해, 우리는 (10.73)을 사용하여 대응하는 잠재 변수 $\boldsymbol{z}_*$ 의 사후 분포를 결정한다. 공분산 행렬 $\boldsymbol{C}$ 는 임베딩이 얼마나 확실한지 평가할 수 있게 해준다. 행렬식이 작은(부피를 측정하는) 공분산 행렬 $\boldsymbol{C}$ 는 잠재 임베딩 $\boldsymbol{z}_*$ 가 꽤 확실함을 알려준다. 만약 분산이 큰 사후 분포 $p(\boldsymbol{z}_* \mid \boldsymbol{x}_*)$ 를 얻는다면, 우리는 이상치(outlier)에 직면한 것일 수 있다. 그러나, 우리는 이 사후 분포 하에서 어떤 다른 데이터 포인트 $\boldsymbol{x}$ 가 그럴듯한지 이해하기 위해 이 사후 분포를 탐색할 수 있다. 이를 위해, 우리는 PPCA의 근간이 되는 생성 과정을 활용하며, 이는 사후 분포 하에서 그럴듯한 새로운 데이터를 생성함으로써 잠재 변수에 대한 사후 분포를 탐색할 수 있게 해준다.
- 잠재 변수들의 사후 분포 (10.73)으로부터 잠재 변수 $\boldsymbol{z}_* \sim p(\boldsymbol{z} \,\vert \, \boldsymbol{x}_*)$ 를 샘플링한다.
- (10.64)로부터 재구성된 벡터 $\tilde{\boldsymbol{x}}_* \sim p(\boldsymbol{x} \,\vert \, \boldsymbol{z}_*, \boldsymbol{B}, \boldsymbol{\mu}, \sigma^2)$ 를 샘플링한다.
이 과정을 여러 번 반복하면, 잠재 변수 $\boldsymbol{z}_*$ 에 대한 사후 분포 (10.73)과 그것이 관측 데이터에 미치는 영향을 탐색할 수 있다. 이 샘플링 과정은 사실상 사후 분포 하에서 그럴듯한 데이터를 가설화(hypothesizes)하는 것이다.
$\to$ “행렬식이 작은(부피를 측정하는) 공분산 행렬 $\boldsymbol{C}$ 는 잠재 임베딩 $\boldsymbol{z}_*$ 가 꽤 확실함을 알려준다.”는 무슨 의미인가?
행렬식은 기하학적으로 공간의 부피를 의미한다. 공분산 행렬은 확률 밀도가 퍼져 있는 모양의 형태를 결정하는데, 행렬식 $\vert C\vert$ 는 이 타원체의 부피의 제곱에 비례한다. 다시 말해 $\vert C\vert$ 가 작다는 것은 잠재 변수 $z$ 가 존재할 수 있는 범위(부피)가 좁음을 의미한다.
공분산행렬의 행렬식은 모든 고유값의 곱과 같다(대칭 행렬은 직교 대각화가 가능하므로).
각 고윳값은 해당 고유 벡터(축)방향으로의 분산을 나타낸다. $\boldsymbol{z}_*$ 가 확실하다는 것은 모든 축 방향으로 분산이 작으므로 $\vert C\vert$ 또한 작아진다.
다변량 가우시안의 정규화 상수에도 공분산 행렬의 행렬식이 포함되어 있다. 만약 행렬식이 0에 가깝다면, 전체 확률 밀도의 최댓값(평균 $m$ 에서의 높이)은 커지게 된다. 확률의 총합은 항상 1이어야 하므로, 특정 지점의 밀도가 높다는 것은 다른 지점에 $z$ 가 존재할 확률이 거의 없음을 뜻한다.