Freigeben über


Verhindern von Überanpassung und unausgeglichenen Daten durch automatisiertes ML

Häufige Fehler bei der Erstellung von Machine Learning-Modellen sind Überanpassung und unausgeglichene Daten. Standardmäßig stellt das Feature für automatisiertes maschinelles Lernen in Azure Machine Learning Diagramme und Metriken bereit, mit denen Sie diese Risiken identifizieren können. In diesem Artikel wird beschrieben, wie Sie bewährte Methoden beim automatisierten maschinellen Lernen implementieren können, um häufige Probleme zu beheben.

Erkennen von Überanpassung

Überanpassung bei maschinellem Lernen tritt auf, wenn ein Modell zu gut an die Trainingsdaten angepasst ist. Daher kann das Modell keine genauen Vorhersagen für nicht bekannte Testdaten vornehmen. Das Modell hat sich bestimmte Muster und bestimmtes Rauschen in den Trainingsdaten gemerkt, ist aber nicht flexibel genug, um Vorhersagen zu echten Daten zu treffen.

Sehen Sie sich die folgenden trainierten Modelle und deren entsprechende Trainings- und Testgenauigkeiten an:

Modell Trainingsgenauigkeit Testgenauigkeit
Ein 99,9 % 95 %
B 87 % 87 %
C 99,9 % 45 %
  • Modell A: Der Test für dieses Modell erzeugt etwas weniger Genauigkeit als das Modelltraining. Es gibt ein gängiges Missverständnis: Wenn die Testgenauigkeit bei unbekannten Daten niedriger ist als die Trainingsgenauigkeit, ist das Modell überangepasst. Die Testgenauigkeit sollte jedoch immer kleiner sein als die Trainingsgenauigkeit. Die Unterscheidung zwischen Überanpassung und angemessen angepassten Daten läuft darauf hinaus, zu messen, wie viel geringer die Genauigkeit ist.

  • Modell A im Vergleich zum Modell B: Modell A ist ein besseres Modell, da es eine höhere Testgenauigkeit hat. Obwohl die Testgenauigkeit mit 95 % etwas niedriger ist, ist es kein signifikanter Unterschied, der auf eine Überanpassung hindeutet. Das Modell B wird nicht bevorzugt, da die Trainings- und Testgenauigkeiten ähnlich sind.

  • Modell C: Dieses Modell stellt einen eindeutigen Fall von Überanpassung dar. Die Trainingsgenauigkeit ist hoch und die Testgenauigkeit ist niedrig. Diese Unterscheidung ist subjektiv, aber sie ergibt sich aus dem Wissen über Ihr Problem und Ihre Daten und darüber, welches Ausmaß an Fehlern akzeptabel ist.

Verhindern der Überanpassung

In den gravierendsten Fällen führt ein überangepasstes Modell zu der Annahme, dass die beim Training verwendeten Featurewertkombinationen immer die exakt gleiche Ausgabe für das Ziel ergeben. Um eine Überanpassung Ihrer Daten zu vermeiden, empfiehlt es sich, bewährte Methoden für maschinelles Lernen zu befolgen. Dies sind mehrere Methoden, die Sie in Ihrer Modellimplementierung konfigurieren können. Automatisiertes maschinelles Lernen bietet außerdem standardmäßig weitere Optionen, um eine Überanpassung zu verhindern.

In der folgenden Tabelle sind häufig verwendete bewährte Methoden zusammengefasst:

Best Practice Implementierung Automatisiertes maschinelles Lernen
Verwenden von möglichst vielen Trainingsdaten und Eliminieren statistischer systematischer Abweichungen X
Verhindern von Zielungenauigkeit (target leakage) X
Integrieren weniger Features X
Unterstützung für Regularisierung und Hyperparameteroptimierung X
Anwenden von Einschränkungen der Modellkomplexität X
Verwenden einer Kreuzvalidierung X

Anwenden bewährter Methoden, um eine Überanpassung zu verhindern

In den folgenden Abschnitten werden bewährte Methoden beschrieben, die Sie bei der Implementierung Ihres Machine Learning-Modells verwenden können, um eine Überanpassung zu verhindern.

Verwenden von mehr Daten

Die Verwendung von mehr Daten ist die einfachste und beste Möglichkeit, um eine Überanpassung zu verhindern, und erhöht außerdem in den meisten Fällen die Genauigkeit. Wenn Sie mehr Daten verwenden, wird es für das Modell schwieriger, sich genaue Muster zu merken. Das Modell wird gezwungen, Lösungen zu finden, die flexibler sind, um mehr Bedingungen zu berücksichtigen. Außerdem ist es wichtig, systematische statistische Verzerrungen zu erkennen, um sicherzustellen, dass die Trainingsdaten keine isolierten Muster enthalten, die in echten Vorhersagedaten nicht vorhanden sind. Die Lösung dieses Szenarios kann schwierig sein, da im Vergleich zu echten Testdaten eine Überanpassung vorliegen könnte.

Verhindern von Zielungenauigkeit (target leakage)

Ziellecks sind ein ähnliches Problem. Möglicherweise sehen Sie keine Überanpassung zwischen dem Trainings- und dem Testsatz, aber das Leckproblem zeigt sich bei der Vorhersage. Zielungenauigkeit tritt auf, wenn Ihr Modell während des Trainings „betrügt“, indem es Zugriff auf Daten hat, auf die es zur Vorhersagezeit normalerweise keinen Zugriff haben sollte. Ein Beispiel dafür ist, dass das Modell montags vorhersagen soll, was der Rohstoffpreis für Freitag ist. Wenn Ihre Features versehentlich Daten von Donnerstagen enthalten, hat das Modell Zugriff auf Daten, die zur Vorhersagezeit nicht verfügbar sind, da es nicht in die Zukunft blicken kann. Ziellecks sind ein einfach zu übersehender Fehler. Sie sind oft sichtbar, wenn Sie eine ungewöhnlich hohe Genauigkeit für Ihr Problem haben. Wenn Sie versuchen, den Aktienkurs vorherzusagen und ein Modell mit einer Genauigkeit von 95 % trainiert haben, gibt es wahrscheinlich eine Zielungenauigkeit in ihren Features.

Integrieren weniger Features

Das Entfernen von Features kann ebenfalls gegen Überanpassung helfen, da es verhindert, dass das Modell zu viele Felder verwendet, um sich bestimmte Muster zu merken. Dies führt dazu, dass das Modell flexibler wird. Es kann schwierig sein, dies quantitativ zu messen. Wenn Sie Features entfernen und dieselbe Genauigkeit beibehalten können, kann Ihr Modell flexibler sein und das Risiko einer Überanpassung verringern.

Überprüfen von Features für automatisiertes ML, um eine Überanpassung zu verhindern

In den folgenden Abschnitten werden bewährte Methoden beschrieben, die standardmäßig in automatisiertem maschinellem Lernen bereitgestellt werden, um Überanpassungen zu verhindern.

Unterstützung für Regularisierung und Hyperparameteroptimierung

Regularisierung ist ein Prozess, bei dem eine Kostenfunktion minimiert wird, um komplexe und überangepasste Modelle zu pönalisieren. Es gibt verschiedene Arten von Regularisierungsfunktionen. Im Allgemeinen bestrafen alle Funktionen die Modellkoeffizientengröße, Varianz und Komplexität. Automatisiertes ML verwendet L1 (Lasso), L2 (Ridge) und ElasticNet (L1 und L2 gleichzeitig) in verschiedenen Kombinationen mit unterschiedlichen Modellhyperparametereinstellungen, die Überanpassung steuern. Automatisiertes ML variiert, wie stark ein Modell reguliert wird, und wählt das beste Ergebnis aus.

Anwenden von Einschränkungen der Modellkomplexität

Automatisiertes ML implementiert auch explizite Einschränkungen der Modellkomplexität, um Überanpassung zu verhindern. In den meisten Fällen dient diese Implementierung speziell für Entscheidungsstruktur- oder Entscheidungswaldalgorithmen. Die maximale Tiefe einzelner Bäume ist begrenzt, und die Gesamtanzahl der Bäume, die in Wald- oder Ensembletechniken verwendet werden, ist begrenzt.

Verwenden einer Kreuzvalidierung

Kreuzvalidierung ist der Prozess, bei dem viele Teilmengen Ihrer vollständigen Trainingsdaten erstellt werden und ein Modell mit jeder Teilmenge trainiert wird. Die Idee ist, dass ein Modell „Glück haben“ und eine große Genauigkeit mit einer Teilmenge erzielen könnte, aber durch Verwenden vieler Teilmengen kann das Modell diese hohe Genauigkeit nicht jedes Mal erzielen. Wenn Sie eine Kreuzvalidierung vornehmen, stellen Sie ein Validierungsdataset mit zurückgehaltenen Daten bereit und geben Ihre Kreuzvalidierungsfaltungen (Anzahl der Teilmengen) an. Automatisiertes ML trainiert daraufhin Ihr Modell und optimiert Hyperparameter, um den Fehler für Ihren Validierungssatz zu minimieren. Eine Kreuzvalidierungsfaltung könnte überangepasst sein, aber dadurch, dass viele von ihnen verwendet werden, wird die Wahrscheinlichkeit verringert, dass das endgültige Modell überangepasst ist. Der Nachteil ist, dass die Kreuzvalidierung längere Trainingszeiten benötigt und somit höhere Kosten verursacht, denn Sie trainieren ein Modell für jedes n in den Kreuzvalidierungsteilmengen.

