14장 - EM 알고리즘과 인자 분석

🏷️ "cs229" "machine-learning" "book"

14장. EM 알고리즘과 인자 분석

오늘은 EM 알고리즘의 추가적인 정교화를 살펴보고, 수렴 여부를 모니터링하는 방법을 설명한 뒤, 대부분의 시간을 인자 분석(Factor Analysis) 모델에 할애한다. 인자 분석은 그 자체로 유용한 알고리즘이면서, EM 유도 과정 중 가장 까다로운 사례이기도 하다. — Andrew Ng

14-cs229-factor-analysis.png

14.1 EM 알고리즘 복습: 가우시안 혼합 모델

지난 강의에서 EM 알고리즘의 E-단계와 M-단계를 유도했다. 핵심을 다시 정리하면 다음과 같다.

로그 우도 \(\ell(\theta)\)를 최대화하고자 할 때, E-단계는 현재 매개변수 \(\theta\)에서 로그 우도에 **밀착하는 하한(lower bound)**을 구성한다. \(Q\)의 선택에 따라 서로 다른 하한이 만들어지는데, E-단계는 현재 \(\theta\) 값에서 하한이 로그 우도에 정확히 접하도록 \(Q\)를 선택한다. M-단계는 그 하한을 최대화하는 \(\theta\)를 선택한다.

가우시안 혼합 모델에 대한 구체적 적용

가우시안 혼합 모델의 결합 분포는 다음과 같다.

\[P(x^{(i)}, z^{(i)}) = P(x^{(i)} \mid z^{(i)}) \cdot P(z^{(i)})\]

여기서 \(z\)는 다항 분포를 따르며, \(P(z^{(i)} = j) = \phi_j\)이다. \(\phi\)는 합이 1인 확률 벡터로, \(z\)\(k\)개의 이산 값 중 하나를 취할 확률을 지정한다. 그리고 \(x^{(i)} \mid z^{(i)} = j\)는 평균 \(\mu_j\), 공분산 \(\Sigma_j\)인 가우시안 분포를 따른다.

이 모델은 가우시안 판별 분석(GDA)과 매우 유사하다. 사소한 차이는 GDA에서는 모든 클래스가 동일한 \(\Sigma\)를 공유하지만 여기서는 클래스별로 \(\Sigma_j\)가 다르다는 점이다. 그러나 핵심적인 차이는 밀도 추정 문제에서 \(z\)가 관측되지 않는 **잠재 변수(latent variable)**라는 점이다. 바로 이 때문에 EM이라는 기계 장치가 필요하다.

E-단계: \(Q_i(z^{(i)} = j)\)를 계산하여 \(w_{ij}\)에 저장한다.

\[w_{ij} = Q_i(z^{(i)} = j) = P(z^{(i)} = j \mid x^{(i)};\, \phi, \mu, \Sigma)\]

직관적으로, 두 개의 가우시안이 혼합되어 있을 때, 데이터 포인트 \(x^{(i)}\)가 첫 번째 가우시안에서 나왔을 확률이 더 높다면 \(w_{i1}\)\(w_{i2}\)보다 커진다. 이 값은 베이즈 규칙으로 계산한다.

M-단계: 목적 함수를 매개변수 \(\phi\), \(\mu\), \(\Sigma\)에 대해 최대화한다. 구체적으로, 다음 이중 합산을 각 매개변수에 대해 미분하고 0으로 놓아 풀면 된다.

\[\sum_{i=1}^{m} \sum_{j=1}^{k} w_{ij} \log \frac{P(x^{(i)} \mid z^{(i)}=j;\, \mu_j, \Sigma_j) \cdot \phi_j}{w_{ij}}\]

예를 들어 \(\mu_j\)에 대해 미분하고 0으로 놓으면:

\[\mu_j = \frac{\sum_{i=1}^{m} w_{ij}\, x^{(i)}}{\sum_{i=1}^{m} w_{ij}}\]

이 공식은 직관적으로 명확하다. \(w_{ij}\)\(x^{(i)}\)가 가우시안 \(j\)에 할당되는 강도이므로, \(\mu_j\)는 각 데이터 포인트를 해당 강도로 가중 평균한 것이다. \(\phi\)\(\Sigma\)에 대한 업데이트 식도 유사한 방식으로 유도한다.


14.2 EM 알고리즘의 좌표 상승 관점과 수렴 모니터링

