optimization machine-learning mathematical-optimization

optimization - ¿Cuál es la diferencia entre el descenso de gradiente y el ascenso de gradiente?



machine-learning mathematical-optimization (5)

Gradiente es otra palabra para la pendiente. El gradiente positivo de la gráfica en un punto (x, y) significa que la gráfica se inclina hacia arriba en un punto (x, y). Por otro lado, el gradiente negativo de la gráfica en un punto (x, y) significa que la gráfica se inclina hacia abajo en un punto (x, y).

El descenso de gradiente es un algoritmo iterativo que se usa para encontrar un conjunto de theta que minimiza el valor de una función de costo. Por lo tanto, el ascenso por gradiente produciría un conjunto de theta que maximiza el valor de una función de costo.

No puedo encontrar nada sobre el ascenso de gradiente. Cualquier buen enlace sobre el ascenso de gradiente que demuestre cómo es diferente del descenso de gradiente ayudaría.



No es diferente. El ascenso gradual es solo el proceso de maximizar, en lugar de minimizar, una función de pérdida. Todo lo demás es totalmente igual. El ascenso de alguna función de pérdida, se podría decir, es como un descenso de gradiente en el negativo de esa función de pérdida.


Por lo general, usaría el ascenso por degradado para maximizar la función de probabilidad y el descenso por degradado para minimizar la función de costo. Tanto el descenso gradiente como el ascenso son prácticamente iguales. Permítame darle un ejemplo concreto utilizando un algoritmo simple de optimización basado en gradiente con una función de probabilidad / costo concav / convexo: regresión logística.

Desafortunadamente, SO aún no parece apoyar a LaTeX, así que permítame publicar algunas capturas de pantalla.

La función de probabilidad que desea maximizar en la regresión logística es

donde "phi" es simplemente la función sigmoide

Ahora, desea una función concav para el ascenso de gradiente, por lo tanto tome el registro:

Del mismo modo, puede escribirlo como su inverso para obtener la función de costo que puede minimizar a través del descenso del degradado.

Para la probabilidad de registro, obtendrías y aplicarías el ascenso de gradiente de la siguiente manera:

Como querrías actualizar todos los pesos simultáneamente, escribámoslo como

Ahora, debería ser bastante obvio ver que la actualización del descenso del degradado es la misma que el ascenso del degradado, solo tenga en cuenta que lo estamos formulando como "dar un paso en la dirección opuesta al degradado de la función de costo"

Espero que responda a su pregunta!


Si desea minimizar una función, usamos Gradient Descent. Por ejemplo. En el aprendizaje profundo queremos minimizar la función de pérdida, por lo tanto, usamos Gradient Descent.

Si quieres maximizar una función, usamos Gradient Ascent. Por ejemplo. En los métodos de Aprendizaje de refuerzo - Políticas de gradiente, nuestro objetivo es maximizar la función de recompensa / retorno esperado, por lo tanto, usamos Gradient Ascent.