Компиляция и обучение модели
Теперь у вас есть модель с 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=____)