8.61 마르코프 체인 몬테카를로(MCMC) 방법

8.61 마르코프 체인 몬테카를로(MCMC) 방법

1. MCMC의 개요

마르코프 체인 몬테카를로(Markov Chain Monte Carlo, MCMC)는 복잡한 목표 분포 p(\mathbf{x})로부터 직접 샘플링이 불가능할 때, p를 정상 분포로 갖는 마르코프 체인을 구성하여 그 표본 경로를 p의 샘플로 사용하는 방법이다. 고차원 베이지안 사후 분포의 수치적 해석에 핵심적인 도구이다.

2. 기본 원리

2.1 정상 분포의 보장

MCMC가 유효하려면 구성된 마르코프 체인이 다음 조건을 만족해야 한다.

  1. p가 정상 분포: p = p \cdot \mathbf{P} (여기서 \mathbf{P}는 전이 커널)
  2. 기약(irreducible): 어떤 상태에서든 다른 모든 상태에 도달 가능
  3. 비주기(aperiodic): 주기성이 없음

이 조건들이 만족되면 에르고딕 정리에 의해 충분히 긴 시간 후 체인의 상태 분포가 p에 수렴한다.

2.2 세부 균형 조건(Detailed Balance)

세부 균형 조건을 만족하면 p가 정상 분포임이 자동으로 보장된다.

p(\mathbf{x})T(\mathbf{x}' \vert \mathbf{x}) = p(\mathbf{x}')T(\mathbf{x} \vert \mathbf{x}')

여기서 T(\mathbf{x}' \vert \mathbf{x})는 전이 커널이다. 이 조건이 MCMC 설계의 핵심이다.

3. 메트로폴리스-헤이스팅스(Metropolis-Hastings) 알고리즘

3.1 알고리즘

  1. 현재 상태 \mathbf{x}_t에서 제안 분포 q(\mathbf{x}' \vert \mathbf{x}_t)로부터 후보 \mathbf{x}'를 생성
  2. 수락 확률을 계산:

\alpha(\mathbf{x}_t, \mathbf{x}') = \min\left(1, \frac{p(\mathbf{x}')q(\mathbf{x}_t \vert \mathbf{x}')}{p(\mathbf{x}_t)q(\mathbf{x}' \vert \mathbf{x}_t)}\right)

  1. u \sim U(0, 1)을 생성하고 u < \alpha이면 \mathbf{x}_{t+1} = \mathbf{x}', 아니면 \mathbf{x}_{t+1} = \mathbf{x}_t

3.2 메트로폴리스 알고리즘(대칭 제안)

제안 분포가 대칭 q(\mathbf{x}' \vert \mathbf{x}) = q(\mathbf{x} \vert \mathbf{x}')이면 수락 확률이 단순화된다.

\alpha(\mathbf{x}_t, \mathbf{x}') = \min\left(1, \frac{p(\mathbf{x}')}{p(\mathbf{x}_t)}\right)

3.3 정규화 상수의 무관성

수락 확률에서 p(\mathbf{x}')/p(\mathbf{x})의 비만 나타나므로 p의 정규화 상수를 알 필요가 없다. 이는 베이지안 추론에서 증거 p(\mathbf{z}) = \int p(\mathbf{z} \vert \boldsymbol{\theta})p(\boldsymbol{\theta})d\boldsymbol{\theta}의 계산을 회피할 수 있는 중요한 이점이다.

4. 깁스 샘플링(Gibbs Sampling)

4.1 원리

깁스 샘플링은 다변량 분포에서 각 성분을 조건부 분포에 따라 순차적으로 갱신하는 MCMC이다. \mathbf{x} = (x_1, \ldots, x_d)에 대해:

x_i^{(t+1)} \sim p(x_i \vert x_1^{(t+1)}, \ldots, x_{i-1}^{(t+1)}, x_{i+1}^{(t)}, \ldots, x_d^{(t)})

4.2 이점

각 조건부 분포로부터의 샘플링이 해석적으로 가능하면 수락률이 100%이다. 그래프 모델에서 각 노드의 조건부 분포가 단순한 경우(예: 결합 가우시안, 이산 변수 모델)에 효과적이다.

5. 해밀토니안 몬테카를로(HMC)

5.1 원리

물리학의 해밀토니안 역학을 이용하여 큰 이동을 효율적으로 제안하는 MCMC이다. 보조 운동량 변수 \mathbf{p}를 도입하여 상태 (\mathbf{x}, \mathbf{p})에서 해밀턴 방정식을 따라 시뮬레이션한다.

H(\mathbf{x}, \mathbf{p}) = -\ln p(\mathbf{x}) + \frac{1}{2}\mathbf{p}^T\mathbf{M}^{-1}\mathbf{p}

시뮬레이션된 경로의 끝점을 메트로폴리스 수락 기준으로 수락/거부한다. HMC는 고차원에서 랜덤 워크 메트로폴리스보다 훨씬 효율적이다.

6. 수렴 진단

6.1 번인(Burn-in)

초기 샘플은 정상 분포에 도달하기 전이므로 제거한다. 번인 기간의 결정에는 시계열 그래프 분석이 사용된다.

6.2 자기 상관

MCMC 샘플은 독립이 아니므로 자기 상관이 존재한다. 효과적 표본 수(Effective Sample Size)가 독립 샘플 수의 대안 지표이다.

6.3 수렴 검사

복수의 체인을 서로 다른 초기점에서 실행하고 겔만-루빈(Gelman-Rubin) 통계량 \hat{R}로 수렴을 검증한다. \hat{R}이 1에 가까우면 수렴한 것으로 판정한다.

7. 로봇 공학에서의 응용

베이지안 추론: 복잡한 사후 분포(비가우시안, 다봉)를 MCMC로 샘플링하여 로봇 파라미터의 불확실성을 평가한다.

글로벌 위치 추정: 비선형 관측 모델에서의 로봇 위치 분포를 MCMC로 탐색한다.

모델 선택: 베이즈 인자를 MCMC 기반 증거 추정으로 계산한다.

희소 SLAM: 대규모 SLAM 문제에서 변수의 조건부 독립 구조를 활용한 깁스 샘플링이 적용된다.

8. 참고 문헌

  • Robert, C. P., & Casella, G. (2004). Monte Carlo Statistical Methods (2nd ed.). Springer.
  • Brooks, S., Gelman, A., Jones, G., & Meng, X.-L. (Eds.). (2011). Handbook of Markov Chain Monte Carlo. CRC Press.
  • Neal, R. M. (2011). “MCMC Using Hamiltonian Dynamics.” In Handbook of Markov Chain Monte Carlo, 113–162.
  • Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer.

version: 1.0