EM의 동작을 이해하는 또 다른 동치적 관점이 있다. 다음과 같이 \(J(\theta, Q)\)를 정의하자.

\[J(\theta, Q) = \sum_{i} \sum_{z^{(i)}} Q_i(z^{(i)}) \log \frac{P(x^{(i)}, z^{(i)};\, \theta)}{Q_i(z^{(i)})}\]

젠센 부등식에 의해, 임의의 \(\theta\)\(Q\)에 대해 다음이 성립한다.

\[\ell(\theta) \geq J(\theta, Q)\]

즉, \(J\)는 로그 우도 \(\ell(\theta)\)의 하한이다. 이 관점에서 EM은 좌표 상승(coordinate ascent) 알고리즘이다.

단계

최적화 대상

설명

E-단계

\(Q\) 고정, \(Q\)에 대해 \(J\) 최대화

\(J = \ell\)이 되도록 하한을 밀착시킴

M-단계

\(Q\) 고정, \(\theta\)에 대해 \(J\) 최대화

\(\ell\)의 값을 더 높이 밀어올림

두 변수(\(Q\)\(\theta\))에 대해 하나씩 번갈아 최적화하는 이 절차가 바로 좌표 상승이다. 매 반복마다 \(J\)가 단조 증가하므로 로그 우도 \(\ell(\theta)\)도 단조 증가한다.

수렴 모니터링: 반복마다 \(J\)\(\ell\)의 값을 플롯하여 단조 증가하는지 확인한다. 값이 평탄해져 더 이상 개선되지 않으면 수렴한 것으로 판단할 수 있다.


14.3 인자 분석의 필요성: 소규모 데이터 문제

가우시안 혼합 모델은 \(m \gg n\) (데이터 수가 차원보다 훨씬 많은) 상황에서 잘 작동한다. 예를 들어 2차원 데이터 100개에 대해 두 개의 가우시안을 피팅하면 분포를 잘 포착할 수 있다.

그러나 \(m \leq n\)이거나 \(m\)\(n\)에 비해 상대적으로 작은 경우에는 상황이 달라진다. 구체적인 예를 들어 보자.

한 스탠퍼드 박사과정 학생이 캠퍼스 건물 곳곳에 온도 센서를 설치했다. 100개의 센서가 100차원 온도 벡터를 생성하지만, 데이터는 30일치(30개 예제)뿐이었다. 목표는 \(P(x)\)를 모델링하여 이상 온도(예: 창문이 열려 있어 한 방의 온도가 비정상적으로 떨어지는 경우)를 감지하는 것이었다.

단일 가우시안 모델의 문제

\(x \sim \mathcal{N}(\mu, \Sigma)\)로 모델링하면, 최대 우도 추정치는 다음과 같다.

\[\hat{\mu} = \frac{1}{m}\sum_{i=1}^{m} x^{(i)}, \qquad \hat{\Sigma} = \frac{1}{m}\sum_{i=1}^{m}(x^{(i)} - \hat{\mu})(x^{(i)} - \hat{\mu})^T\]

그런데 \(m \leq n\)이면 \(\hat{\Sigma}\)특이(singular), 즉 역행렬이 존재하지 않는다.

가우시안 밀도 함수에는 \(|\Sigma|^{-1/2}\)\(\Sigma^{-1}\) 항이 포함되어 있으므로, 공분산 행렬이 특이하면 밀도를 계산할 수 없다.

기하학적 직관: 2차원 공간에 데이터가 2개뿐인 경우를 생각해 보자. 최대 우도 추정으로 피팅된 가우시안의 등고선은 두 점을 잇는 직선 위에 무한히 얇게 찌그러진다. 모든 확률 질량이 이 직선 위에 집중되므로, 직선에서 조금이라도 벗어난 새 데이터의 확률 밀도는 0이 된다. 이는 분명히 좋은 모델이 아니다.

대안 1: 대각 공분산 행렬

공분산 행렬을 대각 행렬로 제약하면:

\[\Sigma = \text{diag}(\sigma_1^2, \sigma_2^2, \ldots, \sigma_n^2)\]

매개변수 수가 \(O(n^2)\)에서 \(O(n)\)으로 줄어들어 특이 행렬 문제가 해소된다. 가우시안 등고선은 축에 정렬된 타원이 된다.

