Modification des paramètres d'optimisation
Il est temps de vous lancer dans l'optimisation. Vous allez maintenant essayer d'optimiser un modèle avec un taux d'apprentissage très faible, un taux d'apprentissage très élevé et un taux d'apprentissage « idéal ». Veuillez examiner les résultats après avoir effectué cet exercice, en gardant à l'esprit qu'une valeur faible pour la fonction de perte est bonne.
Pour ces exercices, nous avons préchargé les prédicteurs et les valeurs cibles de vos modèles de classification précédents (prédire qui survivrait au naufrage du Titanic). Il est recommandé de recommencer l'optimisation à partir de zéro chaque fois que vous modifiez le taux d'apprentissage, afin de pouvoir comparer équitablement les résultats obtenus avec chaque taux d'apprentissage. Nous avons donc créé une fonction get_new_model()
qui crée un modèle non optimisé à optimiser.
Cet exercice fait partie du cours
Introduction au Deep Learning avec Python
Instructions
Importez
SGD
à partir detensorflow.keras.optimizers
.Créez une liste des taux d'apprentissage à optimiser, appelée «
lr_to_test
». Les taux d'apprentissage doivent être les suivants :.000001
,0.01
et1
.Utilisation d'une boucle «
for
» pour parcourir «lr_to_test
» :Veuillez utiliser la fonction «
get_new_model()
» pour créer un nouveau modèle non optimisé.Créez un optimiseur appelé «
my_optimizer
» à l'aide du constructeur «SGD()
» avec l'argument clé «lr=lr
».Compilez votre modèle. Définissez le paramètre «
optimizer
» sur l'objet SGD que vous avez créé précédemment. Comme il s'agit d'un problème de classification, utilisez «'categorical_crossentropy'
» pour le paramètre «loss
».Ajustez votre modèle à l'aide des liens suivants :
predictors
ettarget
.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Import the SGD optimizer
____
# Create list of learning rates: lr_to_test
lr_to_test = ____
# Loop over learning rates
for lr in lr_to_test:
print('\n\nTesting model with learning rate: %f\n'%lr )
# Build new model to test, unaffected by previous models
model = ____
# Create SGD optimizer with specified learning rate: my_optimizer
my_optimizer = ____
# Compile the model
____
# Fit the model
____