Maschinelles Lernen, Über- und Unteranpassung, Regularisierung und Kreuzvalidierung

Inhaltsverzeichnis

maschinelles Lernen

Überanpassung und Unteranpassung

Regularisierung und Kreuzvalidierung

Regulierung

Kreuzvalidierung


maschinelles Lernen

Ziel ist es, dem erlernten Modell eine gute Vorhersagefähigkeit nicht nur für bekannte, sondern auch für unbekannte Daten zu verleihen .

Verschiedene Methoden des maschinellen Lernens ergeben unterschiedliche Modelle. Wenn die Verlustfunktion angegeben ist, werden der Trainingsfehler des Modells basierend auf der Verlustfunktion (Trainingsfehler) und der Testfehler des Modells (Testfehler) natürlich zum Kriterium für die Bewertung der Lernmethode.

Beachten Sie, dass die von der maschinellen Lernmethode verwendete spezifische Verlustfunktion nicht unbedingt die in der Bewertung verwendete Verlustfunktion ist. Natürlich wäre es ideal, wenn beides konsistent wäre.

Die Größe des Trainingsfehlers ist aussagekräftig für die Beurteilung, ob es sich bei einem bestimmten Problem um ein leicht zu erlernendes Problem handelt, ist jedoch im Wesentlichen unwichtig. Der Testfehler spiegelt die Vorhersagefähigkeit der Lernmethode für den unbekannten Testdatensatz wider.

Offensichtlich hat bei zwei Lernmethoden die Methode mit dem kleineren Testfehler eine bessere Vorhersagefähigkeit und ist die effektivere Methode. Im Allgemeinen wird die Vorhersagefähigkeit einer Lernmethode für unbekannte Daten als Generalisierungsfähigkeit bezeichnet .

Überanpassung und Unteranpassung

Bei Modellen für maschinelles Lernen und tiefes Lernen hoffen wir nicht nur, dass sie gut zum Trainingsdatensatz passen, sondern auch, dass sie einen guten Anpassungseffekt (Verallgemeinerungsfähigkeit) auf den unbekannten Datensatz (Testsatz) haben können. Die Generalisierungsfähigkeit des maschinellen Lernens bezieht sich auf die Vorhersagefähigkeit des durch die Methode gelernten Modells für unbekannte Daten, was eine wesentliche Eigenschaft der Lernmethode ist. Die in der Realität am weitesten verbreitete Methode besteht darin, den Testfehler zur Bewertung der Generalisierungsfähigkeit der Lernmethode zu verwenden .

Die Messung der Qualität der Generalisierungsfähigkeit umfasst die sogenannte Unter- und Überanpassung des Modells.

  • Überanpassung bezieht sich auf eine gute Leistung beim Trainingsdatensatz, aber eine schlechte Leistung bei den unbekannten Daten.
  • Unteranpassung bezieht sich auf die Tatsache, dass das Modell die Eigenschaften der Daten nicht gut lernt, die Daten nicht gut anpassen kann und sowohl bei Trainingsdaten als auch bei unbekannten Daten eine schlechte Leistung erbringt.

Bild

Unteranpassung, Normalanpassung und Überanpassung

Die folgende Abbildung zeigt den Zusammenhang zwischen Trainingsfehlern und Testfehlern sowie der Komplexität des Modells. Wenn die Komplexität des Modells zunimmt, nimmt der Trainingsfehler allmählich ab und nähert sich 0, während der Testfehler zunächst abnimmt und dann nach Erreichen des Mindestwerts zunimmt. Überanpassung tritt auf, wenn das ausgewählte Modell zu komplex ist.

Daher ist es notwendig, eine Überanpassung während des Lernens zu verhindern und eine optimale Modellauswahl durchzuführen, dh ein Modell mit angemessener Komplexität auszuwählen, um den Lernzweck der Minimierung des Testfehlers zu erreichen.

Bild

Die Beziehung zwischen Trainingsfehlern und Testfehlern und der Komplexität des Modells

