Regresión lineal: descenso de gradientes

El descenso de gradientes es un una técnica matemática que encuentra iterativamente los pesos y sesgos que producen al modelo con la menor pérdida. El descenso de gradientes encuentra el mejor peso y sesgo mediante la repetición del siguiente proceso para varias iteraciones definidas por el usuario.

El modelo comienza el entrenamiento con ponderaciones aleatorias y sesgos 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 para mover los pesos y el sesgo que reducen la pérdida.

  3. Mueve los valores de ponderación y sesgo un poco en la dirección que se reduzca pérdida de reputación y de talento.

  4. Regresa al paso uno y repite el proceso hasta que el modelo no pueda reducir pérdida de seguridad.

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 12. Ilustración del proceso de descenso de gradientes.

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

Haz clic en el ícono de signo más para obtener más información sobre los cálculos del descenso de gradientes.

A nivel concreto, podemos seguir los pasos del descenso de gradientes. mediante un pequeño conjunto de datos con siete ejemplos del peso de un automóvil en libras y su índice de millas por galón:

Libras en milésimas de segundo (función) Millas por galón (etiqueta)
3.5 18
3,69 15
3,44 18
3,43 16
4,34 15
4,42 14
2.37 24
  1. Para comenzar el entrenamiento, el modelo establece el peso y el sesgo en cero:
  2. $$ \small{Weight:\ 0} $$ $$ \small{Bias:\ 0} $$ $$ \small{y = 0 + 0(x_1)} $$
  3. Calcula la pérdida del ECM con los parámetros del modelo actual:
  4. $$ \small{Loss = \frac{(18-0)^2 + (15-0)^2 + (18-0)^2 + (16-0)^2 + (15-0)^2 + (14-0)^2 + (24-0)^2}{7}} $$ $$ \small{Loss= 303.71} $$
  5. Calcular la pendiente de la tangente a la función de pérdida en cada peso y el sesgo:
  6. $$ \small{Weight\ slope: -119.7} $$ $$ \small{Bias\ slope: -34.3} $$

    Haz clic en el ícono de signo más para obtener más información sobre cómo calcular la pendiente.

    Para obtener la pendiente de las líneas tangentes al peso y sesgo, tomamos la derivada de la función de pérdida con respecto al peso y al sesgo, y luego resolver el ecuaciones.

    Escribiremos la ecuación para hacer una predicción de la siguiente manera:
    $ f_{w,b}(x) = (w*x)+b $.

    Escribiremos el valor real como: $ y $.

    Calcularemos el ECM con la siguiente información:
    $ \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)})^2 $
    donde $i$ representa el ejemplo de entrenamiento $ith$ y $M$ representa la cantidad de ejemplos.

    Derivada del peso

    La derivada de la función de pérdida con respecto al peso se escribe de la siguiente manera:
    $ \frac{\partial }{\partial w} \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)})^2 $

    y se evalúa como:
    $ \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)}) * 2x_{(i)} $

    Primero, sumamos cada valor predicho menos el valor real y multiplicarlo por dos veces el valor del atributo. Luego, dividimos la suma por el número de ejemplos. El resultado es la pendiente de la línea tangente al valor del peso.

    Si resolvemos esta ecuación con un peso y un sesgo iguales a cero, obtenemos -119.7 para la pendiente de la línea.

    Derivada del sesgo

    La derivada de la función de pérdida con respecto a la el sesgo se escribe de la siguiente manera:
    $ \frac{\partial }{\partial b} \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)})^2 $

    y se evalúa como:
    $ \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)}) * 2 $

    Primero, sumamos cada valor predicho menos el valor real y luego multiplicarla por dos. Luego, dividimos la suma por los una gran cantidad de ejemplos. El resultado es la pendiente de la línea tangente al valor de la ordenada al origen.

    Si resolvemos esta ecuación con un peso y un sesgo iguales a cero, obtenemos -34.3 para la pendiente de la línea.

  7. Muévete un poco en la dirección de la pendiente negativa para obtener el próximo peso y sesgo. Por ahora, definiremos de manera arbitraria el “pequeña cantidad” como 0.01:
  8. $$ \small{New\ weight = old\ weight - (small\ amount * weight\ slope)} $$ $$ \small{New\ bias = old\ bias - (small\ amount * bias\ slope)} $$ $$ \small{New\ weight = 0 - (0.01)*(-119.7)} $$ $$ \small{New\ bias = 0 - (0.01)*(-34.3)} $$ $$ \small{New\ weight = 1.2} $$ $$ \small{New\ bias = 0.34} $$

Usa el nuevo peso y sesgo para calcular la pérdida y la repetición. Finalización durante seis iteraciones, obtendríamos los siguientes pesos, sesgos, y pérdidas:

Iteración Peso Sesgo Pérdida (ECM)
1 0 0 303,71
2 1.2 0.34 USD 170.67
3 USD 2.75 0.59 67.3
4 3,17 0.72 50,63
5 3.47 0.82 42,1
6 3,68 0.9 37,74

