ПочатиПочніть безкоштовно

Зміна параметрів оптимізації

Час попрактикуватися з оптимізацією. Ви спробуєте оптимізувати модель із дуже низькою швидкістю навчання, дуже високою та «саме тією». Після виконання вправи перегляньте результати й пам'ятайте: менше значення функції втрат — краще.

У цих вправах ми заздалегідь підвантажили предиктори та ціль із ваших попередніх моделей класифікації (прогнозування, хто вижив на «Титаніку»). Потрібно щоразу починати оптимізацію з нуля, коли ви змінюєте швидкість навчання, щоб чесно порівняти результати для кожного значення. Тому ми створили функцію get_new_model(), яка повертає не оптимізовану модель для подальшої оптимізації.

Ця вправа є частиною курсу

Вступ до Deep Learning у Python

Переглянути курс

Інструкції до вправи

  • Імпортуйте SGD з tensorflow.keras.optimizers.
  • Створіть список швидкостей навчання для перевірки під назвою lr_to_test. Він має містити значення .000001, 0.01 і 1.
  • Використайте цикл for, щоб ітерувати lr_to_test:
    • Скористайтеся функцією get_new_model(), щоб побудувати нову, ще не оптимізовану модель.
    • Створіть оптимізатор my_optimizer, використавши конструктор SGD() із параметром lr=lr.
    • Скомпілюйте модель. Встановіть параметр optimizer як об'єкт SGD, створений вище, а оскільки це задача класифікації, для параметра loss використайте 'categorical_crossentropy'.
    • Навчіть модель, використовуючи predictors і target.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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
    ____
Редагувати та запускати код