Regresión lineal: descenso de gradientes

El descenso de gradientes es una técnica matemática que encuentra de forma iterativa los pesos y el sesgo que producen el modelo con la pérdida más baja. El descenso de gradientes encuentra el mejor peso y sesgo repitiendo el siguiente proceso durante una cantidad de iteraciones definidas por el usuario.

El modelo comienza el entrenamiento con pesos y sesgos aleatorios cercanos a cero y, luego, repite los siguientes pasos:

  1. Calcula la pérdida con el peso y el sesgo actuales.

  2. Determina la dirección en la que se deben mover los pesos y la desviación para reducir la pérdida.

  3. Mueve los valores de peso y sesgo una pequeña cantidad en la dirección que reduce la pérdida.

  4. Vuelve al paso uno y repite el proceso hasta que el modelo no pueda reducir más la pérdida.

En el siguiente diagrama, se describen los pasos iterativos que realiza el descenso de gradientes para encontrar los pesos y el sesgo que producen el modelo con la pérdida más baja.

Figura 11. Ilustración del proceso de descenso de gradientes.

Figura 11: El descenso de gradientes es un proceso iterativo que encuentra los pesos y el sesgo que producen el modelo con la pérdida más baja.

Curvas de pérdida y convergencia del modelo

Cuando entrenas un modelo, a menudo observas una curva de pérdida para determinar si el modelo convergió. La curva de pérdida muestra cómo cambia la pérdida a medida que se entrena el modelo. A continuación, se muestra cómo se ve una curva de pérdida típica. La pérdida se muestra en el eje Y y las iteraciones en el eje X:

Figura 12. Gráfico de la curva de pérdida que muestra una disminución pronunciada y, luego, una disminución leve.

Figura 12: Curva de pérdida que muestra la convergencia del modelo alrededor de la iteración número 1,000.

Puedes ver que la pérdida disminuye drásticamente durante las primeras iteraciones y, luego, se reduce de forma gradual antes de estabilizarse alrededor de la iteración número 1,000. Después de 1,000 iteraciones, podemos tener la certeza de que el modelo convergió.

En las siguientes figuras, dibujamos el modelo en tres puntos durante el proceso de entrenamiento: el comienzo, el medio y el final. Visualizar el estado del modelo en instantáneas durante el proceso de entrenamiento consolida la vinculación entre la actualización de los pesos y la desviación, la reducción de la pérdida y la convergencia del modelo.

En las figuras, usamos los pesos y la desviación derivados en una iteración particular para representar el modelo. En el gráfico con los puntos de datos y la instantánea del modelo, las líneas de pérdida azules que van del modelo a los puntos de datos muestran la cantidad de pérdida. Cuanto más largas sean las líneas, mayor será la pérdida.

En la siguiente figura, podemos ver que, alrededor de la segunda iteración, el modelo no sería bueno para realizar predicciones debido a la gran cantidad de pérdidas.

Figura 13. Curva de pérdida y gráfico correspondiente del modelo, que se inclina lejos de los puntos de datos.

Figura 13: Curva de pérdida y una instantánea del modelo al comienzo del proceso de entrenamiento.

Alrededor de la iteración 400, podemos ver que el descenso del gradiente encontró el peso y el sesgo que producen un mejor modelo.

Figura 14: Curva de pérdida y gráfico correspondiente del modelo, que atraviesa los puntos de datos, pero no en el ángulo óptimo.

Figura 14. Curva de pérdida y captura de pantalla del modelo a mitad del entrenamiento.

Y,alrededor de la iteración número 1, 000, podemos ver que el modelo convergió y produjo un modelo con la pérdida más baja posible.

Figura 15: Curva de pérdida y gráfico correspondiente del modelo, que se ajusta bien a los datos.

Figura 15. Curva de pérdida y una instantánea del modelo cerca del final del proceso de entrenamiento.

Ejercicio: Comprueba tus conocimientos

¿Cuál es el rol del descenso del gradiente en la regresión lineal?
El descenso de gradientes es un proceso iterativo que encuentra los mejores pesos y sesgos que minimizan la pérdida.
El descenso del gradiente ayuda a determinar qué tipo de pérdida se debe usar cuando se entrena un modelo, por ejemplo, L1 o L2.
El descenso del gradiente no participa en la selección de una función de pérdida para el entrenamiento del modelo.
El descenso del gradiente quita los valores atípicos del conjunto de datos para ayudar al modelo a hacer mejores predicciones.
El descenso del gradiente no cambia el conjunto de datos.

Convergencia y funciones convexas

Las funciones de pérdida para los modelos lineales siempre producen una superficie convexa. Como resultado de esta propiedad, cuando un modelo de regresión lineal converge, sabemos que encontró los pesos y la desviación que producen la pérdida más baja.

Si graficamos la superficie de pérdida de un modelo con un atributo, podemos ver su forma convexa. A continuación, se muestra la superficie de pérdida para un conjunto de datos hipotético de millas por galón. El peso está en el eje X, el sesgo en el eje Y y la pérdida en el eje Z:

Figura 16: Gráfico en 3D de la superficie de pérdida.

Figura 16: Superficie de pérdida que muestra su forma convexa.

En este ejemplo, un peso de -5.44 y un sesgo de 35.94 producen la pérdida más baja en 5.54:

Figura 17: Gráfico en 3D de la superficie de pérdida, con (-5.44, 35.94, 5.54) en la parte inferior.

Figura 17: Superficie de pérdida que muestra los valores de peso y sesgo que producen la pérdida más baja.

Un modelo lineal converge cuando encuentra la pérdida mínima. Si graficáramos los pesos y los puntos de sesgo durante el descenso del gradiente, los puntos se verían como una pelota que rueda colina abajo y se detiene en el punto en el que ya no hay pendiente descendente.

Figura 18: Superficie de pérdida convexa en 3D con puntos de descenso de gradientes que se mueven hacia el punto más bajo.

Figura 18: Gráfico de pérdida que muestra los puntos del descenso del gradiente que se detienen en el punto más bajo del gráfico.

Observa que los puntos de pérdida negros crean la forma exacta de la curva de pérdida: una disminución pronunciada antes de descender gradualmente hasta alcanzar el punto más bajo en la superficie de pérdida.

Con los valores de peso y sesgo que producen la pérdida más baja (en este caso, un peso de -5.44 y un sesgo de 35.94), podemos graficar el modelo para ver qué tan bien se ajusta a los datos:

Figura 19. Gráfico de libras en miles en comparación con millas por galón, con el modelo que se ajusta a los datos.

Figura 19: Modelo graficado con los valores de peso y sesgo que producen la pérdida más baja.

Este sería el mejor modelo para este conjunto de datos, ya que ningún otro valor de peso y sesgo produce un modelo con una pérdida menor.