문제점: 이 모델은 모든 특성이 **비상관(uncorrelated)**이라고 가정한다. 한 방의 온도 센서들이 서로 완전히 독립이라거나, 심리 검사의 항목들이 서로 무관하다고 가정하는 것은 비현실적이다.

대안 2: 등방 공분산 행렬

더 강한 제약을 걸어 \(\Sigma = \sigma^2 I\)로 설정할 수도 있다. 매개변수가 단 하나(\(\sigma^2\))로 줄어들며, 등고선은 완벽한 원(또는 초구)이 된다.

\[\sigma^2 = \frac{1}{mn}\sum_{i=1}^{m}\sum_{j=1}^{n}(x_j^{(i)} - \mu_j)^2\]

이 모델은 모든 특성이 비상관일 뿐 아니라 동일한 분산을 갖는다고 가정하므로 더욱 제한적이다. 그러나 이 구성 요소가 인자 분석의 핵심 빌딩 블록이 된다.

인자 분석이 필요한 이유

우리가 원하는 것은 다음 세 가지를 동시에 만족하는 모델이다.

  1. 고차원 데이터(\(n\)이 큼)에 소규모 데이터셋(\(m\)이 작음)으로도 피팅할 수 있다.
  2. 특성 간 상관관계를 포착할 수 있다.
  3. 특이 공분산 행렬 문제가 발생하지 않는다.

인자 분석이 바로 이 세 가지를 충족하는 모델이다.


14.4 소규모 데이터 문제의 실용적 중요성

Andrew Ng는 소규모 데이터 문제의 현실적 중요성을 강조한다.

대형 기술 기업들은 모두 기계 번역, 음성 인식, 얼굴 인식 같은 동일한 문제에 매달리고 있으며, 이 분야들은 대규모 데이터의 혜택을 받아 빠르게 발전하고 있다. 그러나 머신러닝 세계에서 상대적으로 간과되고 있는 영역이 소규모 데이터 문제다.

ImageNet(100만 장)에 최적화된 컴퓨터 비전 아키텍처는 100개의 훈련 예제에 최적인 알고리즘과는 다르다. 현재 머신러닝 커뮤니티는 1개에서 10억 개까지의 스펙트럼 전체에서 하나의 알고리즘이 잘 작동하도록 만드는 방법을 잘 이해하지 못하고 있다. 인자 분석과 같은 모델이 실제로 이런 소규모 데이터 시나리오에서 활용된다.


14.5 인자 분석 모델의 정의

가우시안 혼합 모델과 마찬가지로, 인자 분석도 다음 프레임워크를 사용한다.

\[P(x, z) = P(x \mid z) \cdot P(z), \qquad z\text{는 잠재 변수}\]

핵심 차이: 가우시안 혼합에서 \(z\)는 이산 변수였지만, 인자 분석에서 \(z\)연속 변수이며 가우시안 분포를 따른다. EM 유도 과정의 모든 단계(젠센 부등식 등)는 합을 적분으로 바꾸면 동일하게 성립한다.

모델 정의

\[z \sim \mathcal{N}(0, I), \qquad z \in \mathbb{R}^d, \quad d < n\]

\[x = \mu + \Lambda z + \epsilon, \qquad \epsilon \sim \mathcal{N}(0, \Psi)\]

동치적으로:

\[x \mid z \sim \mathcal{N}(\mu + \Lambda z,\; \Psi)\]

매개변수

크기

설명

\(\mu\)

\(n \times 1\)

평균 벡터

\(\Lambda\)

\(n \times d\)

인자 적재 행렬(factor loading matrix)

\(\Psi\)

\(n \times n\)

대각 공분산 행렬 (노이즈)

\(\Psi\)가 대각 행렬이라는 가정이 핵심이다. 평균을 계산한 후 각 센서에서 관측되는 노이즈는 서로 독립이라는 뜻이다.

직관적 이해: 온도 센서 예시

방 안의 온도를 결정하는 세 가지 주요 요인이 있다고 하자.

  1. 팔로알토의 외부 기온
  2. 방 왼쪽의 조명 밝기(발열)
  3. 방 오른쪽의 조명 밝기(발열)

이 세 요인이 \(z \in \mathbb{R}^3\)을 구성한다. 100개의 온도 센서 각각이 측정하는 실제 온도(\(x\))는 이 세 요인의 선형 결합(\(\mu + \Lambda z\))에 센서별 독립 노이즈(\(\epsilon\))가 더해진 것이다. 문 근처의 센서는 외부 기온에 더 큰 영향을 받고, 왼쪽 벽의 센서는 왼쪽 조명의 발열에 더 큰 영향을 받는다. 이런 관계가 \(\Lambda\) 행렬에 인코딩된다.


