Inizia subitoInizia gratis

Modificare i parametri di ottimizzazione

È il momento di metterti alla prova con l'ottimizzazione. Ora proverai a ottimizzare un modello con un learning rate molto basso, uno molto alto e uno “giusto”. Dopo l’esecuzione dell’esercizio, osserva i risultati ricordando che un valore basso della funzione di loss è positivo.

Per questi esercizi, abbiamo precaricato i valori di predictor e target dai modelli di classificazione precedenti (prevedere chi sarebbe sopravvissuto sul Titanic). È importante che l’ottimizzazione parta da zero ogni volta che cambi il learning rate, per confrontare in modo equo le prestazioni di ciascun valore. Per questo abbiamo creato una funzione get_new_model() che genera un modello non ottimizzato da ottimizzare.

Questo esercizio fa parte del corso

Introduzione al Deep Learning in Python

Visualizza corso

Istruzioni dell'esercizio

  • Importa SGD da tensorflow.keras.optimizers.
  • Crea una lista di learning rate con cui provare a ottimizzare, chiamata lr_to_test. I learning rate devono essere .000001, 0.01 e 1.
  • Usando un ciclo for per iterare su lr_to_test:
    • Usa la funzione get_new_model() per costruire un nuovo modello non ottimizzato.
    • Crea un ottimizzatore chiamato my_optimizer usando il costruttore SGD() con l'argomento keyword lr=lr.
    • Compila il modello. Imposta il parametro optimizer sull'oggetto SGD creato sopra e, dato che si tratta di un problema di classificazione, usa 'categorical_crossentropy' per il parametro loss.
    • Addestra il modello usando predictors e target.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# 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
    ____
Modifica ed esegui il codice