LoslegenKostenlos loslegen

Early Stopping: Die Optimierung optimieren

Jetzt, wo du weißt, wie du die Leistung deines Modells während der Optimierung überwachst, kannst du Early Stopping nutzen, um die Optimierung zu beenden, wenn sie nicht mehr besser wird. Da die Optimierung automatisch stoppt, wenn sie nichts mehr bringt, kannst du in deinem Aufruf von .fit() auch einen hohen Wert für epochs setzen, wie Dan im Video gezeigt hat.

Das zu optimierende Modell wurde als model vorgegeben. Wie zuvor sind die Daten als predictors und target vorab geladen.

Diese Übung ist Teil des Kurses

Einführung in Deep Learning mit Python

Kurs anzeigen

Anleitung zur Übung

  • Importiere EarlyStopping aus tensorflow.keras.callbacks.
  • Kompiliere das Modell erneut mit 'adam' als optimizer, 'categorical_crossentropy' als Verlustfunktion und metrics=['accuracy'], um die Genauigkeit in jedem Durchlauf zu sehen.
  • Erzeuge ein EarlyStopping-Objekt namens early_stopping_monitor. Beende die Optimierung, wenn sich der Validierungsverlust zwei Durchläufe lang nicht verbessert hat, indem du den Parameter patience von EarlyStopping() auf 2 setzt.
  • Trainiere das Modell mit predictors und target. Setze epochs auf 30 und verwende einen Validierungsanteil von 0.3. Übergib zusätzlich [early_stopping_monitor] an den Parameter callbacks.

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
____
Code bearbeiten und ausführen