Problembeschreibung
Ich beginne mit dem Aufbau eines Netzwerks für ein Problem, von dem ich glaube, dass es eine weitaus aufschlussreichere Verlustfunktion haben könnte als eine einfache MSE-Regression.
Mein Problem betrifft die Klassifizierung in mehrere Kategorien ( siehe meine Frage zu SO, was ich damit meine), bei der es einen definierten Abstand oder eine definierte Beziehung zwischen Kategorien gibt, die berücksichtigt werden sollte.
Ein weiterer Punkt ist, dass der Fehler nicht durch die Anzahl der vorhandenen Zündkategorien verursacht werden sollte. Dh der Fehler für 5 Zündkategorien, die jeweils um 0,1 abweichen, sollte der gleiche sein wie 1 Zündkategorie, die um 0,1 abweicht. (Mit Schießen meine ich, dass sie nicht Null sind oder über einem bestimmten Schwellenwert liegen)
Wichtige Punkte
- Klassifizierung in mehrere Kategorien (Mehrfachfeuerung gleichzeitig)
- Beziehungen zwischen Kategorien
- Die Anzahl der Schusskategorien sollte keinen Verlust bewirken:
Mein Versuch
Der mittlere quadratische Fehler scheint ein guter Anfang zu sein:
Hierbei wird lediglich Kategorie für Kategorie berücksichtigt, was für mein Problem immer noch wertvoll ist, aber einen großen Teil des Bildes übersieht.
Hier ist mein Versuch, die Idee der Entfernung zwischen Kategorien zu korrigieren. Als nächstes möchte ich die Anzahl der Kategorien berücksichtigen, die ausgelöst werden ( nenne es: v )
Meine Frage
Ich habe einen sehr schwachen statistischen Hintergrund. Infolgedessen habe ich nicht viele Werkzeuge in meinem Gürtel, um ein solches Problem anzusprechen. Das Hauptthema meiner Frage scheint zu sein: "Wie kann man bei der Bildung einer Kostenfunktion mehrere Kostenmaße kombinieren? Oder welche Techniken kann man anwenden, um dies zu tun?" . Ich würde es auch begrüßen, wenn Fehler in meinem Denkprozess aufgedeckt und verbessert würden.
Ich schätze es, gelehrt zu werden, warum meine Fehler Fehler sind, anstatt dass jemand sie nur ohne Erklärung korrigiert.
Wenn ein Teil dieser Frage nicht klar genug ist oder verbessert werden könnte, lassen Sie es mich bitte wissen.
quelle
Antworten:
Sie können den Scharnierverlust verwenden, der eine Obergrenze für den Klassifizierungsverlust darstellt. Das heißt, das Modell wird bestraft, wenn sich das Etikett der Kategorie mit der höchsten Punktzahl vom Etikett der Grundwahrheitsklasse unterscheidet.
Weitere Informationen zum Zusammenhang zwischen Klassifizierungsverlust und Scharnierverlust finden Sie in Abschnitt 2 dieses großartigen Artikels von CNJ Yu und T. Joachims.
Zum Beispiel:input data:{(x1,y1),(x2,y2),(x3,y3)},xi∈Rd,yi∈Y={c1,c2,c3,c4}network predictions:y^(x1)=c2,y^(x2)=c1,y^(x3)=c3task loss matrix:⎡⎣⎢⎢⎢⎢Δ(y1,y1)Δ(y2,y1)Δ(y3,y1)Δ(y4,y1)Δ(y1,y2)Δ(y2,y2)Δ(y3,y2)Δ(y4,y2)Δ(y1,y3)Δ(y2,y3)Δ(y3,y3)Δ(y4,y3)Δ(y1,y4)Δ(y2,y4)Δ(y3,y4)Δ(y4,y4)⎤⎦⎥⎥⎥⎥=⎡⎣⎢⎢⎢0123101221013210⎤⎦⎥⎥⎥classification loss assuming y1=c4,y2=c1,y3=c4:Δ(y1,y^(x1))=Δ(c4,c2)=2Δ(y2,y^(x2))=Δ(c1,c1)=0Δ(y3,y^(x3))=Δ(c4,c3)=1
quelle