14.6 인자 분석이 모델링하는 데이터의 유형

인자 분석이 어떤 종류의 데이터를 생성하는지 저차원 예시로 직관을 쌓아 보자.

예시 1: \(z \in \mathbb{R}^1\), \(x \in \mathbb{R}^2\)

\(d = 1\), \(n = 2\)인 경우를 생각하자. \(\Lambda = \begin{bmatrix} 2 \\ 1 \end{bmatrix}\), \(\mu = \begin{bmatrix} 0 \\ 0 \end{bmatrix}\)로 설정한다.

  1. *\(z\) 샘플링*: 표준 정규 분포에서 7개의 점을 뽑는다. 수직선 위의 점들이다.
  2. *\(\Lambda z + \mu\) 계산*: 1차원 값 \(z\)가 2차원 벡터 \(\Lambda z\)로 매핑된다. 결과는 \(\mathbb{R}^2\) 공간의 한 직선 위에 정확히 놓인다.
  3. 노이즈 추가: \(\Psi = \begin{bmatrix} 0.5 & 0 \\ 0 & 1 \end{bmatrix}\)이면, \(x_2\) 방향의 분산이 \(x_1\) 방향보다 크다. 각 점 주변에 축 정렬 타원형 가우시안 노이즈를 더하면, 직선에서 약간 벗어난 최종 데이터 포인트가 생성된다.

결론: 2차원 데이터이지만 대부분 1차원 부분공간(직선) 위에 놓여 있고, 약간의 노이즈로 흩어져 있다.

예시 2: \(z \in \mathbb{R}^2\), \(x \in \mathbb{R}^3\)

\(d = 2\), \(n = 3\)인 경우다.

  1. *\(z\) 샘플링*: 2차원 표준 가우시안에서 5개의 점을 뽑는다. 원형 등고선을 갖는 분포다.
  2. *\(\Lambda z + \mu\) 계산*: \(\Lambda\)\(3 \times 2\) 행렬이므로, 2차원 점들이 3차원 공간의 한 평면 위로 매핑된다.
  3. 노이즈 추가: 각 점에 축 정렬 가우시안 노이즈를 더하면, 평면에서 약간 벗어난 3차원 데이터가 생성된다.

결론: 3차원 데이터이지만 대부분 2차원 부분공간(평면) — 마치 "팬케이크"처럼 — 위에 놓여 있고, 약간의 노이즈로 두께가 생긴다.

일반적 직관

인자 분석은 매우 고차원의 데이터(예: 100차원)가 실제로는 훨씬 낮은 차원의 부분공간(예: 3차원 또는 5차원)에 대략적으로 놓여 있으며, 그 위에 약간의 노이즈가 더해진 것으로 모델링한다. 데이터가 실제로 저차원 부분공간에 놓여 있지 않다면 이 모델이 최선이 아닐 수 있지만, 고차원 데이터에 소규모 데이터셋밖에 없는 상황에서는 어차피 매우 복잡한 모델을 피팅할 수 없으므로 합리적인 선택이다.


14.7 \(z\)\(x\)의 결합 분포 유도

EM 알고리즘을 인자 분석에 적용하려면, 먼저 \(z\)\(x\)의 결합 분포를 구해야 한다. 이를 위해 다변량 가우시안의 성질을 활용한다.

다변량 가우시안의 분할

벡터 \(x\)를 두 부분으로 분할하자.

\[x = \begin{bmatrix} x_1 \\ x_2 \end{bmatrix}, \quad x_1 \in \mathbb{R}^r, \quad x_2 \in \mathbb{R}^s\]

\(x \sim \mathcal{N}(\mu, \Sigma)\)일 때, 평균과 공분산도 같은 방식으로 분할한다.

\[\mu = \begin{bmatrix} \mu_1 \\ \mu_2 \end{bmatrix}, \qquad \Sigma = \begin{bmatrix} \Sigma_{11} & \Sigma_{12} \\ \Sigma_{21} & \Sigma_{22} \end{bmatrix}\]

주변 분포(marginal):

\[x_1 \sim \mathcal{N}(\mu_1, \Sigma_{11})\]

