ML & Modellvalidierung [Teil 1]: Train-Test Split

Wie kann man sicherstellen, dass ML-Modelle im Finance- oder Risk- Prozess einwandfrei funktionieren? Darum wird es heute gehen.

Machine-Learning bedeutet, aus historischen Daten Algorithmen mit statistischen Modellen zu entwickeln und diese anschließend produktiv einzusetzen, bspw. um Prozesse zu automatisieren. Im Englischen bezeichnet man diese beiden Schritte als Training and Deployment.

Doch wie kann man nun sicherstellen, dass diese ML-Modelle in einem Produktionsumfeld verlässlich funktionieren? Das Ziel ist es schließlich, den Menschen bei seiner Arbeit zu unterstützen und zu entlasten und nicht, dass jedes Ergebnis wieder überprüft werden muss. Metaphorisch gefragt, woher weiß man, dass ein ML-Modell nicht nur in der Schule, sondern später auch im Arbeitsumfeld gut ist?

Dabei hilft der sogenannte Train-Test Split als Validierungsmethode.

Generell wird die Leistung von ML-Modellen mit Performance-Kennzahlen, wie bspw. Fehlermetriken (Eng. Error Metrics), bewertet. Solche Fehlermetriken drücken aus, wie weit ein ML-Modell in seinen Schätzungen/Vorherbestimmungen von den Lernbeispielen im historischen Datensatz abweicht. Im Trainingsprozess versuchen ML-Modelle also eine festgelegte Fehlermetrik zu minimieren und damit die zugrundeliegenden Merkmale des Datensatzes zu lernen. Das Vergleichen der Kennzahlen aus den Fehlermetriken ermöglicht es dann zu bestimmen, welches der trainierten ML-Modelle die beste Performance auf dem historischen Datensatz erbringt.

Doch in einem Produktionsumfeld arbeitet das ML-Modell eben nicht mehr mit historischen Daten, sondern mit neuen, “ungesehenen” Daten. Wir wissen also immer noch nicht, ob gute Metriken im Training auch zu einer guten Perfomance im Deployment führen.

Während beim klassischen, statistischen Modellieren der ganze historische Datensatz genutzt wird, macht man beim Machine-Learning einen sogenannten Train-Test Split. Dabei werden die Lernbeispiele im Datensatz in bspw. 80% Trainingsdaten und 20% Testdaten aufgeteilt. Der Trainingsprozess für die ML-Modelle wird nur auf dem Trainingsdaten durchgeführt. Die Testdaten dienen dann als Simulation des Produktionsumfelds und werden nur benutzt, um die Fehlermetriken für jedes ML-Modell zu berechnen.

Eine gute Performance auf dem Trainingssatz, aber eine schlechte Performance auf dem Testsatz bedeutet, dass das ML-Modell über-angepasst (Eng. over-fitting) ist und sich schlecht für das Produktionsumfeld eignet. Nur eine gute Performance mit dem Testdaten zeigt auch die Eignung des Modells für die Produktion oder das Deployment.

Somit hilft der Train-Test Split also bei der Sicherstellung, dass ein ML-Modell auch im Produktionsumfeld möglichst fehlerfrei funktioniert.