Actualizar varias veces los pesos
Ahora vas a realizar varias actualizaciones para mejorar drásticamente los pesos de tu modelo y ver cómo mejoran las predicciones con cada actualización.
Para mantener limpio tu código, hay una función precargada get_slope()
que toma como argumentos input_data
, target
y weights
. También existe una función get_mse()
que toma los mismos argumentos. Se han precargado las páginas input_data
, target
y weights
.
Esta red no tiene capas ocultas, y va directamente de la entrada (con 3 nodos) a un nodo de salida. Ten en cuenta que weights
es una única matriz.
También hemos precargado matplotlib.pyplot
, y el historial de errores se trazará después de que hayas realizado tus pasos de descenso gradiente.
Este ejercicio forma parte del curso
Introducción al Aprendizaje Profundo en Python
Instrucciones de ejercicio
- Utilizando un bucle
for
para actualizar iterativamente los pesos:- Calcula la pendiente utilizando la función
get_slope()
. - Actualiza los pesos utilizando una tasa de aprendizaje de
0.01
. - Calcula el error cuadrático medio (
mse
) con las ponderaciones actualizadas utilizando la funciónget_mse()
. - Añade
mse
amse_hist
.
- Calcula la pendiente utilizando la función
- Pulsa "Enviar respuesta" para visualizar
mse_hist
. ¿Qué tendencia observas?
Ejercicio interactivo práctico
Pruebe este ejercicio completando este 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()