Cuándo usar la pendiente de gradiente vs Montecarlo como una técnica de optimización numérica


11

Cuando un conjunto de ecuaciones no puede resolverse analíticamente, entonces podemos usar un algoritmo de descenso de gradiente. Pero parece que también existe el método de simulación de Monte Carlo que puede usarse para resolver problemas que no tienen soluciones analíticas.

¿Cómo saber cuándo usar el descenso de gradiente y cuándo usar Monte Carlo? ¿O simplemente estoy confundiendo el término 'simulación' con 'optimización'?

¡Muchas gracias!

Respuestas:


4

Estas técnicas hacen cosas diferentes.

El descenso de gradiente es una técnica de optimización, por lo tanto, es común en cualquier método estadístico que requiera maximización (MLE, MAP).

La simulación de Monte Carlo es para calcular integrales mediante el muestreo de una distribución y evaluar alguna función en las muestras. Por lo tanto, se usa comúnmente con técnicas que requieren el cálculo de expectativas (inferencia bayesiana, prueba de hipótesis bayesiana).


Entonces, ¿el descenso de gradiente está conectado con la diferenciación (máximos, mínimos) y monte carlo está asociado con la integración?
Victor

El gradiente es una (una de muchas) generalización de la derivada. Entonces, el descenso de gradiente está vinculado a la diferenciación. Pero yo diría, "Gradient Descent usa derivados por el bien de la optimización" y "Monte Carlo usa el muestreo por el bien de la integración", si tuviera que usar la menor cantidad de palabras posible.
jlimahaverford

4

Ambas son enormes familias de algoritmos, por lo que es difícil darle una respuesta precisa, pero ...

El ascenso (o descenso) de gradiente es útil cuando desea encontrar un máximo (o mínimo). Por ejemplo, puede encontrar el modo de una distribución de probabilidad, o una combinación de parámetros que minimizan alguna función de pérdida. El "camino" que se necesita para encontrar estos extremos puede informarle un poco sobre la forma general de la función, pero no está destinada a hacerlo; de hecho, cuanto mejor funcione, menos sabrá sobre todo menos los extremos.

Los métodos de Monte Carlo llevan el nombre del casino de Monte Carlo porque, como el casino, dependen de la aleatorización. Se puede usar de muchas maneras diferentes, pero la mayoría de estas se enfocan en distribuciones aproximadas. Los algoritmos de Markov Chain Monte Carlo, por ejemplo, encuentran formas de muestrear eficientemente de distribuciones de probabilidad complicadas. Otras simulaciones de Monte Carlo podrían generar distribuciones sobre posibles resultados.


Los "métodos de Monte Carlo" generalmente se refieren a lo que hace con las muestras en lugar de los métodos para obtener las muestras. En MCMC, la "Cadena de Markov" se refiere al proceso de obtención de las muestras.
jlimahaverford

De Verdad? Siempre he pensado que Montecarlo implica que hay algún tipo de aleatorización y no significa mucho más que eso. En MCMC, es cierto que las Cadenas de Markov están involucradas, pero también estás tomando muestras al azar de las cadenas (por lo tanto, Monte-Carlo) /
Matt Krause

Quizás esto es una cuestión de opinión. Si estuviera usando MCMC para aproximar la media de una distribución posterior, estaría usando caminatas aleatorias en una Cadena de Markov para tomar muestras aproximadamente de mi distribución no normalizada, estaría usando la Integración de Monte Carlo para aproximar la media. Considero los métodos de muestreo como herramientas que permiten los métodos de Monte Carlo. Por ejemplo, no llamaría al muestreo de rechazo un método de Monte Carlo, pero puedo imaginar a alguien usándolos juntos.
jlimahaverford

Dicho todo esto, Wikipedia considera que el rechazo muestrea un método de Monte Carlo. Por lo tanto, es muy posible que mis ideas aquí estén completamente equivocadas.
jlimahaverford

2

Como explicaron otros, el descenso / ascenso de gradiente realiza la optimización, es decir, encuentra el máximo o mínimo de una función. Monte Carlo es un método de simulación estocástica, es decir, aproxima una función de distribución acumulativa mediante muestreo aleatorio repetido. Esto también se llama "integración de Monte Carlo" porque el cdf de una distribución continua es en realidad una integral.

Lo que es común entre el descenso del gradiente y Monte Carlo es que ambos son particularmente útiles en problemas donde no existe una solución de forma cerrada. Puede usar la diferenciación simple para encontrar el punto máximo o mínimo de cualquier función convexa siempre que sea factible una solución analítica. Cuando tal solución no existe, debe usar un método iterativo como el descenso de gradiente. Es lo mismo para la simulación de Monte Carlo; Básicamente, puede utilizar la integración simple para calcular cualquier cdf analíticamente, pero no hay garantía de que siempre sea posible una solución de forma tan cerrada. El problema vuelve a resolverse con la simulación de Monte Carlo.

¿Se puede usar la pendiente de gradiente para la simulación y Monte Carlo para la optimización? La respuesta simple es no. Monte Carlo necesita un elemento estocástico (una distribución) para tomar muestras y el descenso por gradiente no tiene medios para manejar los problemas de información estocástica. Sin embargo, puede combinar la simulación con la optimización para producir algoritmos de optimización estocásticos más potentes que puedan resolver problemas muy complejos que el simple descenso de gradiente no puede resolver. Un ejemplo de esto sería el recocido simulado Monte Carlo.


1

Esta respuesta es parcialmente incorrecta. De hecho, puede combinar los métodos de Monte Carlo con el descenso de gradiente. Puede usar los métodos de Monte Carlo para estimar el gradiente de una función de pérdida, que luego se usa en el descenso de gradiente para actualizar los parámetros. Un método popular de Monte Carlo para estimar el gradiente es el estimador de gradiente de puntaje , que puede usarse, por ejemplo, en el aprendizaje de refuerzo. Ver Estimación de gradiente de Monte Carlo en Machine Learning (2019) por Shakir Mohamed et al. para más información.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.