이 결과는 직관적으로도 놀랍지 않다. 결합 밀도를 \(x_2\)에 대해 적분하면 얻어진다.

조건부 분포(conditional):

\[x_1 \mid x_2 \sim \mathcal{N}(\mu_{1|2},\; \Sigma_{1|2})\]

\[\mu_{1|2} = \mu_1 + \Sigma_{12}\Sigma_{22}^{-1}(x_2 - \mu_2)\]

\[\Sigma_{1|2} = \Sigma_{11} - \Sigma_{12}\Sigma_{22}^{-1}\Sigma_{21}\]

이 공식은 외우기 어렵지만, 필요할 때마다 찾아보면 된다.

결합 분포 계산

\(z\)\(x\)를 쌓아 하나의 벡터로 만들자.

\[\begin{bmatrix} z \\ x \end{bmatrix} \sim \mathcal{N}\left(\mu_{zx},\; \Sigma_{zx}\right)\]

평균 벡터:

\[E[z] = 0 \quad (\text{정의에 의해})\]

\[E[x] = E[\mu + \Lambda z + \epsilon] = \mu \quad (E[z] = 0,\; E[\epsilon] = 0)\]

\[\therefore \quad \mu_{zx} = \begin{bmatrix} 0 \\ \mu \end{bmatrix}\]

공분산 행렬: 네 블록을 하나씩 계산한다.

\(\Sigma_{22}\) (하단 우측 블록, \(x\)의 공분산) 유도를 상세히 살펴보자.

\[\Sigma_{22} = E[(x - E[x])(x - E[x])^T] = E[(\Lambda z + \epsilon)(\Lambda z + \epsilon)^T]\]

전개하면 네 항이 나온다.

\[= E[\Lambda z z^T \Lambda^T] + E[\Lambda z \epsilon^T] + E[\epsilon z^T \Lambda^T] + E[\epsilon \epsilon^T]\]

\(z\)\(\epsilon\)은 독립이고 각각 평균이 0이므로, 교차 항은 0이 된다.

\[= \Lambda\, E[z z^T]\, \Lambda^T + E[\epsilon \epsilon^T] = \Lambda I \Lambda^T + \Psi = \Lambda\Lambda^T + \Psi\]

나머지 블록도 유사하게 유도하면, 최종 공분산 행렬은 다음과 같다.

\[\Sigma_{zx} = \begin{bmatrix} I & \Lambda^T \\ \Lambda & \Lambda\Lambda^T + \Psi \end{bmatrix}\]

여기서 좌상단은 \(d \times d\), 우하단은 \(n \times n\)이다.


14.8 인자 분석의 EM 유도

결합 분포를 알았으니, 이론적으로 \(P(x^{(i)})\)의 로그 우도를 매개변수에 대해 미분하고 0으로 놓아 풀 수 있다. 그러나 인자 분석 모델에는 닫힌 형태의 해(closed-form solution)가 존재하지 않는다. 따라서 EM 알고리즘에 의존해야 한다.

E-단계

E-단계에서는 다음을 계산해야 한다.

\[Q_i(z^{(i)}) = P(z^{(i)} \mid x^{(i)};\, \mu, \Lambda, \Psi)\]

가우시안 혼합 모델에서 \(z\)가 이산이었을 때는 \(w_{ij}\)라는 숫자 목록으로 \(Q_i\)를 표현할 수 있었다. 그러나 인자 분석에서 \(z\)연속 변수이므로, \(Q_i\)를 컴퓨터에서 어떻게 표현할 것인가?

다행히 위에서 유도한 조건부 분포 공식을 적용하면, \(z^{(i)} \mid x^{(i)}\)는 특정 평균과 공분산을 갖는 가우시안임을 알 수 있다.

\[\mu_{z^{(i)}|x^{(i)}} = \Lambda^T(\Lambda\Lambda^T + \Psi)^{-1}(x^{(i)} - \mu)\]

\[\Sigma_{z^{(i)}|x^{(i)}} = I - \Lambda^T(\Lambda\Lambda^T + \Psi)^{-1}\Lambda\]

따라서 E-단계에서는 이 평균 벡터와 공분산 행렬을 계산하여 저장하면 된다. \(Q_i\)는 이 평균과 공분산을 갖는 가우시안 밀도로 표현된다.

M-단계와 핵심 대수적 기법

M-단계에서는 다음을 최대화한다.

