Métriques et validation avec Keras
Nous avons entraîné un modèle pour prédire des lettres de langue des signes dans l’exercice précédent, mais il n’est pas évident d’évaluer son succès. Dans cet exercice, nous allons améliorer l’interprétabilité de nos résultats. Comme nous n’avons pas utilisé de fraction de validation, nous n’avons observé des améliorations de performance que sur l’ensemble d’entraînement ; il est toutefois difficile de savoir quelle part relève du surapprentissage. De plus, comme nous n’avons pas fourni de métrique, nous n’avons vu que des diminutions de la fonction de perte, qui ne se traduisent pas clairement.
Notez que keras a été importé pour vous depuis tensorflow.
Cet exercice fait partie du cours
Introduction à TensorFlow en Python
Instructions
- Définissez la première couche dense avec 32 nœuds, une fonction d’activation
sigmoid, et une forme d’entrée de (784,). - Utilisez l’optimiseur Root Mean Square Propagation, une perte de type categorical crossentropy et la métrique accuracy.
- Fixez le nombre d’epochs à 10 et utilisez 10 % du jeu de données pour la validation.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Define sequential model
model = keras.Sequential()
# Define the first layer
model.add(keras.layers.Dense(____, ____, ____))
# Add activation function to classifier
model.add(keras.layers.Dense(4, activation='softmax'))
# Set the optimizer, loss function, and metrics
model.compile(optimizer='____', loss='____', metrics=['____'])
# Add the number of epochs and the validation split
model.fit(sign_language_features, sign_language_labels, epochs=____, validation_split=____)