Metryki i walidacja w Keras
W poprzednim ćwiczeniu wytrenowaliśmy model do rozpoznawania liter języka migowego, ale trudno ocenić, na ile skutecznie. W tym ćwiczeniu postaramy się lepiej zinterpretować uzyskane wyniki. Ponieważ nie zastosowaliśmy podziału walidacyjnego, obserwowaliśmy poprawę wydajności wyłącznie na zbiorze treningowym – nie wiadomo więc, ile z tej poprawy wynikało z przeuczenia. Co więcej, bez podania metryki widzieliśmy jedynie spadki wartości funkcji straty, które same w sobie są trudne do interpretacji.
Zwróć uwagę, że keras zostało już zaimportowane z tensorflow.
To ćwiczenie jest częścią kursu
Wprowadzenie do TensorFlow w Pythonie
Instrukcje do ćwiczenia
- Ustaw pierwszą warstwę gęstą na 32 węzły, zastosuj funkcję aktywacji
sigmoidi zdefiniuj kształt wejścia jako (784,). - Użyj optymalizatora propagacji średniokwadratowej, straty kategorycznej entropii krzyżowej oraz metryki dokładności.
- Ustaw liczbę epok na 10 i przeznacz 10% zbioru danych na walidację.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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=____)