Welche Verlustfunktion sollte man verwenden, um einen binären Klassifikator mit hoher Präzision oder hohem Rückruf zu erhalten?


11

Ich versuche, einen Detektor für Objekte zu erstellen, die sehr selten vorkommen (in Bildern), und plane, einen binären CNN-Klassifikator zu verwenden, der in einem Schiebe- / Größenänderungsfenster angewendet wird. Ich habe ausgeglichene 1: 1-Positiv-Negativ-Trainings- und Testsätze erstellt (ist es in einem solchen Fall übrigens richtig?), Und der Klassifikator ist in Bezug auf die Genauigkeit bei einem Testsatz gut. Jetzt möchte ich den Rückruf / die Genauigkeit meines Klassifikators steuern, damit er beispielsweise nicht zu viele Vorkommen einer Mehrheitsklasse fälschlicherweise kennzeichnet.

Offensichtliche (für mich) Lösung besteht darin, denselben logistischen Verlust zu verwenden, der jetzt verwendet wird, aber Fehler vom Gewichtstyp I und Typ II unterschiedlich zu bewerten, indem der Verlust in einem der beiden Fälle mit einer Konstanten multipliziert wird, die eingestellt werden kann. Ist es richtig?

PS Bei einem zweiten Gedanken entspricht dies der Gewichtung einiger Trainingsmuster mehr als der anderen. Nur mehr von einer Klasse hinzuzufügen, wird das gleiche erreichen, denke ich.


Hast du das jemals gelöst? Ich habe ein ähnliches Ziel. Ich möchte die Präzision optimieren (Typ 1) und mich weniger um Fehler vom Typ 2 kümmern. Daher habe ich mir überlegt, was in Bezug auf die Verlustfunktion getan werden kann.
Jonathan Shore

Antworten:


6

Die künstliche Konstruktion eines ausgewogenen Trainingssatzes ist umstritten, eigentlich ziemlich kontrovers. Wenn Sie dies tun, sollten Sie empirisch überprüfen, ob es wirklich besser funktioniert, als das Trainingsset unausgeglichen zu lassen. Ein künstliches Ausbalancieren des Test-Sets ist fast nie eine gute Idee. Der Testsatz sollte neue Datenpunkte darstellen, da diese ohne Beschriftung eingehen. Sie erwarten, dass sie unausgeglichen sind, daher müssen Sie wissen, ob Ihr Modell mit einem unausgeglichenen Testsatz umgehen kann. (Wenn Sie nicht erwarten, dass neue Datensätze nicht ausgeglichen sind, warum sind dann alle vorhandenen Datensätze nicht ausgeglichen?)

In Bezug auf Ihre Leistungsmetrik erhalten Sie immer das, was Sie verlangen. Wenn Genauigkeit in einem unausgeglichenen Satz nicht das ist, was Sie in erster Linie benötigen, weil nicht nur die Klassen, sondern auch die Kosten für die Fehlklassifizierung unausgeglichen sind, verwenden Sie sie nicht. Wenn Sie die Genauigkeit als Metrik verwendet und Ihre gesamte Modellauswahl und Hyperparameter-Optimierung durchgeführt haben, indem Sie immer die mit der besten Genauigkeit ausgewählt haben, optimieren Sie die Genauigkeit.

Ich nehme die Minderheitsklasse als positive Klasse, dies ist die herkömmliche Art, sie zu benennen. Präzision und Rückruf, wie unten diskutiert, sind also Präzision und Rückruf der Minderheitsklasse.

  • Wenn das einzig Wichtige darin besteht, alle Datensätze von Minderheitenklassen zu identifizieren, können Sie einen Rückruf durchführen. Sie akzeptieren also mehr Fehlalarme.
  • Nur die Präzision zu optimieren, wäre eine sehr seltsame Idee. Sie würden Ihrem Klassifikator sagen, dass es kein Problem ist, die Minderheitsklasse zu unterschätzen. Der einfachste Weg, eine hohe Präzision zu erreichen, besteht darin, die Minderheitsklasse mit Vorsicht zu deklarieren.
  • Wenn Sie Präzision und Rückruf benötigen, können Sie F-Maß nehmen. Es ist das harmonische Mittel zwischen Präzision und Rückruf und bestraft somit Ergebnisse, bei denen beide Metriken voneinander abweichen.
  • Wenn Sie die konkreten Fehlklassifizierungskosten in beide Richtungen kennen (und die Gewinne einer korrekten Klassifizierung, wenn sie je nach Klasse unterschiedlich sind), können Sie all dies in eine Verlustfunktion einfügen und optimieren.

