LoslegenKostenlos loslegen

Overfitting erkennen

In dieser Übung arbeiten wir mit einem kleinen Teil der Beispiele aus dem ursprünglichen Datensatz mit Buchstaben der Gebärdensprache. Eine kleine Stichprobe in Kombination mit einem stark parametrisierten Modell führt in der Regel zu Overfitting. Das bedeutet, dass dein Modell sich nur die Klasse jedes einzelnen Beispiels merkt, statt Merkmale zu identifizieren, die auf viele Beispiele verallgemeinern.

Du erkennst Overfitting, indem du prüfst, ob der Validierungsverlust deutlich höher ist als der Trainingsverlust und ob er mit weiterem Training zunimmt. Bei einer kleinen Stichprobe und einer hohen Lernrate fällt es dem Modell schwer, zu einem Optimum zu konvergieren. Du setzt eine niedrige Lernrate für den Optimierer, was es einfacher macht, Overfitting zu erkennen.

Beachte, dass keras aus tensorflow importiert wurde.

Diese Übung ist Teil des Kurses

Einführung in TensorFlow mit Python

Kurs anzeigen

Anleitung zur Übung

  • Definiere in keras ein sequenzielles Modell mit dem Namen model.
  • Füge eine erste dichte Schicht mit 1024 Knoten, einer relu-Aktivierung und einer Input-Form von (784,) hinzu.
  • Setze die Lernrate auf 0,001.
  • Lege fest, dass fit() 50-mal über die vollständige Stichprobe iteriert und 50 % der Stichprobe für die Validierung verwendet.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Define sequential model
____

# Define the first layer
____

# Add activation function to classifier
model.add(keras.layers.Dense(4, activation='softmax'))

# Finish the model compilation
model.compile(optimizer=keras.optimizers.Adam(lr=____), 
              loss='categorical_crossentropy', metrics=['accuracy'])

# Complete the model fit operation
model.fit(sign_language_features, sign_language_labels, epochs=____, validation_split=____)
Code bearbeiten und ausführen