Was ist Overfitting im maschinellen Lernen und wie kann man es vermeiden?

Beim Erstellen eines maschinellen Lernmodells geht es nicht nur darum, die Daten einzuspeisen, es gibt viele Mängel, die die Genauigkeit eines Modells beeinträchtigen. Überanpassung beim maschinellen Lernen ist ein solcher Mangel beim maschinellen Lernen, der sowohl die Genauigkeit als auch die Leistung des Modells beeinträchtigt. Die folgenden Themen werden in diesem Artikel behandelt:

  • Was ist Überanpassung beim maschinellen Lernen?
  • Beispiele für Überanpassung
  • Signal vs Rauschen
  • Was ist Unteranpassung?
  • Wie erkennt man eine Überanpassung?
  • Wie vermeide ich eine Überanpassung beim maschinellen Lernen
  • Was ist die Güte der Anpassung?
  • Der Kompromiss zwischen Bias und Varianz

Was ist Überanpassung beim maschinellen Lernen?

Ein statistisches Modell soll überangepasst sein, wenn wir ihm viel mehr Daten als nötig zuführen. Um es zuordenbar zu machen, stellen Sie sich vor, Sie versuchen, in übergroße Kleidung zu passen.

Überanpassung beim maschinellen Lernen - edureka

Wenn ein Modell mehr Daten anpasst, als es tatsächlich benötigt, fängt es an, die verrauschten Daten und ungenauen Werte in den Daten zu erfassen. Infolgedessen nehmen die Effizienz und Genauigkeit des Modells ab. Schauen wir uns einige Beispiele für Überanpassung an, um zu verstehen, wie es tatsächlich passiert.

Beispiele für Überanpassung

Beispiel 1

Wenn wir ein Beispiel für eine einfache lineare Regression nehmen, geht es beim Trainieren der Daten darum, die minimalen Kosten zwischen der Best-Fit-Linie und den Datenpunkten herauszufinden. Es durchläuft eine Reihe von Iterationen, um die optimale Passform zu ermitteln und die Kosten zu minimieren. Hier kommt Overfitting ins Spiel.

lineare Regression - Überanpassung im maschinellen Lernen - edureka

Die im obigen Bild gezeigte Linie kann ein sehr effizientes Ergebnis für einen neuen Datenpunkt liefern. Wenn wir im Falle einer Überanpassung den Trainingsalgorithmus für den Datensatz ausführen, können wir die Kosten mit jeder Anzahl von Iterationen reduzieren.

Wenn Sie diesen Algorithmus zu lange ausführen, werden die Kosten gesenkt, aber er passt auch zu den verrauschten Daten aus dem Datensatz. Das Ergebnis würde ungefähr wie in der folgenden Grafik aussehen.

Überanpassung in Machine Learning - edureka

Dies mag effizient aussehen, ist es aber nicht wirklich. Das Hauptziel eines Algorithmus wie der linearen Regression besteht darin, einen dominanten Trend zu finden und die Datenpunkte entsprechend anzupassen. In diesem Fall passt die Linie jedoch zu allen Datenpunkten, was für die Effizienz des Modells bei der Vorhersage optimaler Ergebnisse für neue Eingangsdatenpunkte irrelevant ist.

Betrachten wir nun ein anschaulicheres Beispiel mit Hilfe einer Problemstellung.

Beispiel 2

Problemstellung: Lassen Sie uns überlegen, ob wir vorhersagen möchten, ob ein Fußballspieler basierend auf seiner aktuellen Leistung in der Tier-2-Liga einen Platz in einem Tier-1-Fußballverein ergattern wird.

Nun stellen Sie sich vor, wir trainieren und passen das Modell mit 10.000 solchen Spielern mit Ergebnissen an. Wenn wir versuchen, das Ergebnis anhand des ursprünglichen Datensatzes vorherzusagen, nehmen wir an, wir haben eine Genauigkeit von 99%. Aber die Genauigkeit auf einem anderen Datensatz kommt um 50 Prozent. Dies bedeutet, dass das Modell aus unseren Trainingsdaten und unsichtbaren Daten nicht gut verallgemeinert werden kann.

So sieht Überanpassung aus. Es ist ein sehr häufiges Problem im maschinellen Lernen und sogar in der Datenwissenschaft. Lassen Sie uns nun das Signal und Rauschen verstehen.