3

Sie machen mehrere Annahmen. Es ist am besten, sich das Endziel allgemein vorzustellen und dann eine Strategie zu formulieren, die dieses Ziel erreicht. Benötigen Sie beispielsweise wirklich eine Klassifizierung mit erzwungener Auswahl und ist das Signal-Rausch-Verhältnis groß genug, um dies zu unterstützen (gute Beispiele: Ton- und Bilderkennung)? Oder ist das Signal-Rausch-Verhältnis niedrig oder interessieren Sie sich für Tendenzen ? Für letztere ist die Risikoabschätzung für Sie. Die Wahl ist der Schlüssel und bestimmt die von Ihnen gewählte Metrik für die Vorhersagegenauigkeit. Weitere Gedanken zu all dem finden Sie unter http://www.fharrell.com/2017/01/classification-vs-prediction.html und http://www.fharrell.com/2017/03/damage-caused-by-classification .html .

Die meisten Probleme betreffen die Entscheidungsfindung , und optimale Entscheidungen ergeben sich aus der Risikoabschätzung in Verbindung mit einer Verlust- / Kosten- / Nutzenfunktion.

Einer der besten Aspekte eines Risiko- (Wahrscheinlichkeits-) Schätzansatzes besteht darin, dass er Grauzonen behandelt, in denen es ein Fehler wäre, eine Klassifizierung oder Entscheidung zu treffen, ohne weitere Daten zu erfassen. Und dann gibt es die Tatsache, dass die Wahrscheinlichkeitsschätzung nicht erfordert (sogar nicht erlaubt), die Ergebnisse durch künstliche Manipulation der Stichprobe "auszugleichen".


1

In Bezug auf Ihre Frage, ob die Neugewichtung von Trainingsmustern gleichbedeutend ist mit der Multiplikation des Verlusts in einem der beiden Fälle mit einer Konstanten: Ja, das ist es. Eine Möglichkeit, die logistische Regressionsverlustfunktion zu schreiben, besteht darin, jeweils positive und negative Instanzen zu bezeichnen, und

j=1J.Log{1+exp[- -f(xj)]]}}+k=1K.Log{1+exp[f(xk)]]}}
jkf()x
j=1J.Log{1+exp[- -f(xj)]]}}+k=1K.wLog{1+exp[f(xk)]]}}
w>1ww=2

Aber das wäre kein Maximum-Likelihood-Schätzer mehr - ein statistisches No-No
Frank Harrell

1
Stimmen Sie zu, aber ich bin nicht davon überzeugt, dass es wichtig ist, wenn statistische Rückschlüsse auf die Parameter in der logistischen Regression nicht das gewünschte Ziel sind (die Erwähnung der Verwendung von CNN durch das OP basiert ebenfalls nicht auf ML). In der Tat würden die meisten / alle inferentiellen Ergebnisse dieses gewichteten Ansatzes am besten ignoriert, aber das Modell und die daraus resultierenden Risikobewertungen könnten weiterhin auf einen Validierungssatz mit wünschenswerten Ergebnissen angewendet werden, z. B. gute Diskriminierung / Kalibrierung.
Travis Gerke

1
Nein, Sie stören die Kalibrierung des Modells und erhalten mit dem obigen Ansatz verrauschte Parameterschätzungen. MLE existiert aus sehr guten Gründen.
Frank Harrell

Betrachten Sie den trivialen Fall, dass Sie sehr besorgt über eine Fehlklassifizierung auf die eine, aber nicht auf die andere Weise sind - dh ohne Verlust für eine der Richtungen. Das beste Modell für diesen Verlust würde nur die Klasse der Bedenken vorhersagen. Obwohl es ein schreckliches Modell wäre, wird das Ziel erreicht. Es ist wichtig, das Ziel zu verstehen und nicht blind auf ein theoretisches Konzept (MLE) zu vertrauen, ohne dessen Zweck zu verstehen. Wie TravisGerke bemerkte, ist sein Ansatz sehr nützlich, wenn der Schwerpunkt eher auf Vorhersage als auf Modellierung liegt. Es ist sicherlich besser als die Mehrheitsklasse herunterzusampeln.
Statseeker
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.