Metriche e validazione con Keras
Nel precedente esercizio abbiamo addestrato un modello per prevedere le lettere del linguaggio dei segni, ma non è chiaro quanto bene abbia funzionato. In questo esercizio proveremo a rendere i risultati più interpretabili. Poiché non abbiamo usato una validation split, abbiamo osservato miglioramenti solo sul set di training; tuttavia, non è chiaro quanto ciò sia dovuto a overfitting. Inoltre, non avendo fornito una metrica, abbiamo visto solo la diminuzione della funzione di perdita, che non ha un’interpretazione immediata.
Nota: keras è già stato importato per te da tensorflow.
Questo esercizio fa parte del corso
Introduzione a TensorFlow in Python
Istruzioni dell'esercizio
- Imposta il primo livello denso con 32 nodi, funzione di attivazione
sigmoide input shape pari a (784,). - Usa l’ottimizzatore root mean square propagation, una loss categorical crossentropy e la metrica accuracy.
- Imposta il numero di epoche a 10 e usa il 10% dell’insieme di dati per la validazione.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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=____)