\[\sum_{i=1}^{m} \int_{z^{(i)}} Q_i(z^{(i)}) \log \frac{P(x^{(i)}, z^{(i)};\, \theta)}{Q_i(z^{(i)})} \, dz^{(i)}\]

이 유도 과정에서 반복적으로 등장하는 핵심 기법이 있다. 다음과 같은 적분을 마주칠 때:

\[\int Q_i(z^{(i)})\, z^{(i)}\, dz^{(i)}\]

이것을 복잡한 가우시안 밀도를 대입하여 적분으로 풀려고 하면 매우 까다롭다. 그러나 이 적분이 기댓값임을 인식하면 간단해진다.

\[\int Q_i(z^{(i)})\, z^{(i)}\, dz^{(i)} = E_{z^{(i)} \sim Q_i}[z^{(i)}] = \mu_{z^{(i)}|x^{(i)}}\]

즉, E-단계에서 이미 계산한 값이다.

실용적 판단 기준: 유도 과정에서 적분 앞에 \(\log\)가 있는 경우, 가우시안 밀도를 직접 대입하는 것이 유리하다. 가우시안 밀도는 \(e^{-(\cdots)}\) 형태이므로 \(\log\)와 만나면 지수가 사라져 이차 함수로 단순화된다. 이차 함수의 기댓값을 가우시안에 대해 취하면 다시 이차 함수가 되고, 이를 매개변수에 대해 미분하여 0으로 놓으면 풀 수 있다.

반면 \(\log\) 없이 가우시안 밀도가 그대로 나타나는 경우에는, 적분을 기댓값으로 해석하는 것이 훨씬 간단하다.

M-단계의 실제 업데이트 공식은 상당히 길고 복잡하지만, 위의 두 기법 — (1) 적분을 기댓값으로 인식하기, (2) \(\log\)가 있으면 가우시안을 대입하여 이차식으로 만들기 — 을 조합하면 체계적으로 유도할 수 있다. 구체적인 공식은 강의 노트에 모든 단계가 상세히 기술되어 있다.


14.9 인자 분석에서 연속 잠재 변수의 의미

가우시안 혼합 모델과 인자 분석의 구조적 차이를 다시 한번 정리하자.

속성

가우시안 혼합 모델

인자 분석

잠재 변수 \(z\)

이산 (다항 분포)

연속 (가우시안)

E-단계에서 \(Q_i\)의 표현

\(w_{ij}\) 숫자 목록

가우시안의 평균과 공분산

합/적분

\(\sum_{z^{(i)}}\)

\(\int_{z^{(i)}} dz^{(i)}\)

적합한 상황

\(m \gg n\)

\(m\)\(n\)에 비해 작음

EM 유도 과정의 모든 단계 — 젠센 부등식, 하한의 구성, 좌표 상승 — 는 합을 적분으로 바꾸면 그대로 성립한다. 이것이 EM 프레임워크의 강력함이다.


핵심 정리

개념

핵심

EM의 좌표 상승 관점

E-단계에서 \(Q\), M-단계에서 \(\theta\)에 대해 \(J(\theta, Q)\)를 번갈아 최대화

수렴 모니터링

\(J\) 또는 \(\ell\)을 반복마다 플롯하여 단조 증가 확인

소규모 데이터 문제

\(m \leq n\)이면 공분산 행렬이 특이해져 가우시안 모델 피팅 불가

대각 공분산

특이 행렬 문제 해결, 그러나 특성 간 상관관계 무시

인자 분석 모델

\(z \sim \mathcal{N}(0, I)\), \(x = \mu + \Lambda z + \epsilon\), \(\epsilon \sim \mathcal{N}(0, \Psi)\)

핵심 직관

고차원 데이터가 저차원 부분공간에 놓여 있고 약간의 노이즈가 더해진 것으로 모델링

결합 분포

\(\begin{bmatrix} z \\ x \end{bmatrix} \sim \mathcal{N}\!\left(\begin{bmatrix} 0 \\ \mu \end{bmatrix}, \begin{bmatrix} I & \Lambda^T \\ \Lambda & \Lambda\Lambda^T + \Psi \end{bmatrix}\right)\)

E-단계 핵심

\(z \mid x\)의 조건부 가우시안 평균과 공분산 계산

M-단계 핵심 기법

적분을 기댓값으로 인식 / \(\log\) + 가우시안 = 이차식 활용


이전 장: 13장 - EM 알고리즘 다음 장: 15장 - PCA와 ICA