Gibbs Sampling과 MH Sampling 공통점과 차이점 정리
공통점
- MCMC 알고리즘: 두 알고리즘 모두 마르코프 체인을 사용하여 확률 분포에서 샘플링합니다. 마르코프 체인은 과거 상태만 고려하여 다음 상태를 결정하는 확률적 모델입니다.
- 베이즈 추론: 두 알고리즘 모두 베이즈 추론에서 사후 분포를 추정하는 데 사용됩니다. 베이즈 추론은 사전 정보와 관측 데이터를 결합하여 사후 분포를 계산하는 방법입니다.
차이점
- 제안 분포: 깁스 샘플링은 각 변수의 조건부 분포를 제안 분포로 사용합니다. 반면에 메트로폴리스-헤이스팅스 샘플링은 임의의 제안 분포를 사용할 수 있습니다.
- 수락 확률: 깁스 샘플링은 항상 새로운 샘플을 받아들입니다. 반면에 메트로폴리스-헤이스팅스 샘플링은 새로운 샘플을 받아들이는지 거부하는지 확률에 따라 결정합니다.
동전던지기 예시
-
동전을 10번 던졌을 때 앞면이 5번 나왔다고 가정해봅시다. 동전의 앞면이 나올 확률을 추정하기 위해 베이즈 추론을 사용할 수 있습니다.
-
깁스 샘플링
- 초기값 설정: 앞면이 나올 확률에 대한 초기값을 설정합니다. 예를 들어, 0.5로 설정할 수 있습니다.
- 반복: 다음 단계를 10번 반복합니다.
- 조건부 분포 계산: 앞면이 나올 확률의 조건부 분포를 계산합니다. 이 경우, 이항 분포를 사용합니다.
- 샘플링: 조건부 분포에서 새로운 샘플을 추출합니다.
- 결과: 추출된 샘플들을 사용하여 앞면이 나올 확률의 사후 분포를 추정합니다.
-
메트로폴리스-헤이스팅스 샘플링
- 다음은 동전 던지기 예시입니다. 동전을 10번 던졌을 때 앞면이 5번 나왔다고 가정
- 초기값 설정 및 제안분포는 Gibbs와 동일
- 목표 분포: 베타 분포 Beta(α,β)
- 제안 분포: 현재 상태 θ에서 평균이 θ, 분산이 σ2인 정규 분포
- 반복: 다음 단계를 10번 반복합니다.
- 새로운 샘플 제안: 정규 분포에서 새로운 샘플 θ′를 추출합니다.
- 수락 확률 계산: 다음과 같이 수락 확률 α(θ,θ′)를 계산합니다.
- $α(θ, θ') = min{1, \frac{Beta(\theta' + \alpha - 1, \beta + n - \theta' - 1)}{Beta(\theta + \alpha - 1, \beta + n - \theta - 1)} \cdot \frac{N(\theta | \theta', \sigma^2)}{N(\theta' | \theta, \sigma^2)}}$
- 샘플 수락/거부: 균일 무작위 변수 u를 0과 1 사이에서 추출하고, u≤α(θ,θ′)인지 확인합니다.
- u≤α(θ,θ′): 새로운 샘플 θ′를 받아들입니다.
- u>α(θ,θ′): 새로운 샘플 θ′를 거부하고 현재 상태 θ를 유지합니다.
- 결과: 추출된 샘플들을 사용하여 앞면이 나올 확률의 사후 분포를 추정합니다.
- 위의 과정을 10번 반복하여 θ의 사후 분포를 추정합니다.
🗃️ Reference
- MCMC Wikipedia: https://en.wikipedia.org/wiki/Markov_chain_Monte_Carlo
- Gibbs Sampling Wikipedia: https://en.wikipedia.org/wiki/Gibbs_sampling
- Metropolis–Hastings algorithm Wikipedia: https://en.wikipedia.org/wiki/Metropolis%E2%80%93Hastings_algorithm