Über- / Unteranpassung mit Datensatzgröße


11

In der folgenden Grafik

  • x-Achse => Datensatzgröße
  • y-Achse => Kreuzvalidierungsergebnis

Geben Sie hier die Bildbeschreibung ein

  • Die rote Linie steht für Trainingsdaten

  • Die grüne Linie dient zum Testen von Daten

In einem Tutorial, auf das ich mich beziehe, sagt der Autor, dass der Punkt, an dem sich die rote und die grüne Linie überlappen, bedeutet:

Es ist unwahrscheinlich, dass das Sammeln weiterer Daten die Generalisierungsleistung erhöht, und wir befinden uns in einer Region, in der die Daten wahrscheinlich nicht ausreichend sind. Daher ist es sinnvoll, ein Modell mit mehr Kapazität auszuprobieren

Ich kann die Bedeutung des kühnen Satzes nicht ganz verstehen und wie es passiert.

Schätzen Sie jede Hilfe.


Was sind rote und grüne Linien?
Kasra Manshaei

1
@ KasraManshaei: Ich habe die Frage aktualisiert.
Tharindu_DG

1
Wenn möglich, fügen Sie den Link zum Tutorial hinzu. Würde uns helfen, die Antwort und den Kontext besser zu verstehen :)
Dawny33

@ Dawny33: Es ist ein Video-Tutorial und das Hochladen würde Urheberrechtsprobleme verletzen, denke ich. :)
tharindu_DG

Antworten:


6

Die Unteranpassung bedeutet also, dass Sie immer noch in der Lage sind, Ihr Lernen zu verbessern, während die Überanpassung bedeutet, dass Sie eine Kapazität verwendet haben, die mehr als für das Lernen erforderlich ist.

Im grünen Bereich steigt der Testfehler, dh Sie sollten weiterhin Kapazitäten (entweder Datenpunkte oder Modellkomplexität) bereitstellen, um bessere Ergebnisse zu erzielen. Je grüner die Linie ist, desto flacher wird sie, dh Sie erreichen den Punkt, an dem die bereitgestellte Kapazität (dh Daten) ausreicht, und versuchen besser, die andere Art von Kapazität bereitzustellen, bei der es sich um Modellkomplexität handelt.

Wenn es Ihr Testergebnis nicht verbessert oder sogar verringert, bedeutet dies, dass die Kombination aus Datenkomplexität irgendwie optimal war und Sie das Training beenden können.


Danke für die Antwort. Ich habe nur wenige Unklarheiten. - Am Ende des Diagramms konvergierten die grüne und die rote Linie. Bedeutet das nicht, dass wir genug Daten für unser Modell haben? - Ist es möglich, mit dem Testsatz eine bessere Genauigkeit als mit dem Trainingssatz zu erzielen? - Nehmen wir an, wir haben ein besseres Modell und wie sollte dieses Diagramm aussehen?
Tharindu_DG

1
"Bedeutet das nicht, dass wir genug Daten für unser Modell haben?" Genau das habe ich geschrieben. Ja, Sie haben genügend Daten. Wenn Sie sich verbessern möchten, sollten Sie mehr Komplexität ausprobieren. Daten sind genug. "Ist es möglich, mit dem Test-Set eine bessere Genauigkeit als mit dem Trainingsset zu erzielen?" Ich habe so etwas noch nie gesehen. Das könnte in einem einzigen Experiment passieren, aber im Allgemeinen nicht. Diese Frage kann übersetzt werden in "Kann ich mehr wissen als ich weiß?" und die Antwort ist "Natürlich nicht!"
Kasra Manshaei

1
"Nehmen wir an, wir haben ein besseres Modell und wie sollte dieses Diagramm aussehen?" Ich gehe davon aus (Sie versuchen und lassen mich wissen, ob ich Recht habe :)), dass sich entweder Training und Test verbessern oder nicht. Es ist möglich, dass sich das Training verbessert und der Test fällt, aber nicht umgekehrt, und es ist auch möglich, dass sich beide für eine Weile verbessern, dann fällt der Test herunter, was als Überanpassung bezeichnet wird. Sie sollten das Training an dem Punkt beenden, an dem die
Testlinie

5

Während Kasra Manshaei eine gute allgemeine Antwort gibt (+1), möchte ich ein leicht verständliches Beispiel geben.

f:[0,1]Runderfit .

Gehen wir also anders herum: Angenommen, Sie haben 1000 Datenpunkte. Wenn Sie ein bisschen Mathe kennen, wählen Sie ein Polynom vom Grad 999. Jetzt können Sie die Trainingsdaten perfekt anpassen. Ihre Daten passen jedoch möglicherweise zu perfekt zu den Daten. Siehe zum Beispiel (aus meinem Blog )

Geben Sie hier die Bildbeschreibung ein

In diesem Fall haben Sie andere Modelle, die ebenfalls perfekt zu den Daten passen. Offensichtlich erscheint das blaue Modell zwischen den Datenpunkten unnatürlich. Das Modell selbst ist möglicherweise nicht in der Lage, die Art der Verteilung gut zu erfassen. Daher kann es hilfreich sein, das Modell auf etwas Einfacheres zu beschränken. Dies kann ein Beispiel für eine Überanpassung sein .


1
Sehr schön @moose! (+1) zum Verständnis der Erklärung
Kasra Manshaei

0

In Ihrem Fall haben Sie - eine sehr kleine (oder keine) Lücke zwischen Zug- und Testkurven, die anzeigt, dass das Modell eine hohe Vorspannung / Unteranpassung aufweist. Lösung: Sie müssen ein komplexeres Modell auswählen. - Zur Vervollständigung muss ein umgekehrter Fall hinzugefügt werden, wenn der Abstand zwischen Zug- und Testkurve sehr groß ist, was auf eine hohe Varianz / Überanpassung hinweist. Lösungen: a) Erhöhung der Datensatzgröße; b) Wählen Sie ein weniger komplexes Modell, c) führen Sie eine Regularisierung durch.


0

Sie können Folgendes tun:

1) Ändern Sie die Funktionen, die Sie in das Modell einspeisen

2) Wählen Sie ein anderes Modell für die Arbeit

3) Laden Sie mehr Daten in das Modell (möglicherweise keine Option für Sie, aber normalerweise ist dies eine Option).

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.