Überanpassung

Überanpassung bedeutet, ein Modell zu erstellen, das dem Trainings-Dataset so genau entspricht (abspeichert), dass es keine korrekten Vorhersagen für neue Daten treffen kann. Ein überangepasstes Modell ist vergleichbar mit einer Erfindung, die im Labor gut funktioniert, aber in der Praxis wertlos ist.

Stellen Sie sich in Abbildung 11 vor, dass jede geometrische Form die Position eines Baums in einem quadratischen Wald darstellt. Die blauen Rauten markieren die Standorte gesunder Bäume, während die orangefarbenen Kreise die Standorte kranker Bäume markieren.

Abbildung 11. Diese Abbildung enthält etwa 60 Punkte, von denen die Hälfte gesunde und die andere Hälfte kranke Bäume sind.
            Die gesunden Bäume befinden sich hauptsächlich im Nordostquadranten, einige gesunde Bäume dringen jedoch auch in die Nordwestquadranten ein. Die kranken Bäume befinden sich hauptsächlich im Südosten, einige davon reichen aber auch in andere Quadranten.
Abbildung 11. Trainingsdatensatz: Standorte gesunder und kranker Bäume in einem quadratischen Wald.

 

Zeichnen Sie in Gedanken beliebige Formen – Linien, Kurven, Ovale usw. –, um die gesunden Bäume von den kranken zu unterscheiden. Maximieren Sie dann die nächste Zeile, um eine mögliche Trennung zu untersuchen.

Mit den komplexen Formen in Abbildung 12 wurden alle Bäume bis auf zwei erfolgreich kategorisiert. Wenn wir die Formen als Modell betrachten, ist dies ein fantastisches Modell.

Oder vielleicht doch? Ein wirklich hervorragendes Modell kategorisiert neue Beispiele erfolgreich. Abbildung 13 zeigt, was passiert, wenn dasselbe Modell Vorhersagen für neue Beispiele aus dem Testsatz trifft:

Abbildung 13. Eine neue Gruppe gesunder und kranker Bäume, die auf das Modell in Abbildung 12 gelegt wird. Das Modell kategorisiert viele der Bäume falsch.
Abbildung 13: Testsatz: Ein komplexes Modell zum Unterscheiden von kranken und gesunden Bäumen.

 

Das komplexe Modell in Abbildung 12 hat also im Trainingssatz sehr gut abgeschnitten, aber im Testsatz ziemlich schlecht. Dies ist ein klassischer Fall von Überanpassung eines Modells an die Daten des Trainingssatzes.

Anpassung, Überanpassung und Unteranpassung

Ein Modell muss gute Vorhersagen für neue Daten treffen. Sie möchten also ein Modell erstellen, das zu neuen Daten passt.

Wie Sie gesehen haben, macht ein überangepasstes Modell hervorragende Vorhersagen für das Trainings-Dataset, aber schlechte Vorhersagen für neue Daten. Ein nicht hinreichend angepasstes Modell kann nicht einmal gute Vorhersagen für die Trainingsdaten treffen. Wenn ein überangepasstes Modell mit einem Produkt verglichen werden kann, das im Labor gut, aber in der Praxis schlecht abschneidet, dann ist ein nicht hinreichend angepasstes Modell mit einem Produkt vergleichbar, das nicht einmal im Labor gut abschneidet.

Abbildung 14. Kartesisches Diagramm. Die X-Achse ist mit „Qualität der Vorhersagen im Trainingssatz“ beschriftet. Die Y-Achse ist mit „Qualität der Vorhersagen auf der Grundlage von Realdaten“ beschriftet. Eine Kurve beginnt am Ursprung und steigt allmählich an, fällt dann aber genauso schnell ab. Der untere linke Teil der Kurve (geringe Qualität der Vorhersagen auf Grundlage von Realdaten und geringe Qualität der Vorhersagen auf Grundlage des Trainingsdatensatzes) ist als „nicht optimal angepasste Modelle“ gekennzeichnet. Der untere rechte Teil der Kurve (niedrige Qualität der Vorhersagen bei realen Daten, aber hohe Qualität der Vorhersagen im Trainingssatz) ist als „Überanpasste Modelle“ gekennzeichnet. Der Höhepunkt der Kurve (hohe Qualität der Vorhersagen auf Grundlage von Realdaten und mittlere Qualität der Vorhersagen auf Grundlage des Trainingsdatensatzes) ist mit „geeignete Modelle“ gekennzeichnet.
Abbildung 14. Unter-, gut und überangepasste Modelle

 

