Ich fing an, den Bereich unter der Kurve (AUC) zu untersuchen und bin ein wenig verwirrt über seine Nützlichkeit. Als ich zum ersten Mal darauf hingewiesen wurde, schien die AUC ein hervorragendes Maß für die Leistung zu sein. Bei meinen Recherchen habe ich jedoch festgestellt, dass einige behaupten, dass ihr Vorteil größtenteils insofern marginal ist, als sie sich am besten zum Fangen von "glücklichen" Modellen mit hoher Standardgenauigkeit und niedriger AUC eignet .
Sollte ich mich bei der Validierung von Modellen nicht auf AUC verlassen, oder wäre eine Kombination am besten? Danke für deine Hilfe.
machine-learning
accuracy
aidankmcl
quelle
quelle
Antworten:
Wirklich gute Frage, und eine, die ich finde, dass die meisten Leute auf einer intuitiven Ebene nicht wirklich verstehen.
AUC
wird in der Tat häufig aus verschiedenen Gründen der Genauigkeit für die binäre Klassifizierung vorgezogen. Lassen Sie uns jedoch zunächst genau darüber sprechen, wasAUC
ist. Um ehrlich zu sein, ist es überraschend stumpf, genau herauszufinden, wie diesAUC
funktioniert , da dies eine der am häufigsten verwendeten Wirksamkeitsmetriken ist .AUC
steht fürArea Under the Curve
welche kurve fragst du Nun, das wäre dieROC
Kurve.ROC
steht für Receiver Operating Characteristic , was eigentlich etwas nicht intuitiv ist. Das implizite Ziel vonAUC
ist es, Situationen zu bewältigen, in denen Sie eine sehr verzerrte Stichprobenverteilung haben und keine Überanpassung für eine einzelne Klasse vornehmen möchten.Ein gutes Beispiel ist die Spam-Erkennung. Im Allgemeinen sind Spam-Datasets STARK auf Ham oder Nicht-Spam ausgerichtet. Wenn Ihr Datensatz zu 90% aus Schinken besteht, können Sie eine verdammt gute Genauigkeit erzielen, indem Sie einfach sagen, dass jede einzelne E-Mail Schinken ist, was offensichtlich auf einen nicht idealen Klassifikator hinweist. Beginnen wir mit ein paar Metriken, die für uns etwas nützlicher sind, insbesondere der True-Positive-Rate (
TPR
) und der False-Positive-Rate (FPR
):Nun ist in diesem Diagramm
TPR
speziell das Verhältnis von wahrem Positiv zu allen Positiven undFPR
das Verhältnis von falschem Positiv zu allen Negativen. (Beachten Sie , dass dies nur für binäre Klassifizierung.) In einem Diagramm wie diese, sollte es ziemlich einfach sein , um herauszufinden , dass eine Vorhersage alle 0 oder alle 1 in den Punkten führen(0,0)
und(1,1)
jeweils. Wenn Sie eine Linie durch diese Linien ziehen, erhalten Sie ungefähr Folgendes:Was im Grunde wie eine diagonale Linie aussieht (es ist) und durch eine einfache Geometrie kann man sehen, dass die
AUC
eines solchen Modells wäre0.5
(Höhe und Basis sind beide 1). Wenn Sie eine zufällige Zusammenstellung von Nullen und Einsen vorhersagen, sagen wir 90% Einsen, könnten Sie den Punkt erhalten(0.9, 0.9)
, der wiederum entlang dieser diagonalen Linie fällt.Nun kommt der interessante Teil. Was wäre, wenn wir nicht nur Nullen und Einsen vorhersagen würden? Was wäre, wenn wir stattdessen sagen wollten, dass wir theoretisch einen Grenzwert festlegen würden, oberhalb dessen jedes Ergebnis eine 1 und unterhalb dessen jedes Ergebnis eine 0 ist. Dies würde bedeuten, dass Sie im Extremfall die ursprüngliche Situation erhalten, in der Sie sich befinden haben alle Nullen und alle Einsen (bei einem Cutoff von 0 bzw. 1), aber auch eine Reihe von Zwischenzuständen, die in den
1x1
Graphen fallen, der Ihre enthältROC
. In der Praxis erhalten Sie so etwas:Was Sie also tatsächlich erhalten, wenn Sie eine
AUC
Überpräzision durchführen, ist etwas, das die Leute stark davon abhält, sich für Modelle zu entscheiden, die repräsentativ, aber nicht diskriminierend sind, da dies tatsächlich nur Modelle auswählt, die falsch positive und wahr positive Raten erzielen deutlich über dem Zufall liegen, was für die Richtigkeit nicht garantiert ist.quelle
AUC und Genauigkeit sind ziemlich verschiedene Dinge. AUC gilt für Binärklassifizierer, die intern eine Entscheidungsschwelle kennen. Beispielsweise gibt die logistische Regression positiv / negativ zurück, je nachdem, ob die logistische Funktion größer / kleiner als ein Schwellenwert ist, normalerweise standardmäßig 0,5. Wenn Sie Ihren Schwellenwert auswählen, haben Sie einen Klassifikator. Sie müssen einen auswählen.
Für eine bestimmte Schwellenwertauswahl können Sie die Genauigkeit berechnen, dh den Anteil der echten Positiven und Negativen im gesamten Datensatz.
Die AUC misst, wie sich die True Positive Rate (Rückruf) und die False Positive Rate gegenseitig beeinflussen. In diesem Sinne misst sie bereits etwas anderes. Noch wichtiger ist, dass die AUC nicht von der Schwelle abhängt. Es handelt sich um eine Bewertung des Klassifikators, da der Schwellenwert über alle möglichen Werte variiert. In gewissem Sinne handelt es sich um eine umfassendere Metrik, die die Qualität des internen Werts testet, den der Klassifizierer generiert und dann mit einem Schwellenwert vergleicht. Es wird nicht die Qualität einer bestimmten Schwellenauswahl getestet.
AUC hat eine andere Interpretation, und das ist auch die Wahrscheinlichkeit, dass ein zufällig ausgewähltes positives Beispiel einem zufällig ausgewählten negativen Beispiel entsprechend dem internen Wert des Klassifikators für die Beispiele übergeordnet wird.
AUC ist berechenbar, auch wenn Sie einen Algorithmus haben, der nur eine Rangfolge anhand von Beispielen erstellt. Die AUC ist nicht berechenbar, wenn Sie wirklich nur einen Black-Box-Klassifikator haben und keinen mit einem internen Schwellenwert. Diese würden in der Regel bestimmen, welche der beiden Möglichkeiten für ein bestimmtes Problem überhaupt zur Verfügung steht.
Die AUC ist meines Erachtens eine umfassendere Maßnahme, obwohl sie in weniger Situationen anwendbar ist. Es ist nicht unbedingt besser als die Genauigkeit; es ist anders. Es hängt zum Teil davon ab, ob Sie sich mehr für wahre Positive, falsche Negative usw. interessieren.
F-Measure ist eher eine Genauigkeit in dem Sinne, dass es eine Funktion eines Klassifikators und seiner Schwellenwerteinstellung ist. Aber es misst die Präzision gegen den Rückruf (wahre positive Rate), die nicht die gleiche ist wie oben.
quelle
Ich möchte darauf verweisen, wie Sie ein Leistungsmaß auswählen sollten. Vorher werde ich auf die spezifische Frage der Genauigkeit und der AUC eingehen.
Wie bereits zuvor beantwortet, führt ein unausgewogener Datensatz, bei dem der Hauptlauf als Klassifikator verwendet wird, zu einer hohen Genauigkeit, was ihn zu einer irreführenden Maßnahme macht. AUC-Aggregat über Vertrauensschwelle, für gut und schlecht. Für alle Vertrauensstufen erhalten Sie ein Gewichtsergebnis. Das Schlimme ist, dass Sie sich normalerweise nur um das Konfidenzniveau kümmern, das Sie tatsächlich verwenden, und der Rest ist irrelevant.
Ich möchte jedoch eine Bemerkung zur Auswahl eines geeigneten Leistungsmaßes für ein Modell machen. Sie sollten ein Modell anhand seines Ziels vergleichen. Das Ziel eines Modells ist keine Frage des maschinellen Lernens oder der Statistik, sondern eine Frage des Geschäftsbereichs und seiner Bedürfnisse.
Wenn Sie nach Gold graben (ein Szenario, in dem Sie von einem echten Positiv enorm profitieren, nicht zu hohe Kosten für ein falsches Positiv), ist der Rückruf eine gute Maßnahme.
Wenn Sie sich für einen komplexen medizinischen Eingriff entscheiden möchten (hohe Kosten für falsch-positive, hoffentlich niedrige Kosten für falsch-negative), ist Präzision das Maß, das Sie verwenden sollten.
Es gibt viele Maßnahmen, die Sie verwenden können. Sie können sie auch auf verschiedene Arten kombinieren.
Es gibt jedoch keine universelle "beste" Maßnahme. Es gibt das beste Modell für Ihre Anforderungen. Wenn Sie es maximieren, maximieren Sie Ihren Nutzen.
quelle