Train vs Test Error Gap und seine Beziehung zur Überanpassung: Konfliktlösung

13

Es scheint widersprüchliche Ratschläge zu geben, wie mit dem Vergleichen von Zug- und Testfehlern umgegangen werden soll, insbesondere wenn zwischen beiden eine Lücke besteht. Es scheint zwei Denkschulen zu geben, die mir widersprüchlich erscheinen. Ich möchte verstehen, wie man die beiden miteinander in Einklang bringt (oder verstehen, was ich hier vermisse).

Gedanke Nr. 1: Eine Lücke zwischen der Leistung des Zuges und des Testsatzes allein bedeutet keine Überanpassung

Erstens (auch hier besprochen: Wie können Vergleiche von Trainings- und Testfehlern auf eine Überanpassung hinweisen? ) Kann die Vorstellung, dass ein Unterschied zwischen Zug und Testsatz allein keine Überanpassung anzeigen kann, nicht zutreffen. Dies stimmt mit meiner praktischen Erfahrung mit beispielsweise Ensemble-Tree-Methoden überein, bei denen die Lücke zwischen Zug- und Testfehlern auch nach einer Cross-Validation-basierten Hyper-Parameter-Abstimmung etwas groß bleiben kann. Aber (unabhängig vom Modelltyp), solange Ihr Überprüfungsfehler nicht zurückgeht, geht es Ihnen gut. Zumindest ist das das Denken.

Gedanke # 2: Wenn Sie eine Lücke zwischen Zug- und Testleistung sehen: Machen Sie Dinge, die Überanpassung bekämpfen würden

Dann gibt es jedoch Hinweise aus sehr guten Quellen, die darauf hindeuten, dass eine Lücke zwischen Zug- und Testfehler auf eine Überanpassung hindeutet. Hier ein Beispiel: Der Vortrag von Andrew Ng über "Nuts and Bolts of Deep Learning" (ein fantastischer Vortrag) https://www.youtube.com/watch?v=F1ka6a13S9I, in dem er gegen 48:00 Uhr ein Flussdiagramm zeichnet Das besagt: "Wenn Ihr Zug-Set-Fehler niedrig und Ihr Zug-Dev-Set-Fehler hoch ist, sollten Sie Regularisierung hinzufügen, mehr Daten abrufen oder die Modellarchitektur ändern." Dies sind alles Maßnahmen, die Sie möglicherweise zur Bekämpfung von Überanpassungen ergreifen.

Was mich zu ... bringt : Vermisse ich hier etwas? Handelt es sich um eine modellspezifische Faustregel (im Allgemeinen scheinen einfachere Modelle weniger Lücken zwischen Zug und Test zu haben)? Oder gibt es einfach zwei verschiedene Denkrichtungen?

ednaMode
quelle

Antworten:

4

Ich denke nicht, dass dies widersprüchliche Ratschläge sind. Was uns wirklich interessiert, ist eine gute Out-of-Sample-Leistung, nicht die Verringerung der Lücke zwischen Training und Test-Set-Leistung. Wenn die Leistung des Test-Sets für die Leistung außerhalb der Stichprobe repräsentativ ist (dh das Test-Set ist groß genug, nicht kontaminiert und stellt eine repräsentative Stichprobe der Daten dar, auf die unser Modell angewendet wird), dann, solange wir eine gute Leistung für das Test-Set erhalten Test-Set wir sind nicht überpassend, unabhängig von der Lücke

Wenn es jedoch eine große Lücke gibt, kann dies darauf hinweisen, dass wir eine bessere Leistung der Testsätze mit einer stärkeren Regularisierung erzielen bzw. dem Modell eine stärkere Verzerrung verleihen könnten. Dies bedeutet jedoch nicht, dass eine kleinere Lücke ein besseres Modell bedeutet. Es ist nur so, dass wir, wenn wir eine kleine oder keine Lücke zwischen Training und Leistung des Test-Sets haben, definitiv nicht übermäßig fit sind. Daher hilft es nicht, das Modell zu regulieren oder eine stärkere Verzerrung einzuführen.

ausspionieren
quelle
Interessanter Punkt. Zusammenfassend bedeutet "keine Lücke zwischen Zug und Test" definitiv keine Überanpassung, aber "eine Lücke zwischen Zug und Test" kann Überanpassung bedeuten oder auch nicht. Wenn wir von dieser Logik gehen, scheint das Flussdiagramm in Andrew Ng Vortrag ein wenig irreführend: es ist nicht so slam dunk wie der Schieber dh schlägt vor , wenn Sie eine Lücke haben, Sie könnten versuchen Regularisierung oder mehr Daten zu erhalten, aber es kann nicht helfen. Würdest du zustimmen?
EdnaMode
1
Nach meiner Erfahrung würde ich dem zustimmen.
Machen Sie den
"Keine Lücke zwischen Zug und Test zusammenzufassen bedeutet definitiv keine Überanpassung" muss nicht unbedingt stimmen. Wenn Sie unendlich viele Daten haben, erhalten Sie keine Lücke zwischen Zug und Test, auch wenn das Modell überarbeitet ist. Ich denke, damit diese Aussage gültig ist, brauchen Sie einige weitere Annahmen.
LKS
@LKS Ich bin mir nicht sicher, was du mit Überanpassung hier meinst. Die Out-of-Sample-Leistung ist immer geringer oder gleich der In-Sample-Leistung, vorausgesetzt, die Datenverteilung bleibt konstant. Null Lücke ist also unser bester Fall. Wie kann es zu einer Überanpassung ohne Lücken kommen?
Machen Sie am
@rinspy Wenn Sie Überanpassung als die numerische Lücke zwischen Trainings- und Testdaten definieren, ist Ihre Aussage korrekt. Aber ich würde gerne mehr darüber nachdenken, was das Modell macht. Zum Beispiel haben wir eine Polynomfunktion vom Grad 3 und das Ergebnis wird ein kleines Gaußsches Rauschen enthalten. Wenn wir endliche Stichproben haben und ein Polynom vom Grad 5 verwenden, um zu passen, gibt es eine große Differenz zwischen der Leistung der Stichprobe (Vorhersage) und der Leistung außerhalb der Stichprobe. Wenn wir jedoch nahezu unendlich viele Samples zeichnen können, weist ein Modell, das sich nur merken kann, einen Null-In / Out-Fehler auf.
LKS