CommencezCommencez gratuitement

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

Voir le cours

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 fonction get_mse().
    • Ajoutez mse à mse_hist.
  • 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()
Modifier et exécuter le code