해밀턴 몬테카를로

정의
해밀턴 몬테카를로(Hamiltonian Monte Carlo, HMC)는 확률분포로부터 샘플을 추출하기 위해 해밀턴 역학의 원리를 이용하는 마코프 연쇄 몬테카를로(Markov chain Monte Carlo, MCMC) 알고리즘이다. 샘플링 효율을 높이기 위해 대상 분포의 기울기(gradient) 정보를 활용한다.

개요
HMC는 기존의 랜덤 워크 기반 MCMC 방법에 비해 높은 차원의 복합 확률분포를 탐색할 때 수렴 속도가 빠르고 자기상관이 낮은 특성을 가진다. 알고리즘은 가상의 위치 변수와 운동량 변수를 도입하고, 해밀턴 방정식을 수치적으로 적분하여 새로운 상태를 제안한다. 제안된 상태는 메트로폴리스–헤이스팅스(Metropolis–Hastings) 기준에 따라 수락·거부가 결정된다. 이 과정은 “동역학적 제안”이라고도 불리며, 샘플이 목표 분포에 대해 보다 효율적으로 이동하도록 만든다.

어원/유래
‘해밀턴’은 물리학에서 시스템의 운동을 기술하는 해밀턴 역학(Hamiltonian mechanics)에서 따온 것으로, 알고리즘이 해밀턴 역학의 에너지 보존 법칙을 이용한다는 의미이다. ‘몬테카를로’는 확률적 시뮬레이션 기법을 총칭하는 몬테카를로 방법(Monte Carlo method)에서 차용하였다. HMC는 원래 1987년 Duane et al.이 격자 양자색역학(lattice QCD) 계산을 위해 제안했으며, 이후 1996년 Neal이 통계학적 맥락에서 일반화하였다.

특징

  1. 기울기 활용: 목표 분포의 로그밀도 함수에 대한 기울기를 필요로 하며, 이를 통해 제안 단계에서 큰 이동을 가능하게 한다.
  2. 수치 적분: 일반적으로 심프슨-레프레(Leapfrog) 적분법을 사용해 해밀턴 방정식을 근사한다.
  3. 조정 파라미터: 스텝 크기(step size)와 경로 길이(path length, 혹은 L) 등 몇 가지 하이퍼파라미터를 적절히 선택해야 효율성이 확보된다.
  4. 다중 모드 탐색 어려움: 목표 분포가 여러 개의 뚜렷한 모드를 갖는 경우, 에너지 장벽으로 인해 한 모드에 머무를 위험이 있다.
  5. 확장성: 고차원 모델(예: 베이즈 신경망, 베이지안 회귀 등)에서 다른 MCMC 기법에 비해 더 나은 스케일링을 보인다.

관련 항목

  • 마코프 연쇄 몬테카를로(MCMC)
  • 메트로폴리스–헤이스팅스 알고리즘
  • 심프슨-레프레 적분법(Leapfrog integrator)
  • 확률적 그래디언트 디센트(Stochastic Gradient Descent)와의 연계(예: SGHMC)
  • 베이지안 통계 및 베이지안 네트워크
  • 다이나믹스 MCMC(Dynamic MCMC, No‑U‑Turn Sampler, NUTS)
둘러보기

더 찾아볼 만한 주제