ÎncepețiÎncepe gratuit

Modificarea parametrilor de optimizare

A venit momentul să pui mâna pe cod și să experimentezi cu optimizarea. Vei încerca să optimizezi un model cu o rată de învățare foarte mică, una foarte mare și una „potrivită". Urmărește rezultatele după rularea exercițiului – reține că o valoare mică a funcției de pierdere este un semn bun.

Pentru aceste exerciții, am preîncărcat valorile predictorilor și ale variabilei țintă din modelele tale de clasificare anterioare (predicția supraviețuitorilor de pe Titanic). Pentru o comparație corectă între ratele de învățare, optimizarea trebuie să pornească de la zero de fiecare dată când schimbi rata. De aceea, am creat funcția get_new_model(), care generează un model neoptimizat, gata de antrenare.

Acest exercițiu face parte din cursul

Introducere în Deep Learning în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Importă SGD din tensorflow.keras.optimizers.
  • Creează o listă cu ratele de învățare pe care vrei să le testezi, numită lr_to_test. Lista trebuie să conțină valorile .000001, 0.01 și 1.
  • Folosind o buclă for pentru a itera peste lr_to_test:
    • Folosește funcția get_new_model() pentru a construi un model nou, neoptimizat.
    • Creează un optimizer numit my_optimizer folosind constructorul SGD() cu argumentul cheie lr=lr.
    • Compilează modelul. Setează parametrul optimizer la obiectul SGD creat anterior și, deoarece este o problemă de clasificare, folosește 'categorical_crossentropy' pentru parametrul loss.
    • Antrenează modelul folosind predictors și target.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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
    ____
Editează și rulează codul