1. 개요[편집]
마르코프 연쇄 몬테카를로(Markov chain Monte Carlo, MCMC)는 목표 분포 를 불변분포로 갖는 마르코프 연쇄를 설계해 굴린 뒤, 그 궤적 자체를 표본으로 쓰는 방법이다. 몬테카를로 방법이 “독립 표본을 뽑아 평균 낸다”는 큰 틀이라면, MCMC는 독립 표본을 못 뽑는 상황을 위한 물건이다.
왜 하필 연쇄냐. 우리가 다루는 분포는 대개 꼴인데, 정규화 상수 가 고차원 적분이라 계산 불가능하다. 볼츠만 분포의 분배함수, 베이즈 사후분포의 주변가능도가 전부 이 짝이다. 그런데 연쇄를 굴리는 데 필요한 건 라는 비율뿐이고, 여기서 가 통째로 약분된다. 이 한 줄이 MCMC 전체의 존재 이유다.1
기각표본추출이나 중요도 표본추출도 없이 굴러가긴 한다. 다만 둘 다 목표를 덮는 제안분포가 필요하고, 차원이 조금만 올라가면 수락률과 가중치 유효표본수가 지수적으로 무너진다. 반면 MCMC는 현재 위치 근처만 보고 다음 위치를 정하기 때문에 고차원에서 실제로 질량이 몰려 있는 얇은 껍질(전형 집합) 위를 따라 걸을 수 있다. 대가는 표본이 독립이 아니라는 것, 그리고 “언제 다 됐는지”를 원리적으로 알 수 없다는 것이다.
2. 상세균형과 에르고딕성[편집]
전이핵 가 를 보존하려면 여야 한다. 이걸 직접 맞추긴 어려우니 훨씬 강한 충분조건인 상세균형(detailed balance)을 쓴다.
양변을 에 대해 적분하면 불변성이 바로 나온다. 여기에 기약성(어디서든 어디로든 유한 단계에 갈 수 있음)과 비주기성이 붙으면 연쇄는 초기값과 무관하게 로 수렴하고, 시간평균이 에 대한 기댓값으로 간다(에르고딕 정리). 즉 ” 를 남기는 규칙”과 “온 공간을 훑는 규칙” 두 가지만 보장하면 된다. 실패는 거의 항상 후자에서 난다 — 봉우리 사이 골짜기가 깊으면 이론상 기약이어도 현생에서는 못 넘어간다.
3. 메트로폴리스-헤이스팅스[편집]
상세균형을 만족시키는 가장 일반적인 레시피. 제안분포 로 후보를 뽑고, 확률
로 받아들인다. 거부하면 제자리에 그대로 머무는 것이 표본 하나다(이걸 빼먹으면 분포가 틀어진다). 가 대칭이면 항이 약분돼 1953년 메트로폴리스 알고리즘이 되고, 1970년 헤이스팅스가 비대칭 까지 확장했다.
깁스 표본추출은 각 성분을 나머지를 조건으로 한 완전조건부분포 에서 그대로 뽑는 방식이다. 제안이 곧 목표 조건부라서 위 식의 수락률이 항상 정확히 1이 되는 MH의 특수 사례. 조건부가 닫힌 형태로 떨어지는 계층 모형에서 강력하지만, 성분끼리 상관이 세면 좌표축을 따라 계단만 밟다가 기어간다. 상관된 성분을 묶어서 한 번에 갱신하는 블록 깁스, 조건부를 못 뽑을 때 그 성분만 MH로 처리하는 메트로폴리스-인-깁스가 현실적인 절충안이다.
주요 갈래를 한 표로 정리하면 이렇다.
| 방식 | 필요한 정보 | 수락률 | 약점 |
|---|---|---|---|
| 무작위걷기 MH | 값 | 0.234 | 차원에 로 느려짐 |
| 깁스 | 완전조건부분포 | 1 | 성분 상관에 취약 |
| MALA | 0.574 | 꼬리에서 불안정 | |
| HMC / NUTS | 0.651 | 이산 변수 불가 |
4. 조율과 진단[편집]
제안 폭 는 너무 작으면 다 받아들이는데 안 움직이고, 너무 크면 다 거부당해 안 움직인다. 고차원 무작위걷기 메트로폴리스의 최적 수락률은 0.234, 최적 스케일은 라는 것이 알려져 있다. 기울기를 쓰는 MALA는 0.574(), 해밀토니안 몬테카를로는 0.651로 올라간다.2
연쇄 표본은 자기상관이 있으므로 개를 뽑아도 개 값어치가 아니다. 유효표본크기(ESS)가 실질 개수다.
여기서 는 시차 자기상관이며, 추정량의 몬테카를로 표준오차는 이 아니라 로 줄어든다. 자기상관이 강한 연쇄에서는 표본 10만 개가 유효표본 200개어치인 경우도 드물지 않다.
수렴 진단은 번인 구간을 버리고 서로 다른 곳에서 출발한 여러 연쇄를 비교하는 겔만-루빈 통계량 로 한다( = 연쇄 내 분산, = 이를 연쇄 간 분산 와 섞은 추정량). 예전엔 이 국룰이었으나 요즘은 을 권한다. 다만 은 수렴의 증거가 아니라 비수렴의 부재일 뿐이다 — 모든 연쇄가 같은 봉우리에 갇히면 사이좋게 1이 나온다.3
5. 해밀토니안 몬테카를로[편집]
해밀토니안 몬테카를로(HMC)는 무작위걷기의 저주를 깨려면 방향 정보를 써야 한다는 발상에서 나왔다. 보조 운동량 를 도입해 를 정의하고, 해밀토니안 역학을 리프프로그로 적분한 끝점을 제안으로 쓴다. 여기서 심플렉틱 적분기를 쓰는 이유가 결정적이다 — 부피 보존과 시간 가역성이 있어야 수락률이 야코비안 없이 로 떨어지고, 섀도 해밀토니안 덕에 긴 궤적에서도 가 표류하지 않는다. 궤적 길이를 자동으로 정하는 NUTS(No-U-Turn Sampler)가 Stan의 기본 엔진이 된 배경이다.
봉우리가 여럿이면 궤적을 아무리 잘 짜도 못 넘으므로, 온도를 여러 개 굴리는 병렬 템퍼링이나 담금질 모사 계열로 넘어간다.
6. 자주 밟는 지뢰[편집]
- 솎아내기(thinning)는 대개 손해다. 자기상관을 없애겠다고 10개 중 1개만 남기면 추정량의 분산이 오히려 커진다. 메모리가 부족한 게 아니면 전부 쓰고 ESS로 정직하게 보고하는 쪽이 낫다.
- 적응형 제안은 상세균형을 깬다. 지금까지의 표본으로 를 갱신하면 그 순간 마르코프성이 사라지므로, 적응량을 0으로 줄여 나가는(diminishing adaptation) 조건을 지키거나 번인 구간에서만 조율하고 본 구간에서는 고정해야 한다.
- 재매개변수화가 알고리즘 교체보다 싸다. 성분 간 상관이 심한 계층 모형은 좌표를 비중심(non-centered)으로 바꾸는 것만으로 깔때기 모양이 펴져서 수락률이 몇 배로 뛴다.
- 가능도가 잡음 섞인 추정값이어도 된다. 불편추정량만 쓰면 수락률이 여전히 정확한 목표를 남기는데(유사주변 MCMC), 입자 필터로 가능도를 근사하는 상태공간 모형 보정이 이 성질 위에 서 있다.
7. 시뮬레이션에서의 쓰임[편집]
- 베이지안 보정: 해석 모형의 미지 파라미터를 실험 데이터로 되추정한다. 사후분포 전체를 얻으므로 불확실성 정량화의 입력이 바로 나온다. 솔버 한 번이 몇 시간이면 MCMC를 직접 못 돌리니 대리 모델을 앞세우는 것이 표준.
- 통계역학: 이징 모형의 메트로폴리스 갱신, 양자 몬테카를로, 자유에너지 섭동의 앙상블 평균.
- 역문제: 역문제의 정칙화 파라미터까지 함께 추정하는 계층 베이즈.
속도가 생명이면 표본추출을 포기하고 최적화로 바꾸는 변분 추론이 대안이다. 빠르지만 사후분포의 폭을 과소평가하는 대가를 치른다.4
8. 관련 문서[편집]
- 몬테카를로 방법 · 이징 모형
- 심플렉틱 적분기 · 해밀토니안 역학
- 병렬 템퍼링 · 담금질 모사
- 변분 추론 · 베이지안 최적화
- 불확실성 정량화 · 랑주뱅 동역학
- 은닉 마르코프 모형 · 입자 필터
- 해밀토니안 몬테카를로 · 통계
9. Footnotes[편집]
-
그래서 MCMC는 “정규화 상수를 모른 채로 분포를 다루는 기술”이라고 불러도 무방하다. 반대로 말하면 MCMC는 를 알려주지 않는다 — 베이즈 인자를 계산하려고 사후 표본을 아무리 뽑아도 주변가능도는 안 나온다. 그건 열역학 적분이나 네스티드 샘플링 같은 별도 종목이다. ↩
-
0.234라는 숫자가 처음 나왔을 때 다들 “왜 하필”이라고 했는데, 가우시안 목표 + 무작위걷기 제안의 확산 극한에서 효율을 최대화하는 값이 진짜로 저기다. 실무에서는 0.2~0.4 사이면 대충 잘 돌아간다고 보고 넘어간다. ↩
-
다중 봉우리 사후분포에서 연쇄 4개가 모두 을 찍고 논문이 나간 뒤, 다른 초기값에서 완전히 다른 봉우리가 발견되는 전개는 이 바닥의 국룰에 가깝다. 초기값은 과분산되게 흩뿌리라는 권고가 괜히 있는 게 아니다. ↩
-
KL 발산 를 줄이는 방향이라 가 큰데 가 0이면 벌점이 없다. 그래서 변분 근사는 봉우리 하나에 얌전히 들어앉아 폭을 좁게 잡는 경향이 구조적으로 있다. “빠르고 자신감 넘치는 오답”이라는 별명이 그래서 붙었다. ↩