¿Por qué la dinámica hamiltoniana es mejor que la propuesta de caminata aleatoria en MCMC en algunos casos?
10
La dinámica hamiltoniana siempre supera en algunos casos a la caminata aleatoria en el algoritmo Metropolis. ¿Podría alguien explicar la razón con palabras simples sin demasiadas matemáticas?
@JuhoKokkala, en general, en un problema de alta dimensión, la propuesta de caminata aleatoria no tiene un buen rendimiento, sin embargo, la dinámica hamitonial sí.
Fly_back
@JuhoKokkala Entiendo que HMC es que, obtenemos muestras con H de baja energía en el sistema dinámico hamiltoniano, luego se me ocurre esta prueba de por qué la muestra propuesta por la dinámica hamiltoniana siempre puede ser aceptada.
Fly_back
3
A principios de noviembre, Andrew Gelman publicó una nota sobre un "hermoso artículo nuevo" de Michael Betancourt sobre por qué HMC es mejor que MCMC aleatorio. El punto principal de Gelman fue que HMC es al menos dos veces más rápido que los métodos de la competencia. andrewgelman.com/2016/11/03/…
Mike Hunter
2
Esta pregunta está un poco poco especificada, pero dadas las respuestas publicadas a continuación, no creo que sea demasiado claro para ser respondida. Estoy votando para dejarlo abierto.
gung - Restablece a Monica
Respuestas:
14
En primer lugar, permítanme decir que no creo que la tasa de aceptación de HMC (Hamiltonian Monte Carlo) sea siempre mayor que la del algoritmo Metropolis. Como señaló @JuhoKokkala, la tasa de aceptación de Metropolis es ajustable y la alta tasa de aceptación no significa que su algoritmo esté haciendo un buen trabajo al explorar la distribución posterior. Si solo utiliza una distribución de propuesta extremadamente estrecha (por ejemplo, con un σ muy pequeñoT( qEl | q′) = N( q′, σyo)σ), obtendrá una tasa de aceptación extremadamente alta, pero solo porque básicamente se queda siempre en el mismo lugar, sin explorar la distribución posterior completa.
Lo que creo que realmente está preguntando (y si tengo razón, edite su pregunta en consecuencia) es por qué Hamiltonian Monte Carlo tiene (en algunos casos) un mejor rendimiento que Metropolis. Con "mejor rendimiento" quiero decir que, para muchas aplicaciones, si compara una cadena generada por HMC con una cadena de igual longitud (el mismo número de muestras ) generada por el algoritmo Metropolis, la cadena HMC alcanza un estado estable antes que La cadena Metropolis, encuentra un valor más bajo para la probabilidad de registro negativa (o un valor similar, pero en menos iteraciones), el tamaño efectivo de la muestra es menor, la autocorrelación de las muestras decae más rápido con el retraso, etc.norte
Trataré de dar una idea de por qué sucede eso, sin entrar demasiado en detalles matemáticos. Entonces, en primer lugar, recuerde que los algoritmos MCMC en general son útiles para calcular integrales de alta dimensión (expectativas) de una función (o más funciones) con respecto a una densidad objetivo π ( q ) , especialmente cuando no tenemos un forma de muestrear directamente desde la densidad objetivo:Fπ( q)
Ahora, uno puede mostrar que, en condiciones ideales, la cadena de Markov generada por MCMC primero converge a un punto en el conjunto típico, luego comienza a explorar todo el conjunto y finalmente continúa explorando los detalles del conjunto. Al hacer esto, la estimación de MCMC de la expectativa se vuelve más y más precisa, con sesgos y variaciones que se reducen con el número creciente de pasos.
Sin embargo, cuando la geometría del conjunto típico es complicada (por ejemplo, si tiene una cúspide en dos dimensiones), el algoritmo Metropolis de paseo aleatorio estándar tiene muchas dificultades para explorar los detalles "patológicos" del conjunto. Tiende a saltar al azar "alrededor" de estas regiones, sin explorarlas. En la práctica, esto significa que el valor estimado para la integral tiende a oscilar alrededor del valor correcto, e interrumpir la cadena en un número finito de pasos dará como resultado una estimación muy sesgada.
Rd, el gradiente de la distribución objetivo, por sí mismo, nos dirige hacia el modo de distribución, pero la región alrededor del modo no es necesariamente la región que más contribuye a la integral anterior, es decir, no es el conjunto típico.
Para obtener la dirección correcta, en HMC presentamos un conjunto auxiliar de variables, llamadas variables de momento . Un análogo físico puede ayudar aquí. Un satélite que orbita alrededor de un planeta, permanecerá en una órbita estable solo si su impulso tiene el valor "correcto", de lo contrario se alejará hacia el espacio abierto, o será arrastrado hacia el planeta por atracción gravitatoria (aquí desempeñando el papel del gradiente de la densidad objetivo, que "tira" hacia el modo). Del mismo modo, los parámetros de impulso tienen la función de mantener las nuevas muestras dentro del conjunto típico, en lugar de hacer que se desplacen hacia las colas o hacia el modo.
Este es un pequeño resumen de un artículo muy interesante de Michael Betancourt sobre cómo explicar el hamiltoniano Monte Carlo sin matemáticas excesivas. Puede encontrar el documento, que va con bastante más detalle aquí .
Una cosa que el documento no cubre con suficiente detalle, OMI, es cuándo y por qué HMC puede hacerlo peor que Metrópolis de paseo aleatorio. Esto no sucede a menudo (en mi experiencia limitada), pero puede suceder. Después de todo, introduce gradientes, que lo ayudan a encontrar su camino en el espacio de parámetros de alta dimensión, pero también duplica la dimensionalidad del problema. En teoría, podría suceder que la desaceleración debida al aumento de la dimensionalidad supere la aceleración dada por la explotación de los gradientes. Además (y esto está cubierto en el documento) si el conjunto típico tiene regiones de alta curvatura, HMC puede "sobrepasarse", es decir, podría comenzar a muestrear puntos inútiles muy lejos en las colas que no contribuyen en nada a la expectativa. Sin embargo, Esto provoca la inestabilidad del integrador simpléctico que se utiliza en la práctica para implementar HMC numéricamente. Por lo tanto, este tipo de problema se diagnostica fácilmente.
Veo que mientras escribía mi respuesta, @DJohnson también citó el artículo de Betancourt. Sin embargo, creo que la respuesta aún puede ser útil como un resumen de lo que uno puede encontrar en el documento.
DeltaIV
3
Como @JuhoKokkala mencionó en los comentarios, la alta tasa de aceptación no necesariamente da un buen rendimiento. La tasa de aceptación de Metropolis Hastings se puede aumentar reduciendo la distribución de la propuesta. Sin embargo, esto hará que se tomen medidas más pequeñas, lo que demorará más tiempo en explorar la distribución objetivo. En la práctica, existe una compensación entre el tamaño del paso y la tasa de aceptación, y se necesita un equilibrio adecuado para obtener un buen rendimiento.
El Montecarlo hamiltoniano tiende a superar a Metropolis Hastings porque puede alcanzar puntos más distantes con mayor probabilidad de aceptación. Entonces, la pregunta es: ¿por qué HMC tiende a tener una mayor probabilidad de aceptación que MH para puntos más distantes ?
MH tiene problemas para llegar a puntos distantes porque sus propuestas se realizan sin utilizar información sobre la distribución objetivo. La distribución de la propuesta es típicamente isotrópica (por ejemplo, una gaussiana simétrica). Entonces, en cada punto, el algoritmo intenta mover una distancia aleatoria en una dirección aleatoria. Si la distancia es pequeña en relación con la rapidez con que cambia la distribución del objetivo en esa dirección, hay una buena probabilidad de que la densidad en los puntos actuales y nuevos sea similar, lo que brinda al menos una posibilidad razonable de aceptación. En distancias mayores, la distribución del objetivo puede haber cambiado bastante en relación con el punto actual. Por lo tanto, la posibilidad de encontrar aleatoriamente un punto con densidad similar o (con suerte) mayor puede ser pobre, particularmente a medida que aumenta la dimensionalidad. Por ejemplo, si el punto actual se encuentra en una cresta estrecha, hay '
En contraste, HMC explota la estructura de la distribución objetivo. Se puede pensar que su mecanismo de propuesta utiliza una analogía física, como se describe en Neal (2012). Imagine un disco deslizándose sobre una superficie montañosa y sin fricción. La ubicación del disco representa el punto actual, y la altura de la superficie representa el registro negativo de la distribución objetivo. Para obtener un nuevo punto propuesto, el disco recibe un impulso con dirección y magnitud aleatorias, y su dinámica se simula a medida que se desliza sobre la superficie. El disco se acelerará en dirección cuesta abajo y se desacelerará en dirección cuesta arriba (tal vez incluso se detendrá y volverá a deslizarse cuesta abajo). Las trayectorias que se mueven lateralmente a lo largo de la pared de un valle se curvarán hacia abajo. Entonces, el paisaje mismo influye en la trayectoria y lo empuja hacia regiones de mayor probabilidad. Momentum puede permitir que el disco se alce sobre pequeñas colinas y también sobrepase cuencas pequeñas. La ubicación del disco después de varios pasos de tiempo da el nuevo punto propuesto, que se acepta o rechaza utilizando la regla estándar de Metrópolis. Explotar la distribución objetivo (y su gradiente) es lo que permite a HMC alcanzar puntos distantes con altas tasas de aceptación.
Como respuesta suelta (que parece ser lo que está buscando), los métodos hamiltonianos tienen en cuenta la derivada de la probabilidad de registro, mientras que el algoritmo MH estándar no.
Respuestas:
En primer lugar, permítanme decir que no creo que la tasa de aceptación de HMC (Hamiltonian Monte Carlo) sea siempre mayor que la del algoritmo Metropolis. Como señaló @JuhoKokkala, la tasa de aceptación de Metropolis es ajustable y la alta tasa de aceptación no significa que su algoritmo esté haciendo un buen trabajo al explorar la distribución posterior. Si solo utiliza una distribución de propuesta extremadamente estrecha (por ejemplo, con un σ muy pequeñoT( qEl | q′) = N( q′, σyo) σ ), obtendrá una tasa de aceptación extremadamente alta, pero solo porque básicamente se queda siempre en el mismo lugar, sin explorar la distribución posterior completa.
Lo que creo que realmente está preguntando (y si tengo razón, edite su pregunta en consecuencia) es por qué Hamiltonian Monte Carlo tiene (en algunos casos) un mejor rendimiento que Metropolis. Con "mejor rendimiento" quiero decir que, para muchas aplicaciones, si compara una cadena generada por HMC con una cadena de igual longitud (el mismo número de muestras ) generada por el algoritmo Metropolis, la cadena HMC alcanza un estado estable antes que La cadena Metropolis, encuentra un valor más bajo para la probabilidad de registro negativa (o un valor similar, pero en menos iteraciones), el tamaño efectivo de la muestra es menor, la autocorrelación de las muestras decae más rápido con el retraso, etc.norte
Trataré de dar una idea de por qué sucede eso, sin entrar demasiado en detalles matemáticos. Entonces, en primer lugar, recuerde que los algoritmos MCMC en general son útiles para calcular integrales de alta dimensión (expectativas) de una función (o más funciones) con respecto a una densidad objetivo π ( q ) , especialmente cuando no tenemos un forma de muestrear directamente desde la densidad objetivo:F π( q)
Ahora, uno puede mostrar que, en condiciones ideales, la cadena de Markov generada por MCMC primero converge a un punto en el conjunto típico, luego comienza a explorar todo el conjunto y finalmente continúa explorando los detalles del conjunto. Al hacer esto, la estimación de MCMC de la expectativa se vuelve más y más precisa, con sesgos y variaciones que se reducen con el número creciente de pasos.
Sin embargo, cuando la geometría del conjunto típico es complicada (por ejemplo, si tiene una cúspide en dos dimensiones), el algoritmo Metropolis de paseo aleatorio estándar tiene muchas dificultades para explorar los detalles "patológicos" del conjunto. Tiende a saltar al azar "alrededor" de estas regiones, sin explorarlas. En la práctica, esto significa que el valor estimado para la integral tiende a oscilar alrededor del valor correcto, e interrumpir la cadena en un número finito de pasos dará como resultado una estimación muy sesgada.
Para obtener la dirección correcta, en HMC presentamos un conjunto auxiliar de variables, llamadas variables de momento . Un análogo físico puede ayudar aquí. Un satélite que orbita alrededor de un planeta, permanecerá en una órbita estable solo si su impulso tiene el valor "correcto", de lo contrario se alejará hacia el espacio abierto, o será arrastrado hacia el planeta por atracción gravitatoria (aquí desempeñando el papel del gradiente de la densidad objetivo, que "tira" hacia el modo). Del mismo modo, los parámetros de impulso tienen la función de mantener las nuevas muestras dentro del conjunto típico, en lugar de hacer que se desplacen hacia las colas o hacia el modo.
Este es un pequeño resumen de un artículo muy interesante de Michael Betancourt sobre cómo explicar el hamiltoniano Monte Carlo sin matemáticas excesivas. Puede encontrar el documento, que va con bastante más detalle aquí .
Una cosa que el documento no cubre con suficiente detalle, OMI, es cuándo y por qué HMC puede hacerlo peor que Metrópolis de paseo aleatorio. Esto no sucede a menudo (en mi experiencia limitada), pero puede suceder. Después de todo, introduce gradientes, que lo ayudan a encontrar su camino en el espacio de parámetros de alta dimensión, pero también duplica la dimensionalidad del problema. En teoría, podría suceder que la desaceleración debida al aumento de la dimensionalidad supere la aceleración dada por la explotación de los gradientes. Además (y esto está cubierto en el documento) si el conjunto típico tiene regiones de alta curvatura, HMC puede "sobrepasarse", es decir, podría comenzar a muestrear puntos inútiles muy lejos en las colas que no contribuyen en nada a la expectativa. Sin embargo, Esto provoca la inestabilidad del integrador simpléctico que se utiliza en la práctica para implementar HMC numéricamente. Por lo tanto, este tipo de problema se diagnostica fácilmente.
fuente
Como @JuhoKokkala mencionó en los comentarios, la alta tasa de aceptación no necesariamente da un buen rendimiento. La tasa de aceptación de Metropolis Hastings se puede aumentar reduciendo la distribución de la propuesta. Sin embargo, esto hará que se tomen medidas más pequeñas, lo que demorará más tiempo en explorar la distribución objetivo. En la práctica, existe una compensación entre el tamaño del paso y la tasa de aceptación, y se necesita un equilibrio adecuado para obtener un buen rendimiento.
El Montecarlo hamiltoniano tiende a superar a Metropolis Hastings porque puede alcanzar puntos más distantes con mayor probabilidad de aceptación. Entonces, la pregunta es: ¿por qué HMC tiende a tener una mayor probabilidad de aceptación que MH para puntos más distantes ?
MH tiene problemas para llegar a puntos distantes porque sus propuestas se realizan sin utilizar información sobre la distribución objetivo. La distribución de la propuesta es típicamente isotrópica (por ejemplo, una gaussiana simétrica). Entonces, en cada punto, el algoritmo intenta mover una distancia aleatoria en una dirección aleatoria. Si la distancia es pequeña en relación con la rapidez con que cambia la distribución del objetivo en esa dirección, hay una buena probabilidad de que la densidad en los puntos actuales y nuevos sea similar, lo que brinda al menos una posibilidad razonable de aceptación. En distancias mayores, la distribución del objetivo puede haber cambiado bastante en relación con el punto actual. Por lo tanto, la posibilidad de encontrar aleatoriamente un punto con densidad similar o (con suerte) mayor puede ser pobre, particularmente a medida que aumenta la dimensionalidad. Por ejemplo, si el punto actual se encuentra en una cresta estrecha, hay '
En contraste, HMC explota la estructura de la distribución objetivo. Se puede pensar que su mecanismo de propuesta utiliza una analogía física, como se describe en Neal (2012). Imagine un disco deslizándose sobre una superficie montañosa y sin fricción. La ubicación del disco representa el punto actual, y la altura de la superficie representa el registro negativo de la distribución objetivo. Para obtener un nuevo punto propuesto, el disco recibe un impulso con dirección y magnitud aleatorias, y su dinámica se simula a medida que se desliza sobre la superficie. El disco se acelerará en dirección cuesta abajo y se desacelerará en dirección cuesta arriba (tal vez incluso se detendrá y volverá a deslizarse cuesta abajo). Las trayectorias que se mueven lateralmente a lo largo de la pared de un valle se curvarán hacia abajo. Entonces, el paisaje mismo influye en la trayectoria y lo empuja hacia regiones de mayor probabilidad. Momentum puede permitir que el disco se alce sobre pequeñas colinas y también sobrepase cuencas pequeñas. La ubicación del disco después de varios pasos de tiempo da el nuevo punto propuesto, que se acepta o rechaza utilizando la regla estándar de Metrópolis. Explotar la distribución objetivo (y su gradiente) es lo que permite a HMC alcanzar puntos distantes con altas tasas de aceptación.
Aquí hay una buena reseña:
fuente
Como respuesta suelta (que parece ser lo que está buscando), los métodos hamiltonianos tienen en cuenta la derivada de la probabilidad de registro, mientras que el algoritmo MH estándar no.
fuente