데이터 반출 없는 다기관 연합 인공지능 학습 플랫폼

데이터 분석/군집화

마르코프 체인 -> 깁스 샘플링 -> 결합 분포 (수식 포함)

FedTensor 2026. 8. 5. 20:06

마르코프 체인과 깁스 샘플링, 그리고 이것이 목표로 하는 결합분포로 수렴하는 원리를 직관적인 비유와 단계별 논리로 정리합니다.

1. 마르코프 체인(Markov Chain)이란?

"바로 직전의 상태만 보고 다음 상태를 결정하는 시스템"입니다.

  • 비유 (날씨 모델): 오늘 날씨가 내일 날씨에 영향을 미칩니다. 어제, 그저께 날씨는 까마득히 잊고 '오직 오늘 날씨(현재 상태)'만 가지고 내일 비가 올지, 화창할지의 확률을 계산하여 상태를 이동하는 규칙입니다.
  • 핵심 특징:
    • 기억 상실성(Memoryless): 과거의 전체 이력은 중요하지 않고, 오직 현재 값 $X_t$에만 의존하여 다음 값 $X_{t+1}$을 뽑습니다.
    • 이렇게 상태 이동을 계속 반복(무한히 실행)하다 보면, 어느 순간 각 상태에 머무를 확률이 일정해지는 '정상 상태(Stationary Distribution/불변 분포)'에 도달합니다.

2. 왜 깁스 샘플링(Gibbs Sampling)이 마르코프 체인인가?

깁스 샘플링은 "다차원 변수를 한 번에 하나씩 차례대로 바꾸어 나가는 과정"이기 때문입니다.

 

$n$개의 변수 $(X_1, X_2, \dots, X_n)$를 동시에 추론하기 어려울 때, 깁스 샘플링은 다음과 같이 진행됩니다.

  1. 현재 시점 $t$의 상태: $\mathbf{x}^{(t)} = (x_1^{(t)}, x_2^{(t)}, \dots, x_n^{(t)})$
  2. 다음 시점 $t+1$의 상태를 만들기 위해:
    • $x_1^{(t+1)}$을 다른 모든 변수들의 현재 값을 조건으로 하여 뽑습니다: $P(X_1 \mid x_2^{(t)}, \dots, x_n^{(t)})$
    • $x_2^{(t+1)}$을 업데이트된 $x_1^{(t+1)}$과 나머지 변수 값을 조건으로 뽑습니다: $P(X_2 \mid x_1^{(t+1)}, x_3^{(t)}, \dots, x_n^{(t)})$
    • ... 순차적으로 모든 변수를 업데이트합니다.

왜 마르코프 체인일까요?

다음 상태 $\mathbf{x}^{(t+1)}$을 뽑을 때 사용한 정보는 오직 '바로 전 상태 $\mathbf{x}^{(t)}$ (그리고 같은 단계에서 방금 업데이트된 값)' 뿐입니다. 과거 $t-1, t-2$ 시점의 정보는 전혀 쓰이지 않습니다. 따라서 깁스 샘플링의 매 반복 과정은 정확히 마르코프 체인의 정의를 충족합니다.

3. 왜 이 체인의 불변 분포가 '우리가 원하는 결합분포'가 되는가?

결론부터 말하면, 깁스 샘플링의 상태 이동 규칙이 '상세 균형 조건(Detailed Balance Condition)'이라는 물리적·확률적 대칭성을 완벽히 만족하기 때문입니다.

① 상세 균형 조건 (Detailed Balance Condition)

어떤 마르코프 체인이 분포 $p(\mathbf{x})$를 불변 분포로 가지려면, 임의의 두 상태 $\mathbf{a}$와 $\mathbf{b}$ 사이에서 다음 흐름의 양이 같아야 합니다.

$$\text{상태 } \mathbf{a}\text{에 있을 확률} \times (\mathbf{a} \to \mathbf{b} \text{ 이동 확률}) = \text{상태 } \mathbf{b}\text{에 있을 확률} \times (\mathbf{b} \to \mathbf{a} \text{ 이동 확률})$$
$$p(\mathbf{a}) T(\mathbf{a} \to \mathbf{b}) = p(\mathbf{b}) T(\mathbf{b} \to \mathbf{a})$$

이 조건이 성립하면, 체인이 계속 돌아가도 $p(\mathbf{x})$라는 분포 전체의 형태는 전혀 변하지 않고 유지가 됩니다.

② 깁스 샘플링에서의 성립 과정 (2차원 예시)

변수가 두 개 $(X, Y)$인 상황을 예로 들어보겠습니다. $Y$의 값을 $y$로 고정한 채, $X$의 값을 $x_1$에서 $x_2$로 바꾸는 단일 업데이트 과정을 봅니다.

  • 좌변 ($\mathbf{a} \to \mathbf{b}$ 흐름):
    상태가 $(x_1, y)$일 때, 조건부 확률 $p(x_2 \mid y)$를 통해 $x_2$를 뽑아 $(x_2, y)$로 이동할 확률
    $$p(x_1, y) \times p(x_2 \mid y)$$
  • 우변 ($\mathbf{b} \to \mathbf{a}$ 흐름):
    상태가 $(x_2, y)$일 때, 조건부 확률 $p(x_1 \mid y)$를 통해 $x_1$을 뽑아 $(x_1, y)$로 이동할 확률
    $$p(x_2, y) \times p(x_1 \mid y)$$

조건부 확률의 정의 $p(x, y) = p(y) p(x \mid y)$를 이용해 풀어 써보면:

  • 좌변: $[p(y) p(x_1 \mid y)] \times p(x_2 \mid y) = p(y) p(x_1 \mid y) p(x_2 \mid y)$
  • 우변: $[p(y) p(x_2 \mid y)] \times p(x_1 \mid y) = p(y) p(x_2 \mid y) p(x_1 \mid y)$

좌변과 우변이 완벽하게 일치합니다.

③ 결론

깁스 샘플링의 조건부 추출 방식 자체가 우리가 원하는 원래 결합분포 $p(\mathbf{x})$에 대해 상세 균형 조건을 자동으로 만족하도록 설계되어 있습니다.

 

따라서 이 마르코프 체인을 충분히 많이 반복(Burn-in 기간 도과)하면, 체인에서 생성되는 샘플들의 분포는 자연스럽게 우리가 목표로 했던 진짜 결합분포 $p(X_1, X_2, \dots, X_n)$로 수렴하게 됩니다.