Začněte nyníZačněte zdarma

Změna parametrů optimalizace

Teď si vyzkoušíš optimalizaci v praxi. Budeme testovat model se třemi různými hodnotami learning rate: velmi nízkou, velmi vysokou a „akorát správnou". Po spuštění cvičení si prohlédni výsledky – pamatuj, že čím nižší hodnota ztrátové funkce, tím lépe.

Pro toto cvičení jsme předem načetli prediktory a cílové hodnoty z tvých předchozích klasifikačních modelů (předpovídaly přežití na Titaniku). Aby bylo srovnání fér, měla by optimalizace pokaždé začínat od nuly. Proto jsme připravili funkci get_new_model(), která vytvoří nový, neoptimalizovaný model.

Toto cvičení je součástí kurzu

Úvod do deep learningu v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Importuj SGD z tensorflow.keras.optimizers.
  • Vytvoř seznam learning rates, které chceš otestovat, a pojmenuj ho lr_to_test. Hodnoty v něm by měly být .000001, 0.01 a 1.
  • Pomocí cyklu for procházej hodnoty v lr_to_test:
    • Pomocí funkce get_new_model() sestav nový, neoptimalizovaný model.
    • Vytvoř optimizer my_optimizer pomocí konstruktoru SGD() s argumentem lr=lr.
    • Zkompiluj model. Parametr optimizer nastav na SGD objekt, který jsi vytvořil/a výše, a protože jde o klasifikační úlohu, použij pro parametr loss hodnotu 'categorical_crossentropy'.
    • Natrénuj model na datech predictors a target.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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
    ____
Upravit a spustit kód