Signal vs. Rauschen

In der Vorhersagemodellierung bezieht sich das Signal auf das wahre zugrunde liegende Muster, das dem Modell hilft, die Daten zu lernen. Andererseits ist Rauschen irrelevant und zufällige Daten im Datensatz. Um das Konzept von Rauschen und Signal zu verstehen, nehmen wir ein Beispiel aus der Praxis.

Nehmen wir an, wir wollen das Alter gegen die Alphabetisierung bei Erwachsenen modellieren. Wenn wir einen sehr großen Teil der Bevölkerung stichproben, werden wir eine klare Beziehung finden. Dies ist das Signal, während Rauschen das Signal stört. Wenn wir dasselbe bei einer lokalen Bevölkerung tun, wird die Beziehung schlammig. Es wäre von Ausreißern und Zufälligkeit betroffen, zum Beispiel ging ein Erwachsener früh zur Schule oder ein Erwachsener konnte sich keine Bildung leisten usw.

Apropos Rauschen und Signal In Bezug auf maschinelles Lernen trennt ein guter Algorithmus für maschinelles Lernen automatisch Signale vom Rauschen. Wenn der Algorithmus zu komplex oder ineffizient ist, lernt er möglicherweise auch das Rauschen. Daher Überanpassung des Modells. Lassen Sie uns auch Underfitting im maschinellen Lernen verstehen.

Was ist Underfitting?

Um eine Überanpassung zu vermeiden, konnten wir das Training früher abbrechen. Dies kann jedoch auch dazu führen, dass das Modell nicht genug aus den Trainingsdaten lernen kann, sodass es möglicherweise schwierig ist, den dominierenden Trend zu erfassen. Dies wird als Underfitting bezeichnet. Das Ergebnis ist das gleiche wie Überanpassung, Ineffizienz bei der Vorhersage von Ergebnissen.

underfitting - Overfitting im maschinellen Lernen - edureka

Nachdem wir nun verstanden haben, was Underfitting und Overfitting im maschinellen Lernen wirklich sind, wollen wir versuchen zu verstehen, wie wir Overfitting im maschinellen Lernen erkennen können.

Wie erkennt man eine Überanpassung?

Die größte Herausforderung bei der Überanpassung besteht darin, die Genauigkeit der Leistung unseres Modells mit neuen Daten abzuschätzen. Wir könnten die Genauigkeit erst abschätzen, wenn wir sie tatsächlich testen.

Um dieses Problem zu beheben, können wir den Anfangsdatensatz in separate Trainings- und Testdatensätze aufteilen. Mit dieser Technik können wir tatsächlich annähern, wie gut unser Modell mit den neuen Daten funktioniert.

Lassen Sie uns dies anhand eines Beispiels verstehen: Stellen Sie sich vor, wir erhalten eine Genauigkeit von über 90 Prozent für das Trainingsset und eine Genauigkeit von 50 Prozent für das Testset. Dann wäre es automatisch eine rote Fahne für das Modell.

Eine andere Möglichkeit, Überanpassungen zu erkennen, besteht darin, mit einem vereinfachten Modell zu beginnen, das als Benchmark dient.

Wenn Sie mit diesem Ansatz komplexere Algorithmen ausprobieren, können Sie verstehen, ob sich die zusätzliche Komplexität für das Modell überhaupt lohnt oder nicht. Es ist auch bekannt als Occam’s Razor Test, es wählt im Grunde das vereinfachte Modell bei vergleichbarer Leistung bei zwei Modellen. Das Erkennen einer Überanpassung ist zwar eine gute Praxis, es gibt jedoch auch verschiedene Techniken, um eine Überanpassung zu verhindern. Lassen Sie uns einen Blick darauf werfen, wie wir eine Überanpassung beim maschinellen Lernen verhindern können.

Wie kann man eine Überanpassung beim maschinellen Lernen vermeiden?

Es gibt mehrere Techniken, um eine Überanpassung beim maschinellen Lernen zu vermeiden.

  1. Kreuzvalidierung

  2. Training mit mehr Daten

  3. Entfernen von Funktionen

  4. Frühes Stoppen

  5. Regularisierung

  6. Ensembling

1. Kreuzvalidierung

