
Muestreo por cadenas de Markov que utiliza gradientes de la posterior para dar pasos largos y bien dirigidos en muchas dimensiones.El Monte Carlo Hamiltoniano (HMC) es un método de Monte Carlo por cadenas de Markov (MCMC) para muestrear distribuciones de probabilidad, especialmente aquellas con muchas dimensiones. A diferencia de los métodos más simples de caminata aleatoria, el HMC utiliza el gradiente de la distribución objetivo para proponer movimientos que se alejan del punto actual, manteniendo al mismo tiempo una alta tasa de aceptación. Esto lo hace muy eficiente para explorar espacios de alta dimensionalidad, donde las caminatas aleatorias tienden a deambular lentamente. El HMC es una piedra angular de la computación bayesiana moderna, especialmente en campos como el aprendizaje automático y la física estadística.
El método fue introducido por Simon Duane, Anthony Kennedy, Brian Pendleton y Duncan Roweth en 1987, basándose en trabajos anteriores en teoría de gauge en redes.
El HMC interpreta la distribución objetivo como una función de energía potencial e introduce variables auxiliares de 'momento'. El sistema evoluciona entonces según la dinámica hamiltoniana, simulando una bola sin fricción que rueda sobre un paisaje modelado por el logaritmo negativo de la distribución objetivo. Tras una trayectoria simulada, la nueva posición y el momento se aceptan o rechazan mediante un paso de Metropolis, que corrige cualquier error de discretización. La clave es que la dinámica es reversible y conserva el volumen, por lo que el algoritmo converge a la distribución correcta. El gradiente guía la trayectoria hacia regiones de alta probabilidad, permitiendo saltos grandes.
Es el algoritmo de muestreo por defecto en lenguajes de programación probabilística como Stan y PyMC, utilizado para ajustar modelos bayesianos complejos en ciencias sociales, biología y finanzas.
El 'Hamiltoniano' en el nombre se refiere a la reformulación de la mecánica clásica por William Rowan Hamilton, que el algoritmo toma prestada para convertir el muestreo en una simulación física.











