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:
Calcula la pérdida con el peso y el sesgo actuales.
Determina la dirección para mover los pesos y el sesgo que reducen la pérdida.
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.
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: 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 |
- Para comenzar el entrenamiento, el modelo establece el peso y el sesgo en cero:
- Calcula la pérdida del ECM con los parámetros del modelo actual:
- Calcular la pendiente de la tangente a la función de pérdida en cada peso y el sesgo:
- 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:
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.
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.
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: 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 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. 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 e instantánea del modelo cerca del final del entrenamiento el proceso de administración de recursos.
Ejercicio: Comprueba tus conocimientos
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: 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: 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: 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: 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.