Kurz gesagt: durch Validierung Ihres Modells. Der Hauptgrund für die Validierung ist die Feststellung, dass keine Überanpassung auftritt, und die Schätzung der allgemeinen Modellleistung.
Overfit
Schauen wir uns zunächst an, was Überanpassung eigentlich ist. Modelle werden normalerweise so trainiert, dass sie zu einem Datensatz passen, indem einige Verlustfunktionen in einem Trainingssatz minimiert werden. Es gibt jedoch eine Grenze, in der die Minimierung dieses Trainingsfehlers nicht mehr der tatsächlichen Leistung des Modells zugutekommt, sondern nur den Fehler im spezifischen Datensatz minimiert. Dies bedeutet im Wesentlichen, dass das Modell zu eng an die spezifischen Datenpunkte im Trainingssatz angepasst wurde und versucht wurde, Muster in den Daten zu modellieren, die vom Rauschen herrühren. Dieses Konzept nennt man Overfit . Unten sehen Sie ein Beispiel für eine Überanpassung, bei der das Trainingsset in Schwarz und ein größeres Set der tatsächlichen Bevölkerung im Hintergrund angezeigt wird. In dieser Abbildung sehen Sie, dass das blaue Modell zu eng an das Trainingsset angepasst ist und das zugrunde liegende Geräusch modelliert.
Um zu beurteilen, ob ein Modell überpasst ist oder nicht, müssen wir den allgemeinen Fehler (oder die Leistung), die das Modell für zukünftige Daten aufweist, abschätzen und mit unserer Leistung auf dem Trainingssatz vergleichen. Das Abschätzen dieses Fehlers kann auf verschiedene Arten erfolgen.
Datensatz aufgeteilt
Der einfachste Ansatz zur Schätzung der allgemeinen Leistung besteht darin, den Datensatz in drei Teile, einen Trainingssatz, einen Validierungssatz und einen Testsatz, zu unterteilen. Der Trainingssatz wird zum Trainieren des Modells zur Anpassung an die Daten verwendet. Der Validierungssatz wird zum Messen von Leistungsunterschieden zwischen Modellen verwendet, um das beste Modell auszuwählen, und der Testsatz, um zu bestätigen, dass der Modellauswahlprozess nicht zu stark mit dem ersten Modell übereinstimmt zwei Sets.
Um das Ausmaß der Überanpassung abzuschätzen, werten Sie einfach als letzten Schritt die für Sie interessanten Metriken auf dem Testset aus und vergleichen Sie sie mit Ihrer Leistung auf dem Trainingsset. Sie erwähnen ROC, aber meiner Meinung nach sollten Sie auch andere Metriken wie zum Beispiel den Brier-Score oder ein Kalibrierungsdiagramm betrachten, um die Modellleistung sicherzustellen. Dies hängt natürlich von Ihrem Problem ab. Es gibt viele Metriken, aber das ist hier nicht der springende Punkt.
Diese Methode ist sehr verbreitet und wird respektiert, stellt jedoch hohe Anforderungen an die Verfügbarkeit von Daten. Wenn Ihr Dataset zu klein ist, verlieren Sie höchstwahrscheinlich viel Leistung und Ihre Ergebnisse sind von der Aufteilung abhängig.
Gegenvalidierung
Eine Möglichkeit, einen Großteil der Daten für die Validierung und den Test zu verschwenden, ist die Verwendung von Cross-Validation (CV), bei der die allgemeine Leistung anhand derselben Daten geschätzt wird, die zum Trainieren des Modells verwendet werden. Die Idee hinter der Kreuzvalidierung besteht darin, den Datensatz in eine bestimmte Anzahl von Untersätzen aufzuteilen und diese Untersätze dann nacheinander als gehaltene Testsätze zu verwenden, während der Rest der Daten zum Trainieren des Modells verwendet wird. Durch Mitteln der Metrik über alle Falten erhalten Sie eine Schätzung der Modellleistung. Das endgültige Modell wird dann im Allgemeinen unter Verwendung aller Daten trainiert.
Die CV-Schätzung ist jedoch nicht objektiv. Aber je mehr Falten Sie verwenden, desto kleiner ist die Verzerrung, aber dann erhalten Sie stattdessen eine größere Varianz.
Wie im Datensatzsplit erhalten wir eine Schätzung der Modellleistung und um die Überanpassung abzuschätzen, vergleichen Sie einfach die Metriken aus Ihrem Lebenslauf mit denen, die Sie aus der Auswertung der Metriken auf Ihrem Trainingssatz erhalten haben.
Bootstrap
Die Idee hinter dem Bootstrap ähnelt der von CV, aber anstatt den Datensatz in Teile aufzuteilen, führen wir Zufälligkeiten in das Training ein, indem wir wiederholt Trainingssätze aus dem gesamten Datensatz mit Ersetzung zeichnen und die vollständige Trainingsphase für jedes dieser Bootstrap-Beispiele durchführen.
Die einfachste Form der Bootstrap-Validierung wertet einfach die Metriken der Stichproben aus, die nicht im Trainingssatz enthalten sind (dh die ausgelassenen), und mittelt über alle Wiederholungen.
Mit dieser Methode erhalten Sie eine Schätzung der Modellleistung, die in den meisten Fällen weniger voreingenommen ist als CV. Vergleicht man es wieder mit der Leistung des Trainingssets, erhält man das Overfit.
Es gibt Möglichkeiten, die Bootstrap-Validierung zu verbessern. Es ist bekannt, dass die .632+ -Methode unter Berücksichtigung der Überanpassung bessere und zuverlässigere Schätzungen der allgemeinen Modellleistung liefert. (Wenn Sie interessiert sind, lesen Sie den Originalartikel: Verbesserungen bei der Kreuzvalidierung: Die 632+ Bootstrap-Methode )
Ich hoffe das beantwortet deine Frage. Wenn Sie an der Modellvalidierung interessiert sind, empfehle ich, den Teil über die Validierung im Buch Die Elemente des statistischen Lernens zu lesen : Data Mining, Inferenz und Vorhersage, der online frei verfügbar ist.
So können Sie das Ausmaß der Überanpassung abschätzen:
Hier ein Beispiel:
Trefferrate = Trefferquote (% richtig eingestuft), Variablenzahl = Anzahl der Variablen (= Modellkomplexität)
Symbole:. Resubstitution, + interne Leave-One-Out-Schätzung des Hyperparameter-Optimierers, o unabhängige äußere Kreuzvalidierung auf Patientenebene
Dies funktioniert mit ROC oder Leistungsmessungen wie Brier's Score, Sensitivität, Spezifität, ...
* Ich empfehle .632 oder .632+ Bootstrap hier nicht: Sie mischen sich bereits mit Resubstitutionsfehlern: Sie können sie sowieso später anhand Ihrer Resubstitutions- und Out-of-Bootstap-Schätzungen berechnen.
quelle
Die Überanpassung ist einfach die direkte Folge der Betrachtung der statistischen Parameter und damit der erhaltenen Ergebnisse als nützliche Information, ohne zu prüfen, ob sie nicht auf zufällige Weise erhalten wurden. Um das Vorhandensein einer Überanpassung abzuschätzen, müssen wir den Algorithmus in einer Datenbank verwenden, die der realen entspricht, aber zufällig generierte Werte enthält. Wenn wir diesen Vorgang daher mehrmals wiederholen, können wir die Wahrscheinlichkeit abschätzen, zufällig gleiche oder bessere Ergebnisse zu erzielen . Wenn diese Wahrscheinlichkeit hoch ist, befinden wir uns höchstwahrscheinlich in einer Überanpassungssituation. Beispielsweise beträgt die Wahrscheinlichkeit, dass ein Polynom vierten Grades eine Korrelation von 1 mit 5 zufälligen Punkten auf einer Ebene aufweist, 100%. Diese Korrelation ist also unbrauchbar und wir befinden uns in einer Überanpassungssituation.
quelle