НачатьНачать бесплатно

Компиляция и обучение модели

Теперь у вас есть модель с 2 выходами. Скомпилируйте её с двумя функциями потерь: средней абсолютной ошибкой (MAE) для 'score_diff' и бинарной кросс-энтропией (известной также как logloss) для 'won'. Затем обучите модель, используя 'seed_diff' и 'pred' в качестве входных данных. В качестве выходных значений предсказывайте 'score_diff' и 'won'.

Эта модель использует счёт матчей, чтобы гарантировать: в близких играх (небольшая разница в счёте) вероятность победы ниже, чем в разгромных (большая разница в счёте).

Задача регрессии проще задачи классификации, поскольку MAE меньше штрафует модель за потери, вызванные случайностью. Например, если score_diff равно -1, а won равно 0, это означает, что команда team_1 немного не повезло и она проиграла с разницей в одно очко. Данные более простой задачи помогают модели найти решение для более сложной.

Это упражнение является частью курса

Продвинутое глубокое обучение с Keras

Посмотреть курс

Инструкции к упражнению

  • Импортируйте Adam из keras.optimizers.
  • Скомпилируйте модель с двумя функциями потерь: 'mean_absolute_error' и 'binary_crossentropy', используя оптимизатор Adam со скоростью обучения 0.01.
  • Обучите модель, передав столбцы 'seed_diff' и 'pred' в качестве входных данных, а столбцы 'score_diff' и 'won' — в качестве целевых переменных.
  • Используйте 10 эпох и размер батча 16384.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Import the Adam optimizer
____

# Compile the model with 2 losses and the Adam optimzer with a higher learning rate
model.____(loss=['____', '____'], optimizer=____)

# Fit the model to the tournament training data, with 2 inputs and 2 outputs
model.____(games_tourney_train[['____', '____']],
          [games_tourney_train[['____']], games_tourney_train[['____']]],
          epochs=____,
          verbose=True,
          batch_size=____)
Редактировать и запускать код