Eine der leistungsstärksten Funktionen zur Vermeidung / Verhinderung von Überanpassungen ist die Kreuzvalidierung. Die Idee dahinter ist, die anfänglichen Trainingsdaten zu verwenden, um Mini-Train-Test-Splits zu generieren, und diese Splits dann zum Optimieren Ihres Modells zu verwenden.

Bei einer standardmäßigen k-Fold-Validierung werden die Daten in k-Teilmengen partitioniert, die auch als Falten bezeichnet werden. Danach wird der Algorithmus iterativ auf k-1-Falten trainiert, während die verbleibenden Falten als Testsatz verwendet werden, der auch als Holdout-Falte bezeichnet wird.

Kreuzvalidierung - Überanpassung im maschinellen Lernen - edurekaDie Kreuzvalidierung hilft uns, die Hyperparameter nur mit dem ursprünglichen Trainingssatz abzustimmen. Grundsätzlich wird der Testsatz separat als echter unsichtbarer Datensatz für die Auswahl des endgültigen Modells gespeichert. Vermeiden Sie daher eine vollständige Überanpassung.

2. Training mit mehr Daten

Diese Technik funktioniert möglicherweise nicht jedes Mal, wie wir auch im obigen Beispiel besprochen haben, wo das Training mit einer signifikanten Population dem Modell hilft. Grundsätzlich hilft es dem Modell, das Signal besser zu identifizieren.

In einigen Fällen können die erhöhten Daten jedoch auch bedeuten, dass dem Modell mehr Rauschen zugeführt wird. Wenn wir das Modell mit mehr Daten trainieren, müssen wir sicherstellen, dass die Daten sauber und frei von Zufälligkeit und Inkonsistenzen sind.

3. Entfernen von Features

Obwohl einige Algorithmen eine automatische Auswahl von Features haben. Für eine beträchtliche Anzahl von Personen, die keine integrierte Funktionsauswahl haben, können wir einige irrelevante Funktionen manuell aus den Eingabefunktionen entfernen, um die Verallgemeinerung zu verbessern.

Eine Möglichkeit, dies zu tun, besteht darin, eine Schlussfolgerung darüber abzuleiten, wie ein Feature in das Modell passt. Es ist dem zeilenweisen Debuggen des Codes ziemlich ähnlich.

Falls ein Merkmal die Relevanz im Modell nicht erklären kann, können wir diese Merkmale einfach identifizieren. Wir können sogar einige Feature-Auswahl-Heuristiken für einen guten Ausgangspunkt verwenden.

4. Frühzeitiges Stoppen

Wenn das Modell trainiert wird, können Sie anhand jeder Iteration messen, wie gut das Modell funktioniert. Wir können dies bis zu einem Punkt tun, an dem die Iterationen die Leistung des Modells verbessern. Danach passt das Modell die Trainingsdaten an, da die Verallgemeinerung nach jeder Iteration schwächer wird.

frühes Stoppen - Überanpassung im maschinellen Lernen - edureka

Im Grunde bedeutet frühes Stoppen, den Trainingsprozess zu stoppen, bevor das Modell den Punkt passiert, an dem das Modell beginnt, die Trainingsdaten zu überanpassen. Diese Technik wird hauptsächlich im Deep Learning eingesetzt.

5. Regularisierung

Es bedeutet im Grunde, Ihr Modell künstlich zu zwingen, einfacher zu sein, indem Sie eine breitere Palette von Techniken verwenden. Es hängt völlig von der Art des Lernenden ab, den wir verwenden. Zum Beispiel können wir einen Entscheidungsbaum beschneiden, einen Dropout in einem neuronalen Netzwerk verwenden oder der Kostenfunktion in der Regression einen Strafparameter hinzufügen.

Sehr oft ist die Regularisierung auch ein Hyperparameter. Dies bedeutet, dass es auch durch Kreuzvalidierung optimiert werden kann.

6. Ensembling

Diese Technik kombiniert im Wesentlichen Vorhersagen aus verschiedenen Modellen des maschinellen Lernens. Zwei der gebräuchlichsten Methoden für Ensembling sind unten aufgeführt:

  • Bagging versucht, die Wahrscheinlichkeit einer Überanpassung der Modelle zu verringern

  • Boosting versucht, die Vorhersageflexibilität einfacherer Modelle zu verbessern

