Effectuer plusieurs mises à jour des poids
Vous allez maintenant effectuer plusieurs mises à jour afin d’améliorer nettement les poids de votre modèle et d’observer comment les prédictions s’améliorent à chaque itération.
Pour garder un code clair, une fonction get_slope() est préchargée ; elle prend input_data, target et weights comme arguments. Il existe aussi une fonction get_mse() qui prend les mêmes arguments. Les variables input_data, target et weights ont été préchargées.
Ce réseau n’a aucune couche cachée ; il va directement de l’entrée (avec 3 nœuds) à un nœud de sortie. Notez que weights est un unique tableau.
Nous avons également préchargé matplotlib.pyplot, et l’historique des erreurs sera tracé une fois vos étapes de descente de gradient réalisées.
Cet exercice fait partie du cours
Introduction au Deep Learning en Python
Instructions
- À 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 avec 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 cet exemple de code.
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()