Entraîner un modèle linéaire
Dans cet exercice, nous reprenons là où le précédent s'est terminé. 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 tentera de se rapprocher de l'optimum à chaque étape, mais qu'il faudra de nombreuses étapes pour l'atteindre. Vous devez donc exécuter l'opération à répétition.
Cette activité fait partie du cours
Introduction à TensorFlow en Python
Instructions de l’exercice
- 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 bons arguments comme fonction lambda à.minimize(). - Fournissez la liste des variables à mettre à jour à
var_list.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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)