Inicio · Parte 17 — Frontera matemática para IA e investigación
energía: H(q,p) = −log p(q) + ‖p‖²/2
integrador leapfrog, simpléctico
aceptación basada en la conservación de H
Hamiltonian Monte Carlo sustituye la propuesta aleatoria por una simulación de dinámica física. Se interpreta el logaritmo negativo de la densidad como una energía potencial, se añade una variable de momento con energía cinética, y se simula el movimiento de una partícula en ese paisaje.
La ventaja es que la partícula sigue el gradiente y se desplaza a regiones lejanas que conservan alta densidad. Donde Metropolis-Hastings tantea a ciegas y rechaza a menudo, HMC propone estados informados y los acepta casi siempre. En el ejemplo, la tasa de aceptación es del 99,8 % con propuestas mucho más lejanas.
El integrador tiene que ser simpléctico, y por eso se usa leapfrog y no Euler. Un integrador simpléctico conserva el volumen del espacio de fases, lo que es exactamente la condición que hace válida la propuesta reversible. Con un integrador cualquiera, la cadena no muestrearía la distribución correcta. Es un caso donde la elección del método numérico de la parte 11 no es una cuestión de precisión sino de corrección.
Sus dos hiperparámetros —el tamaño de paso y el número de saltos de leapfrog— son delicados de ajustar, y NUTS los adapta automáticamente. Esa es la razón de que HMC y NUTS sean hoy el motor por defecto de Stan, PyMC y NumPyro. Su límite es que exige gradientes, y por tanto no sirve con parámetros discretos.
HMC frente a random walk sobre el mismo objetivo.
objetivo: Normal(2,0 ; 1,5)
3 000 iteraciones
step size ε = 0,35 pasos de leapfrog: 12
tasa de aceptación: 0,9983
media estimada: 2,0051 error 0,005
Comparación con Metropolis-Hastings:
MH con paso 0,2: aceptación 0,95, media 2,4552
HMC con ε = 0,35: aceptación 0,998, media 2,0051
HMC acepta más Y explora más lejos, porque las
propuestas siguen el gradiente en vez de ser ciegas.
El integrador debe ser simpléctico: con Euler
la cadena muestrearía la distribución equivocada.
HMC: usar el gradiente para proponer estados lejanos con alta aceptación.
python classes/part-17-frontera-matematica-para-ia-e-investigacion/344-hamiltonian-monte-carlo/lab.py
compmath run 344
objetivoiteracionesstep_size_epsilonpasos_de_leapfrogtasa_de_aceptacionmedia_estimadadesviacion_estimadaautocorrelacion_lag_1tamaño_efectivo_aproxpor_que_leapfrogventaja_sobre_random_walkcosteNUTS{
"objetivo": "Normal(2.0, 1.5)",
"iteraciones": 3000,
"step_size_epsilon": 0.35,
"pasos_de_leapfrog": 12,
"tasa_de_aceptacion": 0.9983,
"media_estimada": 2.0051
}
Motores de inferencia bayesiana como Stan y PyMC, modelos jerárquicos complejos, física computacional y cuantificación de incertidumbre en redes.
Score matching fundamenta los modelos de difusión; el transporte óptimo aparece en flow matching; la teoría estadística del aprendizaje explica el scaling.
10.48550/arxiv.1206.1901 verificado en DataCite (2026-08-19).10.48550/arxiv.1701.02434 verificado en DataCite (2026-08-19).