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 bietet das automatisierte maschinelle Lernen von Azure Machine Learning Diagramme und Metriken, die Ihnen helfen, diese Risiken zu identifizieren und bewährte Methoden zu implementieren, um sie zu verringern.

Erkennen von Überanpassung

Überanpassung bei maschinellem Lernen tritt auf, wenn ein Modell zu gut zu den Trainingsdaten passt und daher nicht in der Lage ist, eine genaue Vorhersage für unbekannte Testdaten zu liefern. Mit anderen Worten: 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 %

Beim Betrachten von Modell A gibt es 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 als die Trainingsgenauigkeit sein, und die Unterscheidung zwischen „überangepasst“ und „angemessen angepasst“ wird heruntergebrochen auf wie viel ungenauer.

Beim Vergleich der Modelle A und B schneidet das Modell A besser ab, da es eine höhere Testgenauigkeit hat, und obwohl die Testgenauigkeit geringfügig niedriger ist und bei 95 % liegt, ist dies kein bedeutender Unterschied, der nahelegen würde, dass eine Überanpassung vorliegt. Modell B würde deshalb nicht ausgewählt, weil die Trainings- und die Testgenauigkeit näher beieinander liegen.

Model C repräsentiert einen eindeutigen Fall von Überanpassung. Die Trainingsgenauigkeit ist zwar hoch, die Testgenauigkeit aber nicht einmal annähernd. 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.

Eine Überanpassung lässt sich am besten durch Anwendung der bewährten Methoden für Machine Learning verhindern. Dazu gehören:

  • Verwenden von möglichst vielen Trainingsdaten und Eliminieren statistischer systematischer Abweichungen
  • Verhindern von Zielungenauigkeit (target leakage)
  • Verwenden weniger Features
  • Regularisierung und Hyperparameteroptimierung
  • Einschränkungen der Modellkomplexität
  • Kreuzvalidierung

Im Kontext von automatisiertem ML sind die ersten drei Wege bewährte Methoden, die Sie implementieren. Die letzten drei fett formatierten Aspekte sind bewährte Methoden, die standardmäßig von automatischem ML implementiert werden, um eine Überanpassung zu vermeiden. In Konfigurationen ohne automatisiertes ML sollten alle sechs bewährten Methoden beachtet werden, um eine Überanpassung von Modellen zu verhindern.

Bewährte Methoden, die Sie implementieren

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, und es ist gezwungen, Lösungen zu finden, die flexibler sind, um mehr Bedingungen zu erfüllen. 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)

Zielungenauigkeit (target leakage) ist ein ähnliches Problem, bei dem Sie möglicherweise keine Überanpassung zwischen den Trainings- und Testsätzen feststellen, aber eine Überanpassung zur Vorhersagezeit auftritt. 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. Wenn Sie beispielsweise versuchen, am Montag den Preis vorherzusagen, den eine Ware am Freitag haben wird, eines Ihrer Features aber versehentlich Daten von Donnerstagen eingeschlossen hat, dann wären dies Daten, die das Modell zum Zeitpunkt der Vorhersage nicht zur Verfügung hat, weil es nicht in die Zukunft schauen kann. Zielungenauigkeit ist ein Fehler, der sich leicht übersehen lässt, ist aber häufig durch eine ungewöhnlich hohe Genauigkeit für Ihr Problem gekennzeichnet. Wenn Sie versuchen, den Aktienkurs vorherzusagen und ein Modell mit einer Genauigkeit von 95 % trainiert haben, gibt es wahrscheinlich eine Zielungenauigkeit in ihren Features.

Verwenden von 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. Eine quantitative Messung ist ggf. schwierig, aber wenn Sie Features entfernen können und die gleiche Genauigkeit erhalten, haben Sie das Modell wahrscheinlich flexibler gestaltet und das Risiko einer Überanpassung verringert.

Bewährte Methoden, die von automatisiertem ML implementiert werden

Regularisierung und Hyperparameteroptimierung

Regularisierung ist ein Prozess, bei dem eine Kostenfunktion minimiert wird, um komplexe und überangepasste Modelle zu pönalisieren. Es gibt unterschiedliche Arten von Regularisierungsfunktionen, aber im Allgemeinen bestrafen sie alle 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.

Einschränkungen der Modellkomplexität

Automatisiertes ML implementiert auch explizite Einschränkungen der Modellkomplexität, um Überanpassung zu verhindern. In den meisten Fällen erfolgt diese Implementierung speziell für Entscheidungsstruktur- oder Gesamtstrukturalgorithmen, bei denen die maximale Tiefe der einzelnen Strukturen und die Gesamtzahl der in der Gesamtstruktur oder in den Kombinationstechniken verwendeten Strukturen begrenzt sind.

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ücklich“ werden und eine große Genauigkeit mit einer Teilmenge erzielen könnte, aber durch Verwenden vieler Teilmengen wird 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 Sie Ihre Kreuzvalidierungsfalten (Anzahl der Teilmengen) an. Automatisiertes ML trainiert daraufhin Ihr Modell und optimiert Hyperparameter, um den Fehler für Ihren Validierungssatz zu minimieren. Eine Kreuzvalidierungsfalte 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 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

Kreuzvalidierung ist nicht standardmäßig aktiviert. Sie muss in den Einstellungen für automatisiertes maschinelles Lernen konfiguriert werden. Nachdem 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 seines Ziels, den Workflow des maschinellen Lernens zu vereinfachen, verfügt das automatisierte ML über integrierte Funktionen, die bei der Verarbeitung unausgeglichener Daten helfen, wie zum Beispiel

  • Eine Gewichtungsspalte: Automatisiertes ML erstellt eine gewichtete Spalte 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 ML verwendeten Algorithmen erkennen eine Unausgeglichenheit, wenn die Anzahl der Stichproben in der Minderheitsklasse nicht mehr als 20 % der Anzahl der Stichproben in der Mehrheitsklasse beträgt, wobei als Minderheitsklasse die Klasse mit den wenigsten Stichproben und als Mehrheitsklasse die Klasse mit den meisten Stichproben bezeichnet wird. In der Folge führt automatisiertes maschinelles Lernen ein Experiment mit Teilprobendaten 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. Daher ist der Wert gegenüber einem Ungleichgewicht robuster.

Die folgenden Verfahren sind zusätzliche Optionen zum Behandeln unausgeglichener Daten außerhalb des automatisierten ML.

  • Erneutes Sampling zum Ausgleichen der Unausgeglichenheit von Klassen, entweder durch Upsampling der kleineren Klassen oder durch Downsampling der größeren Klassen. 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. Die Genauigkeit misst die Präzision eines Klassifizierers. Eine höhere Genauigkeit weist auf eine geringere Anzahl von False Positives hin. Der Abruf misst hingegen die Vollständigkeit eines Klassifizierers. Ein höherer Abrufwert weist auf eine geringere Anzahl von False Negatives hin.

Nächste Schritte

Erfahren Sie anhand von Beispielen, wie Modelle mithilfe des automatisierten ML erstellt werden: