CommencerCommencer gratuitement

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

Afficher le cours

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 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 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()
Modifier et exécuter le code