Začněte nyníZačněte zdarma

Detekce přetrénování

V tomto cvičení budeme pracovat s malou podmnožinou příkladů z původního datasetu písmen znakové řeči. Malý vzorek dat v kombinaci s výrazně přeparametrizovaným modelem zpravidla vede k přetrénování (overfitting). To znamená, že si model jednoduše zapamatuje třídu každého příkladu, místo aby identifikoval příznaky, které se dobře zobecňují na nová data.

Přetrénování odhalíš tak, že zkontrololuješ, jestli je ztrátová funkce na validační sadě výrazně vyšší než na trénovací sadě a jestli s dalším trénováním roste. Při malém vzorku a vysoké rychlosti učení se model těžko konverguje k optimu. Nastavíš proto nízkou rychlost učení optimalizátoru, což přetrénování usnadní identifikovat.

Počítej s tím, že keras je již naimportován z tensorflow.

Toto cvičení je součástí kurzu

Úvod do TensorFlow v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Definuj sekvenční model v keras s názvem model.
  • Přidej první hustou vrstvu s 1024 neurony, aktivační funkcí relu a vstupním tvarem (784,).
  • Nastav rychlost učení na 0.001.
  • Nastav operaci fit() tak, aby provedla 50 průchodů celým datasetem a 50 % vzorku použila k validaci.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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=____)
Upravit a spustit kód