6

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?

+0

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. –

Antwort

3

Es könnte sein, dass die Aufgabe leicht zu lösen ist und nach einer Epoche hat das Modell genug gelernt, um es zu lösen, und das Training für mehr Epochen erhöht nur die Überanpassung.

Aber wenn Sie das Zugset und nicht das Testset ausbalanciert haben, kann es sein, dass Sie für eine Aufgabe trainieren (Ausdruckserkennung auf gleichmäßig verteilten Daten) und dann testen Sie eine etwas andere Aufgabe, weil Das Testset ist nicht ausgeglichen.

+0

Zusätzlich mischte ich mein Testset vor dem Test. Wie auch immer, würde das Auswuchten des Test-Sets helfen, meine Testgenauigkeit zu erhöhen? – Renz

+0

Das Mischen der Testgruppe hat keinen Einfluss auf die Testgenauigkeit, da die von Ihnen verwendete Leistungsmetrik nicht von der Reihenfolge der Proben abhängt. Was die zweite Frage anbelangt, wird das Auswuchten Ihres Test-Sets Ihre Testgenauigkeit erhöhen, WENN die geringe Genauigkeit ein Problem des Zuges ist und Test-Sets nicht von einer ähnlichen Verteilung sind. Wenn es ein Problem der großen Überanpassung ist, wird es nicht viel helfen. – gcucurull

+0

Danke, ich nehme das zur Kenntnis, klingt klar für mich! :) – Renz

Verwandte Themen