CommencerCommencez gratuitement

Coder l’impact des variations de poids sur la précision

Vous allez maintenant modifier des poids dans un réseau réel et voir comment cela affecte la précision du modèle !

Examinez le réseau de neurones suivant : Ch2Ex4

Ses poids ont été préchargés sous le nom weights_0. Votre tâche dans cet exercice est de mettre à jour un seul poids dans weights_0 pour créer weights_1, de façon à obtenir une prédiction parfaite (où la valeur prédite est égale à target_actual : 3).

Utilisez papier et crayon si nécessaire pour tester différentes combinaisons. Vous allez utiliser la fonction predict_with_network(), qui prend un tableau de données comme premier argument, et les poids comme second argument.

Cet exercice fait partie du cours

<cours>Introduction au Deep Learning en Python</cours>
Voir le cours

Instructions de l’exercice

  • Créez un dictionnaire de poids appelé weights_1 où vous avez modifié 1 poids par rapport à weights_0 (vous n’avez besoin d’effectuer qu’une seule modification à weights_0 pour obtenir la prédiction parfaite).
  • Obtenez des prédictions avec les nouveaux poids en utilisant la fonction predict_with_network() avec input_data et weights_1.
  • Calculez l’erreur pour les nouveaux poids en soustrayant target_actual de model_output_1.
  • Cliquez sur "Soumettre la réponse" pour voir comment les erreurs se comparent !

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# The data point you will make a prediction for
input_data = np.array([0, 3])

# Sample weights
weights_0 = {'node_0': [2, 1],
             'node_1': [1, 2],
             'output': [1, 1]
            }

# The actual target value, used to calculate the error
target_actual = 3

# Make prediction using original weights
model_output_0 = predict_with_network(input_data, weights_0)

# Calculate error: error_0
error_0 = model_output_0 - target_actual

# Create weights that cause the network to make perfect prediction (3): weights_1
weights_1 = {'node_0': [____, ____],
             'node_1': [____, ____],
             'output': [____, ____]
            }

# Make prediction using new weights: model_output_1
model_output_1 = ____

# Calculate error: error_1
error_1 = ____ - ____

# Print error_0 and error_1
print(error_0)
print(error_1)
Modifier et exécuter le code