Das Problem liegt in der Tatsache, dass jede Metrik in Keras
in einer folgenden Art und Weise ausgewertet:
- Für jeden
batch
ein metrischer Wert bewertet wird.
- Ein aktueller Wert des Verlusts (nach
k
Chargen entspricht einem Mittelwert Ihrer Metrik über berechnete k
Chargen).
- Das Endergebnis wird als Mittelwert aller Verluste erhalten, die für alle Chargen berechnet wurden.
Die meisten der beliebtesten Metriken (wie mse
, categorical_crossentropy
, mae
) usw. - als Mittelwert der Verlustwert jedes Beispiels - eine Eigenschaft, die eine solche Bewertung mit einem richtigen Ergebnis endet. Aber im Fall von Würfelkoeffizient - ein Mittelwert seines Wertes über alle Chargen hinweg ist nicht gleich dem tatsächlichen Wert, der für ein ganzes Dataset berechnet wurde und model.evaluate()
eine solche Berechnungsweise verwendet - dies ist die direkte Ursache für Ihr Problem.
Bitte teilen Sie mehr Details über Ihre Daten, Ihren Code und Ihren Zug/Validieren/Test Split. – petezurich