Entraîner un modèle linéaire
Dans cet exercice, nous reprenons là où le précédent s’est arrêté. L’ordonnée à l’origine et la pente, intercept et slope, ont été définies et initialisées. De plus, une fonction a été définie, loss_function(intercept, slope), qui calcule la perte à partir des données et des variables du modèle.
Vous allez maintenant définir une opération d’optimisation sous le nom opt. Vous allez ensuite entraîner un modèle linéaire univarié en minimisant la perte pour trouver les valeurs optimales de intercept et slope. Notez que l’opération opt cherchera à se rapprocher de l’optimum à chaque étape, mais nécessitera de nombreuses itérations pour l’atteindre. Vous devez donc exécuter l’opération de manière répétée.
Cet exercice fait partie du cours
Introduction à TensorFlow en Python
Instructions
- Initialisez un optimiseur Adam nommé
optavec un taux d’apprentissage de 0,5. - Appliquez la méthode
.minimize()à l’optimiseur. - Passez
loss_function()avec les arguments appropriés sous forme de fonction lambda à.minimize(). - Indiquez la liste des variables à mettre à jour via
var_list.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Initialize an Adam optimizer
opt = keras.optimizers.____(0.5)
for j in range(100):
# Apply minimize, pass the loss function, and supply the variables
opt.____(lambda: ____(____, ____), var_list=[____, ____])
# Print every 10th value of the loss
if j % 10 == 0:
print(loss_function(intercept, slope).numpy())
# Plot data and regression line
plot_results(intercept, slope)