Puedes ver que la pérdida disminuye con cada peso y sesgo actualizados. En este ejemplo, nos detuvimos después de seis iteraciones. En la práctica, un modelo entrena hasta que convergencia. Cuando un modelo converge, las iteraciones adicionales no reducen más la pérdida porque el descenso de gradientes descubrió los pesos y el sesgo que casi minimizar la pérdida.

Si el modelo sigue entrenando después de la convergencia, la pérdida fluctúan en pequeñas cantidades, ya que el modelo actualiza continuamente el parámetros alrededor de sus valores más bajos. Esto puede dificultar verificar que el modelo realmente converja. Para confirmar el modelo hay convergencia, hay que seguir entrenando hasta que la pérdida haya se estabilizó.

Convergencia del modelo y curvas de pérdida

Cuando entrenes un modelo, verás una pérdida curva para determinar si el modelo tiene convergente. La curva de pérdida muestra cómo cambia la pérdida a medida que se entrena el modelo. A continuación, se indica lo que ocurre con una pérdida típica tiene una curva de crecimiento. La pérdida está en el eje Y y las iteraciones están en el eje X:

Figura 13. Gráfico de la curva de pérdida que muestra una disminución abrupta y, luego, una disminución moderada.

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

Puedes ver que la pérdida disminuye drásticamente durante las primeras iteraciones luego, disminuye gradualmente antes de aplanar la iteración número 1,000 marca. Después de 1,000 iteraciones, podemos estar seguros de que el modelo convergidos.

En las siguientes figuras, dibujamos el modelo en tres puntos durante el entrenamiento proceso: el principio, el medio y el final. Visualiza el estado del modelo en las instantáneas durante el proceso de entrenamiento consolida el vínculo entre los pesos y el sesgo, lo que reduce la pérdida y la convergencia del modelo.

En las cifras, usamos los pesos derivados y el sesgo en una iteración particular para representan al modelo. En el grafo con los datos y la instantánea del modelo, las líneas de pérdida azules del modelo a los datos muestran la cantidad de pérdida. El más largas son las líneas, más pérdida habrá.

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

Figura 14. Curva de pérdida y gráfico correspondiente del modelo, que se inclina hacia afuera de los datos.

Figura 14. Curva de pérdida e instantánea del modelo al comienzo del en el proceso de entrenamiento.

Alrededor de la iteración número 400, podemos ver que el descenso de gradientes y el sesgo que producen un mejor modelo.

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

Figura 15. Instantánea y curva de pérdida del modelo en la mitad del entrenamiento.

Alrededor de la iteración número mil, podemos ver que el modelo convergió lo que produce un modelo con la menor pérdida posible.

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

Figura 16: Curva de pérdida e instantánea del modelo cerca del final del entrenamiento el proceso de administración de recursos.

Ejercicio: Comprueba tus conocimientos

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

Funciones de convergencia y convexas

Las funciones de pérdida de los modelos lineales siempre producen convex. Como resultado de esta propiedad, cuando converge un modelo de regresión lineal, encontraste los pesos y el sesgo 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. La siguiente es la superficie de pérdida del conjunto de datos de millas por galón utilizados en los ejemplos anteriores. El peso está en el eje X, el sesgo está en el eje Y. y la pérdida está en el eje z:

Figura 17. Gráfico 3D de la superficie de pérdida.

Figura 17: 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 a las 5.54:

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

Figura 18: 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 se encuentra la pérdida mínima. Por lo tanto, e iteraciones solo causan que el descenso de gradientes mueva los valores de peso y sesgo en cantidades muy pequeñas alrededor del mínimo. Si graficamos las ponderaciones y los puntos de sesgo durante el descenso de gradientes, los puntos parecen una pelota rodando por una colina, finalmente se detiene en el punto en el que no hay más pendiente descendente.

Figura 19. Superficie de pérdida convexa en 3D con puntos de descenso de gradientes que se mueven al punto más bajo.

Figura 19: Gráfico de pérdida que muestra los puntos de descenso de gradientes que se detienen en el nivel más bajo en el gráfico.

Observa que los puntos de pérdida negros crean la forma exacta de la curva de pérdida: descenso abrupto antes de descender gradualmente hasta llegar a la en la superficie de pérdida.

Es importante tener en cuenta que el modelo casi nunca encuentra mínimo para cada peso y sesgo, pero encuentra un valor muy cercano a él. También es importante tener en cuenta que el mínimo para los pesos y el sesgo corresponden a cero pérdida, solo a un valor que produce la pérdida más baja para ese parámetro.

Usar 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 cómo si se ajusta bien a los datos:

Figura 20. Gráfico que muestra las libras en 1,000 s frente a las millas por galón, con el modelo ajustado a los datos.

Figura 20: 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 porque no hay otras ponderaciones ni sesgos generan un modelo con menor pérdida.