Gradiente

Descenso de gradiente

El descenso de gradiente es un algoritmo de optimización que se utiliza para minimizar alguna función moviéndose iterativamente en la dirección del descenso más pronunciado definido por el negativo del gradiente. En el aprendizaje automático, usamos el descenso de gradiente para actualizar los parámetros de nuestro modelo. Los parámetros se refieren a coeficientes en regresión lineal y pesos en redes neuronales.


Introducción

Considere el siguiente gráfico tridimensional en el contexto de una función de costo. Nuestro objetivo es pasar de la montaña en la esquina superior derecha (alto costo) al mar azul oscuro en la parte inferior izquierda (bajo costo). Las flechas representan la dirección del descenso más pronunciado (gradiente negativo) desde cualquier punto dado, la dirección que disminuye la función de costo lo más rápido posible.


Comenzando en la cima de la montaña, damos nuestro primer paso cuesta abajo en la dirección especificada por la pendiente negativa. A continuación, recalculamos el gradiente negativo (pasando las coordenadas de nuestro nuevo punto) y damos otro paso en la dirección que especifica. Continuamos este proceso iterativamente hasta que llegamos al final de nuestro gráfico, o hasta un punto en el que ya no podemos movernos cuesta abajo: un mínimo local. fuente de imagen


Tasa de aprendizaje

El tamaño de estos pasos se denomina tasa de aprendizaje . Con una tasa de aprendizaje alta podemos cubrir más terreno en cada paso, pero corremos el riesgo de sobrepasar el punto más bajo ya que la pendiente de la colina cambia constantemente. Con una tasa de aprendizaje muy baja, podemos movernos con confianza en la dirección del gradiente negativo ya que lo estamos recalculando con tanta frecuencia. Una tasa de aprendizaje baja es más precisa, pero calcular el gradiente requiere mucho tiempo, por lo que nos llevará mucho tiempo llegar al fondo.

Función de costo

Una función de pérdida nos dice "qué tan bueno" es nuestro modelo para hacer predicciones para un conjunto dado de parámetros. La función de costo tiene su propia curva y sus propios gradientes. La pendiente de esta curva nos dice cómo actualizar nuestros parámetros para que el modelo sea más preciso.

Ver más: Función de Perdida

Paso a paso

Ahora ejecutemos el descenso de gradiente usando nuestra nueva función de costo. Hay dos parámetros en nuestra función de costo que podemos controlar: m (peso) y b(inclinación). Como necesitamos considerar el impacto que cada uno tiene en la predicción final, necesitamos usar derivadas parciales. Calculamos las derivadas parciales de la función de coste con respecto a cada parámetro y almacenamos los resultados en un gradiente.

Matemáticas

Dada la función de costo:

El gradiente se puede calcular como:

Para resolver el gradiente, iteramos a través de nuestros puntos de datos usando nuestro nuevo m y b valores y calcular las derivadas parciales. Este nuevo gradiente nos dice la pendiente de nuestra función de costo en nuestra posición actual (valores de parámetros actuales) y la dirección en la que debemos movernos para actualizar nuestros parámetros. El tamaño de nuestra actualización está controlado por la tasa de aprendizaje.