Frühes Beenden: Die Optimierung optimieren
Jetzt, wo du weißt, wie du die Leistung deines Modells während der Optimierung im Auge behalten kannst, kannst du die Optimierung mit Early Stopping stoppen, wenn sie nicht mehr bringt. Da die Optimierung automatisch stoppt, wenn sie nicht mehr hilft, kannst du auch einen hohen Wert für „ epochs
“ in deinem Aufruf von „ .fit()
“ setzen, wie Dan im Video gezeigt hat.
Das Modell, das du optimieren wirst, wurde als „ model
“ angegeben. Wie bisher sind die Daten als „ predictors
“ und „ target
“ vorab geladen.
Diese Übung ist Teil des Kurses
Einführung in Deep Learning mit Python
Anleitung zur Übung
- Importiere
EarlyStopping
austensorflow.keras.callbacks
. - Kompiliere das Modell noch mal mit „
'adam'
” als „optimizer
”, „'categorical_crossentropy'
” als Verlustfunktion und „metrics=['accuracy']
”, um die Genauigkeit in jeder Epoche zu sehen. - Erstell ein „
EarlyStopping
”-Objekt namens „early_stopping_monitor
”. Beende die Optimierung, wenn sich der Validierungsverlust über zwei Epochen nicht verbessert hat, indem du den Parameter „patience
“ von „EarlyStopping()
“ auf „2
“ setzt. - Pass das Modell mit den Daten „
predictors
“ und „target
“ an.30
Gib die Anzahl der zu verifizierenden E-Mail-Adressen als „epochs
“ an und verwende eine Validierungsteilung von „0.3
“. Außerdem musst du „[early_stopping_monitor]
“ an den Parameter „callbacks
“ weitergeben.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Import EarlyStopping
____
# Save the number of columns in predictors: n_cols
n_cols = predictors.shape[1]
input_shape = (n_cols,)
# Specify the model
model = Sequential()
model.add(Dense(100, activation='relu', input_shape = input_shape))
model.add(Dense(100, activation='relu'))
model.add(Dense(2, activation='softmax'))
# Compile the model
____
# Define early_stopping_monitor
early_stopping_monitor = ____
# Fit the model
____