Obwohl es sich beide um Ensemble-Methoden handelt, geht der Ansatz völlig von entgegengesetzten Richtungen aus. Bagging verwendet komplexe Basismodelle und versucht, ihre Vorhersagen zu glätten, während Boosting einfache Basismodelle verwendet und versucht, seine aggregierte Komplexität zu erhöhen.

Was ist die Güte der Passform?

In der statistischen Modellierung bezieht sich die Anpassungsgüte darauf, wie genau die Ergebnisse oder vorhergesagten Werte mit den beobachteten oder wahren Werten übereinstimmen. Ein Modell, das Rauschen anstelle des Signals gelernt hat, ist überangepasst, da es zum Trainingsdatensatz passt, aber mit dem neuen Datensatz eine schlechtere Effizienz aufweist.

Der Kompromiss zwischen Bias und Varianz

Sowohl Varianz als auch Bias sind Formen von Vorhersagefehlern im maschinellen Lernen. Der Kompromiss zwischen hoher Varianz und hoher Verzerrung ist ein sehr wichtiges Konzept in der Statistik und im maschinellen Lernen. Dies ist ein Konzept, das alle überwachten Algorithmen für maschinelles Lernen betrifft.

Der Bias-Varianz-Kompromiss hat einen sehr signifikanten Einfluss auf die Bestimmung der Komplexität, der Unter- und Überanpassung für jedes Modell des maschinellen Lernens.

Bias

Es ist nichts anderes als die Differenz zwischen den vorhergesagten Werten und den tatsächlichen oder wahren Werten im Modell. Es ist nicht immer einfach für das Modell, aus ziemlich komplexen Signalen zu lernen.

Stellen wir uns vor, wir passen eine lineare Regression an ein Modell mit nichtlinearen Daten an. Unabhängig davon, wie effizient das Modell die Beobachtungen lernt, werden die Kurven nicht effizient modelliert. Das nennt man Underfitting.

Varianz

Sie bezieht sich auf die Sensitivität des Modells gegenüber bestimmten Sätzen in den Trainingsdaten. Ein Algorithmus mit hoher Varianz erzeugt ein bizarres Modell, das sich drastisch vom Trainingssatz unterscheidet.

Stellen Sie sich einen Algorithmus vor, der zum uneingeschränkten und superflexiblen Modell passt.

Bias-Varianz-Kompromiss

Ein Algorithmus für maschinelles Lernen kann nicht als einmalige Methode zum Trainieren des Modells wahrgenommen werden, sondern ist ein sich wiederholender Prozess.

Algorithmen mit geringer Varianz und hoher Verzerrung sind weniger komplex und haben eine einfache und starre Struktur.

  • Sie werden die Modelle trainieren, die konsistent, aber im Durchschnitt ungenau sind.

  • Dazu gehören lineare oder parametrische Algorithmen wie Regression, Naive Bayes usw.

Algorithmen mit hoher Varianz und geringem Bias sind in der Regel komplexer und haben eine flexible Struktur.

  • Sie werden die Modelle trainieren, die im Durchschnitt inkonsistent, aber genau sind.

  • Dazu gehören nichtlineare oder nichtparametrische Algorithmen wie Entscheidungsbäume, Nächster Nachbar usw.

Dies bringt uns zum Ende dieses Artikels, wo wir Überanpassung im maschinellen Lernen und über verschiedene Techniken gelernt haben, um es zu vermeiden. Ich hoffe, Sie sind mit allem klar, was in diesem Tutorial mit Ihnen geteilt wurde.

Wenn Sie diesen Artikel über „Überanpassung beim maschinellen Lernen“ relevant fanden, schauen Sie sich das Edureka Machine Learning Certification Training an, ein vertrauenswürdiges Online-Lernunternehmen mit einem Netzwerk von mehr als 250.000 zufriedenen Lernenden auf der ganzen Welt.

Wir sind hier, um Ihnen bei jedem Schritt auf Ihrer Reise zu helfen und einen Lehrplan zu entwickeln, der für Studenten und Fachleute entwickelt wurde, die Maschinenlerningenieur werden möchten. Der Kurs soll Ihnen einen Vorsprung in der Python-Programmierung verschaffen und Sie sowohl für Kern- als auch für fortgeschrittene Python-Konzepte sowie für verschiedene Algorithmen für maschinelles Lernen wie SVM, Entscheidungsbaum usw. schulen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.