Generalisierung ist das Gegenteil von Überanpassung. Das heißt, ein Modell, das gut generalisiert, kann gute Vorhersagen für neue Daten treffen. Ihr Ziel besteht darin, ein Modell zu erstellen, das sich gut auf neue Daten übertragen lässt.

Überanpassung erkennen

Anhand der folgenden Kurven können Sie Überanpassung erkennen:

  • Verlustkurven
  • Generalisierungskurven

In einer Verlustkurve wird der Verlust eines Modells in Abhängigkeit von der Anzahl der Trainingsiterationen dargestellt. Ein Diagramm mit zwei oder mehr Verlustkurven wird als Generalisierungskurve bezeichnet. Die folgende Generalisierungskurve zeigt zwei Verlustkurven:

Abbildung 15: Die Verlustfunktion für das Trainingsset nimmt allmählich ab. Die Verlustfunktion für den Validierungssatz sinkt ebenfalls, steigt aber nach einer bestimmten Anzahl von Iterationen wieder an.
Abbildung 15. Eine Generalisierungskurve, die stark auf eine Überanpassung hindeutet.

 

Beachten Sie, dass sich die beiden Verlustkurven anfangs ähnlich verhalten und dann auseinanderlaufen. Das heißt, nach einer bestimmten Anzahl von Iterationen sinkt der Verlust für den Trainingssatz oder bleibt konstant (konvergiert), während er für den Validierungssatz zunimmt. Dies deutet auf eine Überanpassung hin.

Im Gegensatz dazu zeigt eine Generalisierungskurve für ein gut passendes Modell zwei Verlustkurven mit ähnlicher Form.

Was führt zu einer Überanpassung?

Grob gesagt wird Überanpassung durch eines oder beide der folgenden Probleme verursacht:

  • Das Trainings-, Validierungs- oder Test-Dataset repräsentiert keine realen Daten.
  • Das Modell ist zu komplex.

Bedingungen für die Generalisierung

Ein Modell wird anhand eines Trainings-Datasets trainiert. Der wahre Test für den Wert eines Modells besteht jedoch darin, wie gut es Vorhersagen für neue Beispiele trifft, insbesondere für reale Daten. Bei der Entwicklung eines Modells dient Ihr Test-Dataset als Proxy für Realdaten. Für das Training eines Modells, das gut generalisiert, gelten die folgenden Dataset-Bedingungen:

  • Die Beispiele müssen unabhängig und identisch verteilt sein. Das bedeutet, dass sich die Beispiele nicht gegenseitig beeinflussen dürfen.
  • Der Datensatz ist stationär, d. h., er ändert sich im Laufe der Zeit nicht wesentlich.
  • Die Dataset-Partitionen haben dieselbe Verteilung. Das heißt, die Beispiele im Trainingssatz sind statistisch ähnlich wie die Beispiele im Validierungssatz, Testsatz und in den Realdaten.

In den folgenden Übungen können Sie die oben genannten Bedingungen ausprobieren.

Übungen: Wissen testen

