Realizar varias actualizaciones de los pesos
Ahora vas a realizar varias actualizaciones para mejorar considerablemente los pesos del modelo y ver cómo mejoran las predicciones con cada actualización.
Para mantener tu código limpio, hay una función precargada get_slope()
que toma input_data
, target
y weights
como argumentos. También hay una función get_mse()
que toma los mismos argumentos. input_data
, target
y weights
ya están precargados.
Esta red no tiene capas ocultas y va directamente desde la entrada (con 3 nodos) a un nodo de salida. Ten en cuenta que weights
es un único arreglo.
También hemos precargado matplotlib.pyplot
, y el historial de errores se gráficará después de que hayas completado los pasos de descenso por gradiente.
Este ejercicio forma parte del curso
Introducción al aprendizaje profundo en Python
Instrucciones del ejercicio
Uso de 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 los pesos actualizados utilizando la funciónget_mse()
.Añade
mse
amse_hist
.
Pulsa «Enviar respuesta» para visualizar
mse_hist
. ¿Qué tendencia observas?
Ejercicio interactivo práctico
Prueba este ejercicio completando 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()