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
Instrucțiuni pentru exercițiu
- Definește un model secvențial în
kerascu numelemodel. - 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=____)