1. Nauka
  2. /
  3. Kursy
  4. /
  5. Wprowadzenie do uczenia głębokiego w Pythonie

Connected

ćwiczenie

Zmiana parametrów optymalizacji

Czas wziąć się do pracy i pobawić się optymalizacją. Sprawdzisz teraz, jak model zachowuje się przy bardzo niskim, bardzo wysokim i „odpowiednim" współczynniku uczenia. Po uruchomieniu ćwiczenia warto przyjrzeć się wynikom – pamiętaj, że niska wartość funkcji straty to dobry znak.

Na potrzeby tego ćwiczenia wczytaliśmy wcześniej dane wejściowe i wartości docelowe z poprzednich modeli klasyfikacji (przewidujących, kto przeżył katastrofę Titanica). Aby uczciwie porównać różne współczynniki uczenia, optymalizacja powinna zaczynać się od zera przy każdej zmianie tego współczynnika. Dlatego przygotowaliśmy funkcję get_new_model(), która tworzy nowy, nieoptymalizowany model.

Instrukcje

100 XP
  • Zaimportuj SGD z tensorflow.keras.optimizers.
  • Utwórz listę współczynników uczenia do przetestowania o nazwie lr_to_test. Powinna zawierać wartości .000001, 0.01 i 1.
  • Używając pętli for do iteracji po lr_to_test:
    • Użyj funkcji get_new_model(), aby zbudować nowy, nieoptymalizowany model.
    • Utwórz optymalizator o nazwie my_optimizer, używając konstruktora SGD() z argumentem kluczowym lr=lr.
    • Skompiluj model. Ustaw parametr optimizer na obiekt SGD utworzony powyżej, a ponieważ jest to problem klasyfikacji, użyj 'categorical_crossentropy' dla parametru loss.
    • Dopasuj model, używając predictors i target.