Die Antwort lautet ja, aber Sie müssen es richtig definieren.
Die Kreuzentropie wird anhand von Wahrscheinlichkeitsverteilungen definiert, nicht anhand einzelner Werte. Für diskrete Verteilungen und gilt:
q H ( p , q ) = - ∑ y p ( y ) log q ( y )pq
H.( p , q) = - ∑yp ( y) logq( y)
Wenn der Kreuzentropieverlust mit "harten" Klassenbeschriftungen verwendet wird, bedeutet dies, dass als bedingte empirische Verteilung über Klassenbeschriftungen behandelt wird. Dies ist eine Verteilung, bei der die Wahrscheinlichkeit 1 für das beobachtete Klassenlabel und 0 für alle anderen ist. ist die vom Klassifizierer gelernte bedingte Verteilung (Wahrscheinlichkeit der Klassenbezeichnung bei gegebener Eingabe). Für einen einzelnen beobachteten Datenpunkt mit Eingabe und Klasse können wir sehen, dass sich der obige Ausdruck auf den Standardprotokollverlust reduziert (der über alle Datenpunkte gemittelt würde):q x 0 y 0pqx0y0
- ∑yich{ y= y0} logq( y∣ x0) = - logq( y0∣ x0)
Hier ist die Indikatorfunktion, die 1 ist, wenn das Argument wahr ist, oder 0, wenn dies anders ist (dies ist, was die empirische Verteilung tut). Die Summe wird über den Satz möglicher Klassenbezeichnungen übernommen.ich{ ⋅ }
Bei "weichen" Beschriftungen, wie Sie sie erwähnen, handelt es sich bei den Beschriftungen nicht mehr um Klassenidentitäten selbst, sondern um Wahrscheinlichkeiten über zwei mögliche Klassen. Aus diesem Grund können Sie den Standardausdruck nicht für den Protokollverlust verwenden. Das Konzept der Kreuzentropie gilt jedoch weiterhin. In diesem Fall scheint es sogar noch natürlicher zu sein.
Nennen wir die Klasse , die 0 oder 1 sein kann. Nehmen wir an, das Soft Label gibt die Wahrscheinlichkeit an, dass die Klasse 1 ist (bei entsprechender Eingabe ). Das Soft Label definiert also eine Wahrscheinlichkeitsverteilung:s ( x ) xys ( x )x
p ( y∣ x ) = { s ( x )1 - s ( x )Wenn y= 1Wenn y= 0
Der Klassifizierer gibt auch eine Verteilung über Klassen an, wenn folgende Eingabe erfolgt:
q( y∣ x ) = { c ( x )1 - c ( x )Wenn y=1Wenn y= 0
Hier ist die geschätzte Wahrscheinlichkeit des Klassifikators, dass die Klasse 1 ist, wenn die Eingabe .xc ( x )x
Die Aufgabe besteht nun darin, anhand der Kreuzentropie zu bestimmen, wie unterschiedlich diese beiden Verteilungen sind. Fügen Sie diese Ausdrücke für und in die obige Definition der Kreuzentropie ein. Die Summe wird über die Menge der möglichen Klassen :pq{ 0 , 1 }
H.( p, q)==- p ( y= 0 ≤ x ) logq(y= 0 ≤ x ) - p ( y= 1 ∣ x ) logq(y= 1 ∣ x )- ( 1 - s ( x ) ) Protokoll( 1 - c ( x ) ) - s ( x ) logc ( x )
Das ist der Ausdruck für einen einzelnen beobachteten Datenpunkt. Die Verlustfunktion wäre der Mittelwert über alle Datenpunkte. Dies kann natürlich auch auf die Klassifizierung mehrerer Klassen verallgemeinert werden.