Effectuer plusieurs mises à jour des poids
Vous allez maintenant effectuer plusieurs mises à jour afin d'améliorer considérablement les poids de votre modèle et de voir comment les prédictions s'améliorent à chaque mise à jour.
Pour garder votre code clair, une fonction get_slope() préchargée accepte input_data, target et weights comme arguments. Il y a aussi une fonction get_mse() qui prend les mêmes arguments. Les objets input_data, target et weights ont été préchargés.
Ce réseau n'a aucune couche cachée et passe directement de l'entrée (avec 3 nœuds) à un nœud de sortie. Remarquez que weights est un seul tableau.
Nous avons aussi préchargé matplotlib.pyplot, et l'historique des erreurs sera tracé après vos étapes de descente de gradient.
Cette activité fait partie du cours
Introduction à Deep Learning en Python
Instructions de l’exercice
- À l'aide d'une boucle
for, mettez à jour les poids de façon itérative :- Calculez la pente avec la fonction
get_slope(). - Mettez à jour les poids en utilisant un taux d'apprentissage de
0.01. - Calculez l'erreur quadratique moyenne (
mse) avec les poids mis à jour en utilisant la fonctionget_mse(). - Ajoutez
mseàmse_hist.
- Calculez la pente avec la fonction
- Cliquez sur "Soumettre la réponse" pour visualiser
mse_hist. Quelle tendance observez-vous ?
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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()