Betrachten Sie die folgenden Datensatzpartitionen.
Eine horizontale Leiste, die in drei Teile unterteilt ist: 70% der Leiste sind der Trainingssatz, 15% der Validierungssatz und 15 % der Testsatz.
Was sollten Sie tun, damit die Beispiele im Trainingssatz eine ähnliche statistische Verteilung wie die Beispiele im Validierungs- und Testsatz haben?
Mischen Sie die Beispiele im Dataset gründlich, bevor Sie sie partitionieren.
Ja. Durch eine gute Zufallsmixung der Beispiele ist es viel wahrscheinlicher, dass die Partitionen statistisch ähnlich sind.
Sortieren Sie die Beispiele von „Älteste“ nach „Neueste“.
Wenn die Beispiele im Datensatz nicht stationär sind, werden die Partitionen durch das Sortieren weniger ähnlich.
Nichts unternehmen. Bei genügend Beispielen sorgt das Gesetz der großen Zahlen dafür, dass die Verteilungen statistisch ähnlich sind.
Leider ist das nicht der Fall. Die Beispiele in bestimmten Abschnitten des Datensatzes können sich von denen in anderen Abschnitten unterscheiden.
Ein Streamingdienst entwickelt ein Modell, um die Beliebtheit potenzieller neuer Fernsehsendungen für die nächsten drei Jahre vorherzusagen. Der Streamingdienst plant, das Modell mit einem Dataset zu trainieren, das Hunderte von Millionen von Beispielen aus den letzten zehn Jahren enthält. Wird bei diesem Modell ein Problem auftreten?
Wahrscheinlich. Die Vorlieben der Zuschauer ändern sich auf eine Weise, die sich nicht anhand des bisherigen Verhaltens vorhersagen lässt.
Ja. Die Vorlieben der Zuschauer ändern sich. Sie ändern sich ständig.
Auf keinen Fall. Der Datensatz ist groß genug, um gute Vorhersagen zu treffen.
Leider ändern sich die Vorlieben der Zuschauer ständig.
Wahrscheinlich nicht. Die Vorlieben der Zuschauer ändern sich in vorhersehbarer Weise zyklisch. Anhand von zehn Jahren Daten kann das Modell gute Vorhersagen zu zukünftigen Trends treffen.
Auch wenn bestimmte Aspekte der Unterhaltung etwas zyklisch sind, wird ein Modell, das anhand der bisherigen Unterhaltungsgeschichte trainiert wurde, fast mit Sicherheit Schwierigkeiten haben, Prognosen für die nächsten Jahre zu treffen.
Ein Modell soll die Zeit vorhersagen, die Menschen benötigen, um einen Kilometer zu Fuß zurückzulegen. Dabei werden Wetterdaten (Temperatur, Taupunkt und Niederschlag) verwendet, die über ein Jahr in einer Stadt erfasst wurden, in der das Wetter je nach Jahreszeit stark variiert. Können Sie ein Modell aus diesem Datensatz erstellen und testen, obwohl sich die Wetterdaten je nach Jahreszeit drastisch ändern?
Ja
Ja, es ist möglich, ein Modell aus diesem Datensatz zu erstellen und zu testen. Achten Sie nur darauf, dass die Daten gleichmäßig partitioniert sind, sodass die Daten aus allen vier Saisons gleichmäßig auf die verschiedenen Partitionen verteilt sind.
Nein
Angenommen, dieser Datensatz enthält genügend Beispiele für Temperatur, Taupunkt und Niederschlag, können Sie ein Modell auf der Grundlage dieses Datensatzes erstellen und testen. Achten Sie nur darauf, dass die Daten gleichmäßig partitioniert sind, damit die Daten aus allen vier Saisons gleichmäßig auf die verschiedenen Partitionen verteilt werden.

Übungsaufgabe

Sie erstellen ein Modell, das das ideale Datum für Fahrgäste vorhersagt, um ein Bahnticket für eine bestimmte Route zu kaufen. Das Modell könnte beispielsweise empfehlen, dass Nutzer ihr Ticket am 8. Juli für einen Zug kaufen, der am 23. Juli abfährt. Das Bahnunternehmen aktualisiert die Preise stündlich. Dabei werden verschiedene Faktoren berücksichtigt, vor allem aber die aktuelle Anzahl der verfügbaren Sitzplätze. Das bedeutet:

  • Wenn viele Plätze verfügbar sind, sind die Ticketpreise in der Regel niedrig.
  • Wenn nur sehr wenige Plätze verfügbar sind, sind die Ticketpreise in der Regel hoch.
Ihr Modell weist im Validierungs- und Test-Dataset einen geringen Verlust auf, macht aber manchmal schlechte Vorhersagen bei Realdaten. Warum?
Hier klicken, um die Antwort zu sehen