Hinweis

Die Kreuzvalidierung ist standardmäßig nicht aktiviert. Dieses Feature muss in den Einstellungen für automatisiertes maschinelles Lernen konfiguriert werden. Nachdem die Kreuzvalidierung konfiguriert und ein Validierungsdataset bereitgestellt wurde, wird der Prozess jedoch für Sie automatisiert.

Identifizieren von Modellen mit unausgeglichenen Daten

Unausgeglichene Daten finden sich häufig in Daten für Klassifizierungsszenarien des maschinellen Lernens und beziehen sich auf Daten, die ein überproportionales Verhältnis von Beobachtungen in den einzelnen Klassen enthalten. Diese Unausgeglichenheit kann zu einem falsch wahrgenommenen positiven Effekt der Genauigkeit eines Modells führen, da die Eingabedaten eine Abweichung zu einer Klasse aufweisen, was dazu führt, dass das trainierte Modell diese Abweichung imitiert.

Darüber hinaus generieren automatisierte ML-Aufträge automatisch die folgenden Diagramme. Diese Diagramme helfen Ihnen dabei, die Richtigkeit der Klassifizierungen Ihres Modells zu verstehen und Modelle zu identifizieren, die möglicherweise von nicht ausgeglichenen Daten beeinflusst werden.

Diagramm BESCHREIBUNG
Konfusionsmatrix Bewertet die ordnungsgemäß klassifizierten Bezeichnungen anhand der tatsächlichen Bezeichnungen der Daten.
Genauigkeit-Trefferquote Bewertet das Verhältnis der richtigen Bezeichnungen anhand des Verhältnisses der gefundenen Bezeichnungsinstanzen der Daten.
ROC-Kurven Bewertet das Verhältnis von richtigen Bezeichnungen anhand des Verhältnisses von falsch positiven Bezeichnungen.

Behandeln von unausgeglichenen Daten

Als Teil des Ziels, den Workflow des maschinellen Lernens zu vereinfachen, verfügt das automatisierte maschinelle Lernen über integrierte Funktionen, die bei der Verarbeitung unausgeglichener Daten helfen:

  • Automatisiertes ML erstellt eine Gewichtungsspalte als Eingabe, damit Zeilen in den Daten eine höhere oder niedrigere Gewichtung erhalten. Auf diese Weise kann eine Klasse mehr oder weniger „wichtig“ gemacht werden.

  • Die vom automatisierten maschinellen Lernen verwendeten Algorithmen erkennen ein Ungleichgewicht, wenn die Anzahl der Stichproben in der Minderheitsklasse gleich oder weniger als 20 Prozent der Anzahl der Stichproben in der Mehrheitsklasse ist. Die Minderheitsklasse ist die Klasse mit den wenigsten Stichproben, und die Mehrheitsklasse ist die Klasse mit den meisten Stichproben. Später führt automatisiertes maschinelles Lernen ein Experiment mit Teilstichprobendaten aus, um zu überprüfen, ob sich das Problem mit Klassengewichtungen lösen und die Leistung so verbessern lässt. Wenn bei diesem Experiment eine bessere Leistung erzielt wurde, wird die Problemlösung übernommen.

  • Verwenden Sie eine Leistungsmetrik, die besser mit unausgeglichenen Daten umgeht. Beispielsweise ist „AUC_weighted“ eine primäre Metrik, die den Beitrag jeder Klasse basierend auf der relativen Anzahl von Stichproben berechnet, die diese Klasse darstellen. Diese Metrik ist robuster gegen Ungleichgewichte.

Die folgenden Verfahren sind zusätzliche Optionen zum Behandeln von unausgeglichenen Daten außerhalb des automatisierten maschinellen Lernens:

  • Erneute Stichprobenerfassung, um das Klassenungleichgewicht auszugleichen. Sie können mehr Stichproben für die kleineren Klassen hinzufügen oder Stichproben aus größeren Klassen entfernen. Diese Methoden erfordern Fachwissen, um sie zu verarbeiten und zu analysieren.

  • Überprüfen Sie Leistungsmetriken für unausgeglichene Daten. Beispielsweise ist der F1-Score das harmonische Mittel aus Genauigkeit und Abruf. Genauigkeit misst die Präzision eines Klassifizierers, wobei eine höhere Genauigkeit weniger falsch positive Ergebnisse angibt. Abruf misst die Vollständigkeit eines Klassifizierers, wobei ein höherer Abruf weniger falsch negative Ergebnisse anzeigt.

Nächster Schritt