In Keras (mit Tensorflow-Backend), ist das aktuelle Eingabemuster für meine benutzerdefinierte Verlustfunktion verfügbar?Keras benutzerdefinierte Verlustfunktion: Zugriff auf das aktuelle Eingabemuster
Das aktuelle Eingabemuster ist als der Eingabevektor definiert, der zum Erstellen der Vorhersage verwendet wird. Betrachten Sie beispielsweise Folgendes: X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42, shuffle=False)
. Dann ist das aktuelle Eingabemuster der aktuelle X_Verstärkungsvektor, der mit y_train assoziiert ist (der in der Verlustfunktion als y_true bezeichnet wird).
Beim Entwerfen einer benutzerdefinierten Verlustfunktion möchte ich einen Wert optimieren/minimieren, der Zugriff auf das aktuelle Eingabemuster erfordert, nicht nur auf die aktuelle Vorhersage.
Ich habe einen Blick durch https://github.com/fchollet/keras/blob/master/keras/losses.py
ich eine individuelle Verlustfunktion zu erzeugen, durch „Cost function that isn't just y_pred, y_true?“
Ich bin auch vertraut mit den vorherigen Beispielen sah genommen haben auch:
import keras.backend as K
def customLoss(y_true,y_pred):
return K.sum(K.log(y_true) - K.log(y_pred))
Vermutlich sind (y_true,y_pred)
an anderer Stelle definiert. Ich habe den Quellcode ohne Erfolg durchgesehen und frage mich, ob ich das aktuelle Eingabemuster selbst definieren muss oder ob dies bereits für meine Verlustfunktion verfügbar ist.
Können Sie angeben, was Sie mit dem aktuellen Eingabemuster meinen? – blackplant
Wenn Sie folgendes berücksichtigen: "X_Zug, X_Test, y_Zug, y_test = Zug_Test_Split (X, y, Testgröße = 0.33, Zufallszustand = 42, Zufall = Falsch)". Dann ist das aktuelle Eingabemuster der aktuelle X_Verstärkungsvektor, der mit y_train assoziiert ist (der in der Verlustfunktion als y_true bezeichnet wird). – jtromans