Angenommen, ein Modell hat eine Genauigkeit von 100% bei den Trainingsdaten, jedoch eine Genauigkeit von 70% bei den Testdaten. Stimmt das folgende Argument für dieses Modell?
Es ist offensichtlich, dass es sich um ein überarbeitetes Modell handelt. Die Testgenauigkeit kann durch Reduzieren der Überanpassung verbessert werden. Dieses Modell kann jedoch immer noch nützlich sein, da es für die Testdaten eine akzeptable Genauigkeit aufweist.
model
accuracy
overfitting
Hossein
quelle
quelle
Antworten:
Ich denke, das Argument ist richtig. Wenn in der jeweiligen Anwendung 70% akzeptabel sind, ist das Modell nützlich , obwohl es überpasst ist (im Allgemeinen unabhängig davon, ob es überpasst ist oder nicht).
Während das Abwägen von Überanpassung gegen Unteranpassung die Optimalität betrifft (auf der Suche nach einer optimalen Lösung), geht es bei einer zufriedenstellenden Leistung um ausreichende Leistung (ist das Modell für die Aufgabe gut genug?). Ein Modell kann ausreichend gut sein, ohne optimal zu sein.
Edit: Nach den Kommentaren von Firebug und Matthew Drury im Rahmen des OP werde ich das hinzufügen, um zu beurteilen, ob das Modell überpasst ist, ohne zu wissen, dass die Validierungsleistung problematisch sein kann. Firebug schlägt vor, die Validierung mit der Testleistung zu vergleichen, um das Ausmaß der Überanpassung zu messen. Wenn das Modell jedoch eine 100% ige Genauigkeit des Trainingssatzes liefert, ohne eine 100% ige Genauigkeit des Testsatzes zu liefern, ist dies ein Indikator für eine mögliche Überanpassung (insbesondere im Falle einer Regression, jedoch nicht unbedingt bei der Klassifizierung).
quelle
set.seed(100)
einer Abbildung wie der hier beschriebenen undset.seed(15)
umgekehrt. Vielleicht besser zu sagen "ein Indikator für eine mögliche Überanpassung"In meinem früheren Projekt mit der Erkennung von Kreditkartenbetrug möchten wir die Daten / die fest codierten Daten absichtlich überarbeiten, um Betrugsfälle zu erkennen. (Beachten Sie, dass die Überanpassung einer Klasse nicht genau das allgemeine Überanpassungsproblem ist, von dem OP gesprochen hat.) Ein solches System hat relativ niedrige Fehlalarme und erfüllt unsere Anforderungen.
Also, ich würde sagen, ein überarbeitetes Modell kann in manchen Fällen nützlich sein.
quelle
Vielleicht: Vorsicht. Wenn Sie sagen, dass eine Genauigkeit von 70% (wie auch immer Sie sie messen) für Sie gut genug ist, nehmen Sie an, dass die Fehler zufällig oder gleichmäßig verteilt sind.
Aber eine der Sichtweisen auf Überanpassung ist, dass es vorkommt, wenn eine Modelltechnik es zulässt (und der Trainingsprozess dies fördert), den Macken im Trainingsset zu viel Aufmerksamkeit zu schenken. Personen in der allgemeinen Bevölkerung, die diese Macken teilen, können sehr unausgeglichene Ergebnisse erzielen.
Vielleicht haben Sie ein Modell, das besagt, dass alle roten Hunde Krebs haben - wegen dieser besonderen Eigenart in Ihren Trainingsdaten. Oder dass verheiratete Menschen im Alter zwischen 24 und 26 Jahren fast garantiert betrügerische Versicherungsansprüche geltend machen. Ihre Genauigkeit von 70% lässt viel Raum, damit die Taschen der Probanden zu 100% falsch sind, da Ihr Modell überarbeitet ist.
(Nicht übermäßig fit zu sein, ist keine Garantie dafür, dass Sie keine Taschen voller falscher Vorhersagen haben. Tatsächlich hat ein Unter-Fit-Modell viele schlechte Vorhersagen, aber mit Überanpassung wissen Sie, dass Sie den Effekt von Macken in Ihren Trainingsdaten vergrößern .)
quelle
Nein, sie können nützlich sein, aber es hängt von Ihrem Zweck ab. Einige Dinge fallen mir ein:
Ein solcher Klassifikator kann in einem Ensemble sehr nützlich sein . Wir könnten einen Klassifikator mit normalen Gewichten haben, einen, der TPR übergewichtet, einen, der FNR übergewichtet. Dann ergibt selbst eine einfache Dreierregelabstimmung oder Mittelung eine bessere AUC als jeder einzelne beste Klassifikator. Wenn jedes Modell andere Hyperparameter (oder unterabgetastete Trainingssätze oder Modellarchitekturen) verwendet, erhält das Ensemble eine gewisse Immunität gegen Überanpassung.
Ebenso ist es für Echtzeit- Anti-Spam, Anti-Betrug oder Kreditbewertung in Ordnung und wünschenswert, eine Hierarchie von Klassifizierern zu verwenden. Die Level-1-Klassifikatoren sollten sehr schnell (ms) auswerten und es ist in Ordnung, einen hohen FPR zu haben . Alle Fehler, die sie machen, werden von genaueren, umfassenderen, langsameren Klassifikatoren auf höherer Ebene oder letztendlich von menschlichen Gutachtern abgefangen. Ein offensichtliches Beispiel: Verhindern Sie, dass gefälschte Schlagzeilen aus Übernahmen von Twitter-Konten wie dem "Bombenanschlag im Weißen Haus von 2013, der drei tötet", den Handel in Milliardenhöhe innerhalb von Millisekunden nach der Veröffentlichung beeinträchtigen. Es ist in Ordnung, wenn der Level-1-Klassifikator dies als positiv für Spam kennzeichnet. Lassen Sie uns ein wenig Zeit in Anspruch nehmen, um (automatisch) die Wahrheit / Falschheit von sensationellen, aber nicht überprüften Nachrichtenberichten festzustellen.
quelle
Ich bestreite nicht, dass ein überarbeitetes Modell immer noch nützlich sein könnte. Denken Sie jedoch daran, dass diese 70% irreführende Informationen sein können. Was Sie brauchen, um zu beurteilen, ob ein Modell nützlich ist oder nicht, ist der Fehler außerhalb der Stichprobe , nicht der Testfehler (der außerhalb der Stichprobe ist nicht bekannt, daher müssen wir ihn mithilfe eines verblindeten Testsets abschätzen ), und dass 70% kaum die gute Annäherung ist.
Um sicherzustellen, dass wir uns nach dem Kommentar von @RichardHardy in der Terminologie auf derselben Seite befinden, definieren wir den Testfehler als den Fehler, der beim Anwenden des Modells auf das Blindtest-Set auftritt. Und der Fehler außerhalb der Stichprobe ist der Fehler, wenn das Modell auf die gesamte Grundgesamtheit angewendet wird.
Die Annäherung des Fehlers außerhalb der Stichprobe hängt von zwei Dingen ab: dem Modell selbst und den Daten.
Ein "optimales" Modell ergibt eine (Test-) Genauigkeit, die kaum von den Daten abhängt, in diesem Fall wäre es eine gute Annäherung. "Ungeachtet" der Daten wäre der Vorhersagefehler stabil.
Die Genauigkeit eines überausgestatteten Modells hängt jedoch stark von den Daten ab (wie Sie bereits erwähnt haben, 100% vom Trainingssatz und 70% vom anderen Satz). Es kann also vorkommen, dass bei der Anwendung auf einen anderen Datensatz die Genauigkeit weniger als 70% (oder mehr) beträgt und es zu bösen Überraschungen kommt. Mit anderen Worten, diese 70% sagen Ihnen, was Sie glauben, aber es ist nicht so.
quelle