Im Bereich des maschinellen Lernens erstellen wir häufig Modelle, um genaue Vorhersagen über bestimmte Phänomene zu treffen.

Angenommen, wir möchten ein Regressionsmodell erstellen, das die für das Lernen aufgewendeten Stunden der Prädiktorvariablen verwendet, um die Punktzahl der Antwortvariablen für Schüler der High School vorherzusagen.

Um dieses Modell zu erstellen, sammeln wir Daten über die Stunden des Studiums und die entsprechende Punktzahl für Hunderte von Schülern in einem bestimmten Schulbezirk.

Dann werden wir diese Daten verwenden, um ein Modell zu trainieren, das Vorhersagen über die Punktzahl treffen kann, die ein bestimmter Schüler auf der Grundlage seiner gesamten Lernstunden erhält.

Um zu beurteilen, wie nützlich das Modell ist, können wir messen, wie gut die Modellvorhersagen mit den beobachteten Daten übereinstimmen. Eine der am häufigsten verwendeten Metriken ist der mittlere quadratische Fehler (MSE), der wie folgt berechnet wird:

MSE = (1 / n) * Σ (y i - f (x i )) 2

wo:

  • n: Gesamtzahl der Beobachtungen
  • y i: Der Antwortwert der i-ten Beobachtung
  • f (x i ): Der vorhergesagte Antwortwert der i-ten Beobachtung

Je näher die Modellvorhersagen an den Beobachtungen liegen, desto kleiner wird die MSE.

Einer der größten Fehler beim maschinellen Lernen ist jedoch die Optimierung von Modellen, um den Trainings-MSE zu reduzieren - d.h.wie genau die Modellvorhersagen mit den Daten übereinstimmen, die wir zum Trainieren des Modells verwendet haben.

Wenn sich ein Modell zu sehr auf die Reduzierung der Trainings-MSE konzentriert, ist es oft zu schwierig, Muster in den Trainingsdaten zu finden, die nur zufällig verursacht werden. Wenn das Modell dann auf unbekannte Daten angewendet wird, ist die Leistung schlecht.

Dieses Phänomen ist als Überanpassung bekannt. Dies tritt auf, wenn wir ein Modell zu eng an die Trainingsdaten anpassen und so ein Modell erstellen, das für Vorhersagen über neue Daten nicht nützlich ist.

Beispiel für Überanpassung

Um die Überanpassung zu verstehen, kehren wir zum Beispiel der Erstellung eines Regressionsmodells zurück, bei dem anhand der Lernstunden die Punktzahl vorhergesagt wird.

Angenommen, wir sammeln Daten für 100 Schüler in einem bestimmten Schulbezirk und erstellen ein schnelles Streudiagramm, um die Beziehung zwischen den beiden Variablen zu visualisieren:

Überanpassung

Die Beziehung zwischen den beiden Variablen scheint quadratisch zu sein. Nehmen wir also an, wir passen das folgende quadratische Regressionsmodell an:

Punktzahl = 60,1 + 5,4 * (Stunden) - 0,2 * (Stunden) 2

Überanpassung beim maschinellen Lernen

Dieses Modell hat einen mittleren Trainingsfehler (MSE) von 3,45. Das heißt, die mittlere quadratische Differenz zwischen den vom Modell gemachten Vorhersagen und den tatsächlichen Werten beträgt 3,45.

Wir könnten diesen Trainings-MSE jedoch reduzieren, indem wir ein Polynommodell höherer Ordnung anpassen. Angenommen, wir passen das folgende Modell an:

Punktzahl = 64,3 - 7,1 * (Stunden) + 8,1 * (Stunden) 2 - 2,1 * (Stunden) 3 + 0,2 * (Stunden) 4 - 0,1 * (Stunden) 5 + 0,2 (Stunden) 6

Überanpassung eines Modells

Beachten Sie, wie die Regressionslinie die tatsächlichen Daten viel enger umschließt als die vorherige Regressionslinie.

Dieses Modell hat einen mittleren Trainingsfehler (MSE) von nur 0,89. Das heißt, die mittlere quadratische Differenz zwischen den vom Modell gemachten Vorhersagen und den tatsächlichen Werten beträgt 0,89.

Dieser Trainings-MSE ist viel kleiner als die des Vorgängermodells.

Der Trainings-MSE ist uns jedoch nicht wirklich wichtig - d.h.wie genau die Modellvorhersagen mit den Daten übereinstimmen, die wir zum Trainieren des Modells verwendet haben. Stattdessen kümmern wir uns hauptsächlich um den Test-MSE - den MSE, wenn unser Modell auf unbekannte Daten angewendet wird.

Wenn wir das Polynom-Regressionsmodell höherer Ordnung oben auf einen unbekannten Datensatz anwenden würden, würde es wahrscheinlich schlechter abschneiden als das einfachere quadratische Regressionsmodell. Das heißt, es würde einen höheren Test-MSE erzeugen, was genau das ist, was wir nicht wollen.

So erkennen und vermeiden Sie Überanpassungen

Der einfachste Weg, eine Überanpassung zu erkennen, ist die Durchführung einer Kreuzvalidierung. Die am häufigsten verwendete Methode ist als k-fache Kreuzvalidierung bekannt und funktioniert wie folgt:

Schritt 1: Teilen Sie einen Datensatz nach dem Zufallsprinzip in k Gruppen oder „Falten“ von ungefähr gleicher Größe.

Aufteilen eines Datensatzes in k Falten

Schritt 2: Wählen Sie eine der Falten als Holdout-Set. Bringen Sie das Modell an den verbleibenden k-1-Falten an. Berechnen Sie den Test-MSE anhand der Beobachtungen in der herausgehaltenen Falte.

k-fache Kreuzvalidierung

Schritt 3: Wiederholen Sie diesen Vorgang k-mal, wobei Sie jedes Mal einen anderen Datensatz als Holdout-Satz verwenden.

Beispiel für eine k-fache Kreuzvalidierung

Schritt 4: Berechnen Sie den Gesamttest-MSE als Durchschnitt der k-Test-MSEs.

Test MSE = (1 / k) * ΣMSE i

wo:

  • k: Anzahl der Falten
  • MSE i: Testen Sie MSE bei der i-ten Iteration

Dieser Test-MSE gibt uns eine gute Vorstellung davon, wie sich ein bestimmtes Modell auf unbekannte Daten auswirkt.

In der Praxis können wir mehrere verschiedene Modelle anpassen und für jedes Modell eine k-fache Kreuzvalidierung durchführen, um den Test-MSE herauszufinden. Dann können wir das Modell mit dem niedrigsten Test-MSE als das beste Modell für zukünftige Vorhersagen auswählen.

Dies stellt sicher, dass wir ein Modell auswählen, das bei zukünftigen Daten wahrscheinlich die beste Leistung erbringt, im Gegensatz zu einem Modell, das lediglich den Trainings-MSE minimiert und historische Daten gut „anpasst“.

Zusätzliche Ressourcen

Was ist der Bias-Varianz-Kompromiss beim maschinellen Lernen?
Eine Einführung in die K-Fold-Kreuzvalidierung
Regression vs. Klassifikationsmodelle im maschinellen Lernen

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: