Ich benutze konvolutionelle neurale Netzwerke (über Keras) als mein Modell für die Mimikerkennung (55 Probanden). Mein Datensatz ist ziemlich hart und ungefähr 450k mit 7 Klassen. Ich habe mein Trainingssatz pro Thema und Klassenlabel ausgewogen.Overfitting nach der ersten Epoche
ich eine sehr einfache CNN-Architektur (mit Echtzeit-Daten Augmentation) implementiert:
model = Sequential()
model.add(Convolution2D(32, 3, 3, border_mode=borderMode, init=initialization, input_shape=(48, 48, 3)))
model.add(BatchNormalization())
model.add(PReLU())
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dense(256))
model.add(BatchNormalization())
model.add(PReLU())
model.add(Dropout(0.5))
model.add(Dense(nb_output))
model.add(Activation('softmax'))
Nach erster Epoche, nimmt meine Ausbildung Verlust während Validierung Verlust steigt ständig. Könnte es bald zu Überanpassungen kommen? Oder gibt es ein Problem mit meinen Daten verwirrend? Soll ich mein Testset auch ausbalancieren?
Wenn Sie denken, dass Überanpassung Ihr Problem ist, können Sie verschiedene Dinge versuchen, um zu überarbeiten, z. Datenerweiterung (https://keras.io/preprocessing/image/), mehr Dropout, einfachere Netzarchitektur und so weiter. –