Estoy aprendiendo sobre los métodos Markov Chain Monte Carlo, y para mi mente indiferente, básicamente se parecen al descenso de gradiente con un componente estocástico que reemplaza el cálculo del gradiente. ¿Es esto correcto? Si no es así, ¿qué diferencia clave me estoy perdiendo?
Respuestas
¿Demasiados anuncios?La diferencia clave es que no intentamos optimizar nada. En su lugar, intentamos estimar una función de densidad, pero no estimando de forma óptima un pequeño número de parámetros, sino generando un montón de números aleatorios a partir de la función de densidad y partiendo de ahí. Así que MCMC es realmente una técnica de generación de números aleatorios, no una técnica de optimización.
Para ver cómo es un algoritmo similar al descenso de gradiente con un componente estocástico, consulte aproximación estocástica . El perturbación simultánea variante es bastante eficaz y accesible.
Sé que esta pregunta ha sido respondida, pero si alguien está interesado en aprender más sobre la sugerencia de jbowman de propuestas aleatorias con un paso de aceptación, vea Simulated Annealing:
http://en.wikipedia.org/wiki/Simulated_annealing
Extracto:
"El método es una adaptación del algoritmo Metropolis-Hastings, un método de Monte Carlo para generar estados de muestra de un sistema sistema termodinámico..."
Típicamente más lento que el SGD, es un buen método basado en MC para buscar mínimos globales.
Implementación de Java como referencia: https://github.com/wlmiller/BKTSimulatedAnnealing