Der Grund für die Überanpassung ist:

  • Es gibt zu viele Parameter und die Modellkomplexität ist zu hoch.

  • Modellierungsstichproben wurden falsch ausgewählt, was dazu führte, dass die ausgewählten Stichprobendaten nicht ausreichten, um die vorgegebenen Klassifizierungsregeln darzustellen;

  • Die Interferenz des Probenrauschens ist zu groß, was dazu führt, dass die Maschine einen Teil des Rauschens als Merkmal betrachtet und die voreingestellten Klassifizierungsregeln stört.

  • Das hypothetische Modell kann vernünftigerweise nicht existieren, oder die Bedingungen für die Wahrhaftigkeit der Annahme sind tatsächlich nicht wahr.

Die Gründe für eine Unteranpassung sind:

  • Zu wenige Funktionen;

  • Die Modellkomplexität ist zu gering.

Wie kann eine Überanpassung gelöst werden?

  • Erfassung und Nutzung von mehr Daten (Datensatzerweiterung) – der grundlegende Weg, Überanpassung zu lösen;

  • Reduzierung der Feature-Dimensionalität: Wählen Sie manuell die Methode zum Beibehalten von Features aus, um die Dimensionalität von Features zu reduzieren.

  • Fügen Sie eine Regularisierung hinzu, um die Komplexität des Modells zu steuern.

  • Dropout; (
    Dropout (zufällige Deaktivierung): Dropout besteht darin, die Knoten jeder Schicht des neuronalen Netzwerks zu durchlaufen und dann einen keep_prob (Knotenhaltewahrscheinlichkeit) für das neuronale Netzwerk dieser Schicht festzulegen, dh die Wahrscheinlichkeit, dass die Knoten dieser Schicht haben keep_prob wird beibehalten, der Wertebereich von keep_prob liegt zwischen 0 und 1. Durch Festlegen der Beibehaltungswahrscheinlichkeit des Knotens in dieser Schicht des neuronalen Netzwerks wird das neuronale Netzwerk nicht auf einen bestimmten Knoten ausgerichtet (da die Der Knoten kann gelöscht werden, sodass das Gewicht jedes Knotens nicht zu groß wird, ähnlich wie bei der L2-Regularisierung, um die Überanpassung des neuronalen Netzwerks zu verringern.)

  • Frühzeitiges Anhalten;

  • Kreuzvalidierung.

Wie kann eine Unteranpassung behoben werden?

  • Um neue Features hinzuzufügen, können Sie das Hinzufügen von Feature-Kombinationen und Features höherer Ordnung in Betracht ziehen, um den Hypothesenraum zu vergrößern.

  • Fügen Sie Polynomfunktionen hinzu, die häufig in Algorithmen für maschinelles Lernen verwendet werden, z. B. das Hinzufügen quadratischer oder kubischer Terme zu linearen Modellen, um das Modell besser verallgemeinerbar zu machen.

  • Reduzieren Sie die Regularisierungsparameter. Der Zweck der Regularisierung besteht darin, eine Überanpassung zu verhindern. Wenn das Modell jedoch nicht ausreichend angepasst ist, müssen Sie die Regularisierungsparameter reduzieren.

  • Verwenden Sie nichtlineare Modelle wie Kernel-SVM, Entscheidungsbaum, Deep Learning und andere Modelle.

  • Passen Sie die Kapazität des Modells an. Im Volksmund bezieht sich die Kapazität des Modells auf seine Fähigkeit, verschiedene Funktionen zu erfüllen.

  • Bei Modellen mit geringer Kapazität kann es schwierig sein, den Trainingssatz unterzubringen.

Regularisierung und Kreuzvalidierung

Regulierung

Eine typische Methode zur Modellauswahl ist die Regularisierung. Unter Regularisierung versteht man die Umsetzung der Strategie zur strukturellen Risikominimierung, die darin besteht, dem empirischen Risiko einen Regularisierer oder einen Strafterm hinzuzufügen. Der Regularisierungsterm ist im Allgemeinen eine monoton steigende Funktion der Modellkomplexität. Je komplexer das Modell, desto größer der Regularisierungswert. Beispielsweise kann der Regularisierungsterm die Norm des Modellparametervektors sein.

Die Regularisierung hat im Allgemeinen die folgende Form:

 

Unter diesen ist das erste Element das empirische Risiko und das zweite Element das Regularisierungselement, bei dem es sich um den Koeffizienten zur Anpassung der Beziehung zwischen den beiden handelt.

Das Modell mit dem geringeren empirischen Risiko von Element 1 kann komplexer sein (mit mehreren Parametern ungleich Null), und die Modellkomplexität von Element 2 wird größer sein. Die Rolle der Regularisierung besteht darin, Modelle mit geringem empirischen Risiko und gleichzeitig geringer Modellkomplexität auszuwählen.

Aus Sicht der Bayes'schen Schätzung entspricht der Regularisierungsterm der A-priori-Wahrscheinlichkeit des Modells .

  • Bei komplexen Modellen kann davon ausgegangen werden, dass sie kleinere A-priori-Wahrscheinlichkeiten haben
  • Einfache Modelle haben größere A-priori-Wahrscheinlichkeiten

Kreuzvalidierung

Eine weitere häufig verwendete Methode zur Modellauswahl ist die Kreuzvalidierung.

Wenn die gegebenen Beispieldaten ausreichen, besteht eine einfache Möglichkeit zur Auswahl eines Modells darin, den Datensatz zufällig in drei Teile zu unterteilen, nämlich Trainingssatz, Validierungssatz und Testsatz . Der Trainingssatz dient zum Trainieren des Modells, der Validierungssatz zur Modellauswahl und der Testsatz zur abschließenden Bewertung der Lernmethode. Unter den erlernten Modellen unterschiedlicher Komplexität wird das Modell mit dem kleinsten Vorhersagefehler im Validierungssatz ausgewählt. Da der Validierungssatz über genügend Daten verfügt, ist es auch effektiv, diese für die Modellauswahl zu verwenden.

Für viele praktische Anwendungen reichen die Daten jedoch nicht aus. Um ein gutes Modell auszuwählen, kann eine Kreuzvalidierungsmethode verwendet werden. Die Grundidee der Kreuzvalidierung besteht darin, Daten wiederholt zu verwenden, die gegebenen Daten aufzuteilen, die aufgeteilten Datensätze in einen Trainingssatz und einen Testsatz zu kombinieren und auf dieser Grundlage wiederholt Training, Tests und Modellauswahl durchzuführen .

  1. einfache Kreuzvalidierung

Die einfache Kreuzvalidierungsmethode besteht darin, die gegebenen Daten zunächst zufällig in zwei Teile zu teilen, einen Teil als Trainingssatz und den anderen Teil als Testsatz zu verwenden (z. B. sind 70 % der Daten der Trainingssatz). , und 30 % der Daten sind der Testsatz); dann verwenden Sie den Trainingssatz, um das Modell unter verschiedenen Bedingungen (z. B. einer unterschiedlichen Anzahl von Parametern) zu trainieren, um unterschiedliche Modelle zu erhalten; bewerten Sie den Testfehler jedes Modells im Testsatz. und wählen Sie das Modell mit dem kleinsten Testfehler aus.

  1. S-fache Kreuzvalidierung

Am weitesten verbreitet ist die S-fache Kreuzvalidierung (S-fache Kreuzvalidierung). Die Methode lautet wie folgt: Zuerst werden die gegebenen Daten zufällig in S-Teilmengen unterteilt, die zueinander disjunkt und gleich groß sind; dann werden die Daten von S-1-Teilmengen werden zum Trainieren des Modells verwendet, die verbleibenden Teilmengen werden zum Testen des Modells verwendet; dieser Vorgang wird mit möglichen S-Optionen wiederholt; schließlich wird das Modell mit dem kleinsten durchschnittlichen Testfehler in den S-Bewertungen ausgewählt.

  1. Lassen Sie eine einmalige Kreuzvalidierung weg

Der Sonderfall der S-fachen Kreuzvalidierung ist S=N, was zur Leave-One-Out-Kreuzvalidierung (LOOCV) wird, die häufig verwendet wird, wenn die Daten knapp sind. Hier ist N die Kapazität des angegebenen Datensatzes .

Supongo que te gusta

Origin blog.csdn.net/qq_38998213/article/details/132412608
Recomendado
Clasificación