Ich versuche, tiefes Lernen zu verwenden, um Einkommen von 15 selbst berichteten Attributen von einer Dating-Site vorherzusagen.Höhere Validierungsgenauigkeit, als Training Accurracy usin Tensor und Keras
Wir erhalten ziemlich merkwürdige Ergebnisse, bei denen unsere Validierungsdaten eine bessere Genauigkeit und einen geringeren Verlust haben als unsere Trainingsdaten. Und dies ist konsistent über die verschiedenen Größen versteckter Ebenen hinweg. Dies ist unser Modell:
for hl1 in [250, 200, 150, 100, 75, 50, 25, 15, 10, 7]:
def baseline_model():
model = Sequential()
model.add(Dense(hl1, input_dim=299, kernel_initializer='normal', activation='relu', kernel_regularizer=regularizers.l1_l2(0.001)))
model.add(Dropout(0.5, seed=seed))
model.add(Dense(3, kernel_initializer='normal', activation='sigmoid'))
model.compile(loss='categorical_crossentropy', optimizer='adamax', metrics=['accuracy'])
return model
history_logs = LossHistory()
model = baseline_model()
history = model.fit(X, Y, validation_split=0.3, shuffle=False, epochs=50, batch_size=10, verbose=2, callbacks=[history_logs])
Und dies ist ein Beispiel für die Richtigkeit und Verluste: Accuracy with hidden layer of 250 neurons und the loss.
Wir haben versucht, Regularisierung und Dropout zu entfernen, was wie erwartet in Überanpassung endete (Training acc: ~ 85%). Wir haben sogar versucht, die Lernrate drastisch zu reduzieren, mit ähnlichen Ergebnissen.
Hat jemand ähnliche Ergebnisse gesehen?
Also sagen Sie, dass, wenn val_acc etwas höher als trn_acc ist ok ist? –