ÎncepețiÎncepe gratuit

Detectarea supraantrenării

În acest exercițiu, vom lucra cu un subset mic de exemple din setul de date original cu litere din limbajul semnelor. Un eșantion redus, combinat cu un model cu mulți parametri, duce în general la supraantrenare (overfitting). Aceasta înseamnă că modelul va memora pur și simplu clasa fiecărui exemplu, în loc să identifice caracteristici care să se generalizeze la mai multe exemple.

Vei detecta supraantrenarea verificând dacă pierderea pe setul de validare este semnificativ mai mare decât pierderea pe setul de antrenament și dacă aceasta crește pe măsură ce antrenarea continuă. Cu un eșantion mic și o rată de învățare ridicată, modelul va avea dificultăți în a converge spre un optim. Vei seta o rată de învățare scăzută pentru optimizator, ceea ce va facilita identificarea supraantrenării.

Reține că keras a fost importat din tensorflow.

Acest exercițiu face parte din cursul

Introducere în TensorFlow în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Definește un model secvențial în keras cu numele model.
  • Adaugă un prim strat dens cu 1024 de noduri, o activare relu și o formă de intrare de (784,).
  • Setează rata de învățare la 0.001.
  • Configurează operația fit() să itereze peste întregul eșantion de 50 de ori și să folosească 50% din eșantion în scop de validare.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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=____)
Editează și rulează codul