Modell zusammenstellen und anpassen
Jetzt, wo du ein Modell mit zwei Ausgängen hast, kompiliere es mit zwei Verlustfunktionen: mittlerer absoluter Fehler (MAE) für 'score_diff'
und binäre Kreuzentropie (auch bekannt als Logloss) für 'won'
. Dann passe das Modell mit „ 'seed_diff'
“ und „ 'pred'
“ als Eingaben an. Für die Ausgaben sag mal 'score_diff'
und 'won'
voraus.
Dieses Modell kann die Ergebnisse der Spiele nutzen, um sicherzustellen, dass knappe Spiele (kleine Punktedifferenz) niedrigere Gewinnwahrscheinlichkeiten haben als Spiele mit deutlichem Vorsprung (große Punktedifferenz).
Das Regressionsproblem ist einfacher als das Klassifizierungsproblem, weil MAE das Modell weniger für Verluste aufgrund von Zufällen bestraft. Wenn zum Beispiel „ score_diff
” -1 ist und „ won
” 0, heißt das, dass „ team_1
” Pech hatte und wegen eines einzigen Freiwurfs verloren hat. Die Daten für das einfache Problem helfen dem Modell, eine Lösung für das schwierige Problem zu finden.
Diese Übung ist Teil des Kurses
Fortgeschrittenes Deep Learning mit Keras
Anleitung zur Übung
- Importiere
Adam
auskeras.optimizers
. - Kompiliere das Modell mit zwei Verlusten: „
'mean_absolute_error'
“ und „'binary_crossentropy'
“ und nimm den Adam-Optimierer mit einer Lernrate von 0,01. - Pass das Modell an mit den Spalten „
'seed_diff'
“ und „'pred'
“ als Eingaben und den Spalten „'score_diff'
“ und „'won'
“ als Ziele. - Verwende 10 Epochen und eine Batchgröße von 16384.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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=____)