IniziaInizia gratis

Rilevamento dell'overfitting

In questo esercizio lavoreremo con un piccolo sottoinsieme degli esempi del dataset originale delle lettere della lingua dei segni. Un campione ridotto, unito a un modello con molti parametri, porta in genere all'overfitting. Questo significa che il tuo modello memorizzerà semplicemente la classe di ogni esempio invece di individuare caratteristiche che si generalizzano a molti esempi.

Rileverai l'overfitting verificando se la loss sul campione di validazione è significativamente più alta della loss sul campione di addestramento e se aumenta con ulteriore training. Con un campione piccolo e un learning rate elevato, il modello farà fatica a convergere a un ottimo. Imposterai un learning rate basso per l'ottimizzatore, il che renderà più semplice identificare l'overfitting.

Nota che keras è stato importato da tensorflow.

Questo esercizio fa parte del corso

Introduzione a TensorFlow in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Definisci un modello sequenziale in keras chiamato model.
  • Aggiungi un primo livello denso con 1024 nodi, attivazione relu e una forma di input (784,).
  • Imposta il learning rate a 0.001.
  • Imposta l'operazione fit() per iterare sull'intero campione 50 volte e usare il 50% del campione per la validazione.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Define sequential model
____

# Define the first layer
____

# Add activation function to classifier
model.add(keras.layers.Dense(4, activation='softmax'))

# Finish the model compilation
model.compile(optimizer=keras.optimizers.Adam(lr=____), 
              loss='categorical_crossentropy', metrics=['accuracy'])

# Complete the model fit operation
model.fit(sign_language_features, sign_language_labels, epochs=____, validation_split=____)
Modifica ed esegui il codice