Training und Validierung
Machine-Learning- oder Prognosemodelle werden in der Regel auf Daten trainiert bzw. geschätzt. Hierbei gilt es ein solches Modell zu finden, das möglichst gut generalisiert, d.h. eine gute Leistung auf neuen, vorher nicht gesehenen Daten erbringt und dort robuste Ergebnisse liefert.
Hyperparameter
Unter einem Hyperparameter versteht man einen Parameter, der zur Einstellung des Algorithmus bei Machine-Learning-Verfahren dient und nicht durch das Verfahren selbst geschätzt werden kann. Beispielsweise sind dies bei Künstlichen Neuronalen Netzen (KNNs) unter anderem die Anzahl der Epochen, über die trainiert wird oder die Anzahl der Hidden Layers. Die Hyperparameter werden vom Anwender bereits vor dem Trainingsprozess, oft auch manuell, festgelegt.
Overfitting
Overfitting liegt vor, wenn sich das Modell zu stark an die Trainingsdaten anpasst und Muster zu erkennen glaubt, die nicht existieren. Dies ist z. B. bei einem Zeitreihenmodell der Fall, wenn das Modell neben wichtigen zu erfassenden Strukturkomponenten wie Trend oder die Saisonalität in den Trainingsdaten auch die zufällige Streuung der Trainingsdaten mit modelliert.
Solche Modelle sind in der Regel nicht generalisierbar, d.h. sie liefern keine stabilen Ergebnisse auf neuen, unbekannten Daten, die nicht zum Modelltraining verwendet wurden. Die Ursache von Overfitting ist, dass das Modell zu komplex ist, d.h. zu viele Parameter oder erklärende Variablen enthält, die zu stark auf die Trainingsdaten eingestellt wurden. Um Overfitting zu vermeiden oder zu reduzieren, gibt es verschiedene Strategien, z. B.
- Out-of-Sample-Validierung auf einem unabhängigen Testdatensatz
- Kreuzvalidierung
- Bestrafung der Modellkomplexität durch Regularisierung (wie z. B. bei regularisierter Regression)
- Pruning (z. B. bei Entscheidungsbaumverfahren)
Out-of-Sample-Validierung
Um ein möglichst generalisierbares Modell zu finden, ist es üblich, einen vorliegenden Datensatz in ein Trainings- und ein Testset zu unterteilen. Ersteres wird verwendet, um passende Modellparameter zu erlernen, letzteres, um die Güte des trainierten Modells auf einem unabhängigen Datensatz zu überprüfen und die Vorhersagegenauigkeit zu bemessen.
Im Zeitreihenkontext gibt es bei einer Out-of-Sample-Validierung Besonderheiten aufgrund der zeitlichen Ordnung und Abhängigkeiten der einzelnen Datenpunkt zu berücksichtigen, siehe Backtesting.
Kreuzvalidierung
Kreuzvalidierung (engl. cross validation) ist eine verbreitete Validierungsstrategie im Machine-Learning-Bereich, um Overfitting zu vermeiden und robuste Ergebnisse auf unbekannten Daten zu liefern.
Eine einfache Out-of-Sample-Validierung, bei der der vorhandene Datensatz nur einmal in Trainings- und Validierungsdaten unterteilt wird, hat den Nachteil, dass relevante Muster aus den Validierungsdaten, die nicht in den Trainingsdaten zu erkennen waren, im Modell nicht berücksichtigt werden können. Wenn umgekehrt das Validierungsset die Realität nicht gut abbildet, kann man keine verlässlichen Erkenntnisse über die Generalisierbarkeit des Modells gewinnen. Diesem Problem begegnet die Kreuzvalidierung, indem sie die Unterteilung des Datensatzes in Trainings- und Testset mehrfach wiederholt und zwar so lange, bis jedes Element genau einmal für die Testmenge verwendet wurde. Auf diese Weise wird das Modell am Ende auf (fast) allen Daten trainiert und auf (fast) allen Daten einmal validiert. Mehr lernen über Kreuzvalidierung