Kom igångKom igång gratis

Identifiering av överanpassning

I den här övningen arbetar vi med en liten delmängd av exemplen från det ursprungliga teckensproråksdatasetet. En liten datamängd kombinerad med en kraftigt parametriserad modell leder generellt till överanpassning. Det innebär att modellen helt enkelt memorerar klassen för varje exempel i stället för att identifiera särdrag som generaliserar väl.

Du identifierar överanpassning genom att kontrollera om förlusterna på valideringsdata är väsentligt högre än förlusterna på träningsdata, och om de ökar med fortsatt träning. Med en liten datamängd och en hög inlärningshastighet får modellen svårt att konvergera mot ett optimum. Du ställer in en låg inlärningshastighet för optimeraren, vilket gör det lättare att identifiera överanpassning.

Observera att keras har importerats från tensorflow.

Den här övningen är en del av kursen

Introduktion till TensorFlow i Python

Visa kurs

Övningsinstruktioner

  • Definiera en sekventiell modell i keras med namnet model.
  • Lägg till ett första tätt lager med 1 024 noder, en relu-aktiveringsfunktion och en inmatningsform på (784,).
  • Ange inlärningshastigheten till 0.001.
  • Konfigurera fit()-anropet så att det itererar över hela datamängden 50 gånger och använder 50 % av datamängden för validering.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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=____)
Redigera och kör kod