해밀턴 몬테카를로 : 메트로폴리스 해 스팅 제안을 이해하는 방법?


9

HMC (Hamiltonian Monte Carlo)의 내부 작업을 이해하려고하지만 결정 론적 시간 통합을 Metropolis-Hasting 제안으로 대체 할 때 그 부분을 완전히 이해할 수 없습니다. Michael Betancourt의 Hamiltonian Monte Carlo 에 대한 훌륭한 입문 논문을 읽고 있으므로 여기에 사용 된 것과 동일한 표기법을 따릅니다.

배경

Markov Chain Monte Carlo (MCMC)의 일반적인 목표는 분포를 근사화하는 것입니다. π(q) 목표 변수 q.

현대 자동차의 아이디어는 보조 "모멘텀"변수를 도입하는 것입니다 p원래 변수와 함께 q이는 "위치"로 모델링됩니다. 위치-모멘텀 쌍은 확장 된 위상 공간을 형성하며 해밀턴 역학에 의해 설명 될 수 있습니다. 공동 분포π(q,p) 미세 표준 분해의 관점에서 작성 될 수 있습니다 :

π(q,p)=π(θE|E)π(E),

어디 θE 매개 변수를 나타냅니다 (q,p) 주어진 에너지 수준에서 E일반 집합 이라고도 합니다 . 그림은 종이의 그림 21과 22를 참조하십시오.

여기에 이미지 설명을 입력하십시오

원래 HMC 절차는 다음 두 번의 단계로 구성됩니다.

  • 에너지 수준 사이에서 임의의 전환을 수행하는 확률 적 단계

  • 주어진 에너지 수준에 따라 시간 통합 (일반적으로 leapfrog 수치 통합을 통해 구현)을 수행하는 결정적 단계입니다.

이 논문에서 leapfrog (또는 symplectic integrator)에는 작은 오차가있어 수치 적 편향이 발생할 수 있다고 주장합니다. 따라서 결정적 단계로 취급하는 대신이 단계를 확률 론적으로 만들기 위해이를 Metropolis-Hasting (MH) 제안으로 전환해야하며 결과 절차는 분포에서 정확한 표본을 산출합니다.

MH 제안은 수행합니다 L도약 작업의 단계와 운동량 을 뒤집 습니다. 제안서는 다음과 같은 합격 확률로 수락됩니다.

a(qL,pL|q0,p0)=min(1,exp(H(q0,p0)H(qL,pL)))

질문

내 질문은 :

1) 결정 론적 시간 적분을 MH 제안으로 바꾸는이 수정이 왜 수치 편향을 상쇄하여 생성 된 샘플이 정확히 목표 분포를 따르도록합니까?

2) 물리학 적 관점에서, 에너지는 주어진 에너지 레벨에서 보존됩니다. 그래서 우리는 해밀턴의 방정식을 사용할 수 있습니다.

dqdt=Hp,dpdt=Hq.

이런 의미에서 에너지는 일반적인 세트의 모든 곳 에서 일정해야합니다.H(q0,p0) 와 같아야한다 H(qL,pL). 수용 확률을 구성 할 수있는 에너지 차이가있는 이유는 무엇입니까?

답변:


7

결정 론적 Hamiltonian 궤도는 목표 분포와 일치하기 때문에 유용합니다. 특히, 목표 분포의 가능성이 높은 지역에 전형적인 에너지 프로젝트가있는 궤도. 만약 우리가 해밀턴의 방정식을 정확하게 통합하고 명백한 해밀턴 궤도를 만들 수 있다면, 우리는 이미 완전한 알고리즘을 가지고있을 것이며 어떤 수용 단계도 필요하지 않을 것 입니다.

불행히도 몇 가지 매우 간단한 예를 제외하면 해밀턴의 방정식을 정확하게 통합 할 수 없습니다. 그래서 우리는 상징적 인 통합자를 가져와야 합니다. Symplectic integrators는 우리가 분석적으로 해결할 수없는 정확한 Hamiltonian 궤도에 대한 고정밀 수치 근사치 를 구성하는 데 사용됩니다 . 대칭 적분기에 내재 된 작은 오류는 이러한 수치 궤적이 실제 궤적에서 벗어나게하므로 수치 궤적의 투영은 일반적인 목표 분포 세트에서 벗어납니다. 이 편차를 수정하는 방법을 도입해야합니다.

Hamiltonian Monte Carlo의 원래 구현은 고정 길이의 궤적에서 최종 지점을 제안으로 고려한 다음 해당 제안에 Metropolis 승인 절차를 적용했습니다. 수치 궤적이 너무 많은 오차를 축적하여 초기 에너지에서 너무 멀리 벗어나면 제안 된 것이 거부됩니다. 다시 말해서, 수용 절차는 전형적인 대상 분포 세트에서 너무 멀리 떨어져있는 제안을 버려서 우리가 유지하는 유일한 샘플은 전형적인 세트에 포함되는 것입니다.

개념 백서에서 내가 주장하는 더 현대적인 구현은 실제로 Metropolis-Hastings 알고리즘이 아닙니다. 임의 궤적을 샘플링 한 다음 해당 궤적에서 임의의 점을 샘플링하는 것이 증상 적분기에 의해 도입 된 수치 오류를 수정하는보다 일반적인 방법입니다. Metropolis-Hastings는 이보다 일반적인 알고리즘을 구현하는 한 가지 방법 일 뿐이지 만 슬라이스 샘플링 (NUTS에서 수행됨) 및 다항식 샘플링 (현재 Stan에서 수행됨)이 더 좋지는 않지만 잘 작동합니다. 그러나 궁극적으로 직관도 동일합니다. 목표 분포에서 정확한 표본을 확보하기 위해 수치 오류가 작은 점을 확률 적으로 선택합니다.


감사합니다 @Michael Betancourt !! 개념적으로, 이제 통합 상태가 궤적에서 얼마나 벗어나는 지에 따라 시간 통합 단계를 확률 적으로 만드는 아이디어를 얻습니다. 그러나 수용 확률이 구성되는 방식은 에너지가 더 낮아지는 편차를 장려하는 것처럼 보이므로 완전히 이해가되지 않습니까? 만약H(qL,pL) 보다 훨씬 낮다 H(q0,p0), 제안이 궤적에서 많이 벗어나더라도 제안을 항상 받아들이 는가?
cwl

1
그렇습니다. 그러나 고차원 공간에서의 부피가 어떻게 작용하는지 (항상 내부보다 표면 외부를 향하여 더 많은 부피), 궤적은 저에너지보다 더 높은 에너지로 이탈하는 데 더 많은 시간을 소비합니다. 결과적으로 제안 (높은 에너지를 선호 함)과 수용 (낮은 에너지를 선호 함)을 결합하면 초기 에너지에 대한 균형을 회복합니다.
마이클 Betancourt
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.