Zunächst wurde mir klar, dass ich, wenn ich binäre Vorhersagen durchführen muss, mindestens zwei Klassen durch Ausführen einer One-Hot-Codierung erstellen muss. Ist das richtig? Gilt die binäre Kreuzentropie jedoch nur für Vorhersagen mit nur einer Klasse? Wenn ich einen kategorialen Cross-Entropy-Verlust verwenden würde, der normalerweise in den meisten Bibliotheken (wie TensorFlow) zu finden ist, gäbe es dann einen signifikanten Unterschied?
Was sind die genauen Unterschiede zwischen einer kategorialen und einer binären Kreuzentropie? Ich habe noch nie eine Implementierung der binären Kreuzentropie in TensorFlow gesehen, daher dachte ich, dass die kategoriale genauso gut funktioniert.
Antworten:
Der binomiale Kreuzentropieverlust ist ein Spezialfall des multinomialen Kreuzentropieverlusts für .m = 2
Wobei Stichproben / Beobachtungen indiziert und Klassen indiziert und die Stichprobenbezeichnung ist (binär für LSH, Ein-Hot-Vektor auf der RHS) und ist die Vorhersage für eine Stichprobe.ich j y pich j∈ ( 0 , 1 ) : ∑jpich j= 1 ∀ i , j
quelle
Binäre Kreuzentropie ist für Mehrfachmarkierungsklassifizierungen vorgesehen, wohingegen kategoriale Kreuzentropie für Mehrfachklassifizierungen vorgesehen ist, bei denen jedes Beispiel zu einer einzelnen Klasse gehört.
quelle
Ich denke, es gibt drei Arten von Klassifizierungsaufgaben:
Daraus können wir sagen
Ich möchte betonen, dass die Klassifizierung mehrerer Klassen nicht mit der Klassifizierung mehrerer Etiketten vergleichbar ist ! Multi-Label-Klassifikator leiht eine Idee aus dem binären Klassifikator!
quelle