Metrici și validare cu Keras
Am antrenat un model pentru a prezice literele din limbajul semnelor în exercițiul anterior, însă nu este clar cât de bine am reușit acest lucru. În acest exercițiu, vom încerca să îmbunătățim interpretabilitatea rezultatelor noastre. Deoarece nu am folosit o diviziune de validare, am observat îmbunătățiri ale performanței doar pe setul de antrenament; nu este clar cât din aceasta s-a datorat supraantrenării (overfitting). În plus, deoarece nu am specificat o metrică, am văzut doar scăderi ale funcției de pierdere, care nu au o interpretare clară.
Reține că keras a fost deja importat pentru tine din tensorflow.
Acest exercițiu face parte din cursul
Introducere în TensorFlow în Python
Instrucțiuni pentru exercițiu
- Setează primul strat dens să aibă 32 de noduri, folosește funcția de activare
sigmoidși definește forma intrării ca (784,). - Folosește optimizatorul root mean square propagation, o pierdere de entropie încrucișată categorică și metrica de acuratețe.
- Setează numărul de epoci la 10 și folosește 10% din setul de date pentru validare.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Define sequential model
model = keras.Sequential()
# Define the first layer
model.add(keras.layers.Dense(____, ____, ____))
# Add activation function to classifier
model.add(keras.layers.Dense(4, activation='softmax'))
# Set the optimizer, loss function, and metrics
model.compile(optimizer='____', loss='____', metrics=['____'])
# Add the number of epochs and the validation split
model.fit(sign_language_features, sign_language_labels, epochs=____, validation_split=____)