Realizar múltiples actualizaciones de pesos
Ahora vas a hacer múltiples actualizaciones para mejorar drásticamente los pesos de tu modelo y ver cómo mejoran las predicciones en cada actualización.
Para mantener tu código limpio, tienes precargada la función get_slope() que recibe input_data, target y weights como argumentos. También hay una función get_mse() que recibe los mismos argumentos. input_data, target y weights ya están precargados.
Esta red no tiene capas ocultas y va directamente de la entrada (con 3 nodos) a un nodo de salida. Observa que weights es un único array.
También hemos precargado matplotlib.pyplot, y el historial de error se representará una vez que hayas hecho tus pasos de descenso por gradiente.
Este ejercicio forma parte del curso
Introducción al Deep Learning en Python
Instrucciones del ejercicio
- Usando un bucle
forpara actualizar los pesos de forma iterativa:- Calcula la pendiente usando la función
get_slope(). - Actualiza los pesos usando una tasa de aprendizaje de
0.01. - Calcula el error cuadrático medio (
mse) con los pesos actualizados usando la funciónget_mse(). - Añade
mseamse_hist.
- Calcula la pendiente usando la función
- Pulsa "Enviar respuesta" para visualizar
mse_hist. ¿Qué tendencia observas?
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
n_updates = 20
mse_hist = []
# Iterate over the number of updates
for i in range(n_updates):
# Calculate the slope: slope
slope = ____(____, ____, ____)
# Update the weights: weights
weights = ____ - ____ * ____
# Calculate mse with new weights: mse
mse = ____(____, ____, ____)
# Append the mse to mse_hist
____
# Plot the mse history
plt.plot(mse_hist)
plt.xlabel('Iterations')
plt.ylabel('Mean Squared Error')
plt.show()