Machine Learning Model Drifts und Benchmarks

Industrien und Arbeitsplätze haben sich mit dem Aufkommen von Data Science, Data Analytics, Big Data, Machine Learning und Künstlicher Intelligenz (KI) bereits erheblich verändert. In den letzten zehn Jahren haben diese neuen Technologien dazu beigetragen, dass wir Prozesse wie etwa die Kreditvergabe, die Betrugsaufdeckung, die Vorhersage der Kundenabwanderung, Optimierung der Personalbedarfs- und einsatzplanung und zahlreiche andere mehr oder weniger komplexe Aufgaben grösstenteils automatisieren und verbessern konnten. Zudem finden Sie auch Anwendung in der Empfehlung von Dingen, die uns auf Basis unseres vergangenen Verhaltens mit mehr oder weniger grosser Wahrscheinlichkeit auch entsprechen könnten. Ein Paradebeispiel hierzu sind die nächsten Titel, wenn Sie auf YouTube unterwegs sind. Aber auch bei anderen Streamingdiensten, wo Sie Filme, Songs und andere Medienformen konsumieren, können basierend auf interpretiertem Geschmack der User Vorschläge abgeleitet werden. Neben solchen eher «einfachen» Modellierungsaufgaben, gibt es aber auch weitaus komplexere Anwendungsbereiche von Machine Learning und neuronalen Netzwerken. Beispiele hierzu sind die Computer Vision, Spracherkennung, Textverständnis, Reasoning und jegliche interdisziplinären Domänen.

Während über High-Level Konzepte und Anwendungsbereiche von Data Science, Data Analytics, Big Data sowie Machine Leaning und KI viel geschrieben, aber auch in der Wissenschaft geforscht wird, sind zentrale Aspekte davon wie beispielsweise Model Drifts und Benchmarks aber oft nur am Rand erwähnt. Deshalb nachstehend eine erste kurze Einführung in die Themen.

Parashift On-Demand-Webinare

Was sind Machine Learning Modelle?

Ganz vorne weg: Von Machine Learning sprechen wir generell, wenn wir viele Daten in ein Computerprogramm laden und ein Modell auswählen oder konfigurieren, das die Daten mit möglichst hoher Genauigkeit erklären kann, so dass dieses Computerprogramm auf Basis eins neuen Inputs künftig Vorhersagen treffen kann kann. Die Art und Weise, wie der Computer solche Modelle erstellt, ist durch verschiedene Arten von Algorithmen bestimmt. Diese reichen von einen einfachen Gleichung wie der Funktionsgleichung einer Linie bis zu einem sehr komplexen System aus Logik und Mathematik, das den Computer zu den bestmöglichen Vorhersagen führt. Es werden in diesem Prozess also Features identifiziert, welche zum bestmöglichen Erklärungsversuch der vorhandenen Daten führen.

Der Begriff Machine Learning ist dabei treffend gewählt, da sobald das zu verwendende Modell erstellt und Fine-Tuning vorgenommen wurde (sprich, wenn Sie es durch Anpassungen verbessern), die Maschine das Modell verwendet, um die Muster in bestimmten Daten zu erlernen, welche dazu verhelfen, noch bessere Vorhersagen zu treffen.

Allgemein unterscheidet man im Machine Learning drei verschiedene Problemstellungen: Supervised Learning, wo Daten zu einem Problem mit Ihrem «Outcome» bekannt sind (man spricht da oftmals auch von gelabelten Daten), Unsupervised Learning, wo das eben nicht der Fall ist, und Reinforcement Learning, was insbesondere Anwendung in Problemstellungen findet, wo kein Optimum zur Lösung der Problemstellung bekannt ist. Dazu aber bei einer anderen Gelegenheit mehr.

Was ist ein Model Drift?

Model Drifts können auftreten, wenn es irgendeine Form von Änderung an Feature-Daten oder Zielabhängigkeiten gibt. Diese Drifts können wir grob in die drei folgenden Kategorien einteilen: Konzeptdrift, Datendrift und Upstream-Datenänderungen.

Konzeptdrift

Wenn sich die statistischen Eigenschaften der Zielvariablen ändern, ändert sich auch das Konzept dessen, was Sie vorhersagen wollen. Zum Beispiel könnte sich die Definition dessen, was als betrügerische Transaktion gilt, im Laufe der Zeit ändern, wenn neue Wege zur Durchführung solcher illegalen Transaktionen entwickelt werden. Diese Art von Änderung wird zu einem Konzeptdrift führen.

Datendrift

Beim Datendrift, wie es der Name vermuten lässt, geht es um die Rohdaten für die Modellerstellung. Denn die zum Trainieren eines Modells verwendeten Features werden wie bereits erwähnt, aus den ursprünglichen Eingabe-/Trainingsdaten errechnet. Wenn sich also die statistischen Eigenschaften dieser neuen Eingabedaten im Vergleich ändern, wirkt sich dies in der Folge auf die Qualität des Modells aus. Beispielsweise führen Datenänderungen aufgrund von Saisonabhängigkeit, Änderungen der persönlichen Präferenzen, Trends, usw. zu einem Drift der eingehenden Daten und dadurch des verwendeten Modells.

Upstream-Datenänderungen

Zu guter Letzt kann es manchmal in der vorgelagerten Datenpipelines zu operativen Änderungen kommen, die sich auf die Modellqualität auswirken können. Zum Beispiel können Änderungen an der Merkmalskodierung wie der Wechsel von Fahrenheit zu Celsius oder aber auch nicht mehr generierte Merkmale, die zu null oder fehlenden Werten führen zu ungewollten Upstream-Datenänderungen führen.

Wie Model Drifts identifiziert und ihnen vorgebeugt werden kann

Angesichts der Tatsache, dass es nach der Einführung eines Modells in die Produktion (also in den Betrieb) zu solchen Änderungen und Drifts kommen kann (eigentlich mit fast garantierter Sicherheit), besteht der Best Practice Ansatz darin, auf Änderungen zu achten und möglichst rasch Massnahmen zu ergreifen, wenn denn solche auftreten. Eine Rückkopplungsschleife von einem Überwachungssystem und die regelmässige Aktualisierung von Modellen werden dazu beitragen, Modellabstinenz zu vermeiden oder zumindest die Wahrscheinlichkeit dazu bedeutend zu verringern.

Was sind Model Benchmarks?

Die Erstellung eines Modells und dessen Einsatz ist also offensichtlich nicht das Ende eines Entwicklungszyklus. Während des Einsatzes muss das Unternehmen daher relevante Kennzahlen und Richtwerte für das Modell definieren. Die Kennzahlen sind sogenannte KPIs. Wenn Sie sich mal mit Statistik beschäftigt haben, dann mögen Sie sich vielleicht noch an die Geschichte mit True Positive, True Negative, False Positive und False Negative erinnern. Die kommen nun hier wieder zum Einsatz.

Neben der Accuracy KPI, welche zum Beispiel bei Klassifizierungen aussagt, wie viele Rechnungen aus der Grundgesamtheit der untersuchten Dokumente korrekt – also entweder als Rechnung oder eben als Nicht-Rechnung – klassifiziert wurden, sind auch Precision und Recall relevant. Precision unterscheidet sich insofern von der Accuracy, als dass sie verdeutlicht, wie viele Rechnungen korrekt als Rechnungen klassifiziert wurden, in Relation zu allen als Rechnung klassifizierten Dokumenten. Recall (auch Sensitivität genannt) gibt dagegen Auskunft über den Anteil der korrekt als Rechnung klassifizierten Dokumenten im Verhältnis zu allen Rechnungen unter den Dokumenten, die untersucht wurden.

Sie sehen, wir können nicht Precision und Recall gleichzeitig optimieren, was nichts anderes heisst, als dass es eine Wechselbeziehung gibt, die wir visualisieren können. Eine KPI die eine Vermischung der Precision und Recall vornimmt und oftmals zur Evaluation von Modellen verwendet wird, ist der F1-Score. Ein anderes Hilfsmittel zur Evaluation ist die ROC-Kurve. Diese ist insbesondere bei binären Klassifikationen verbreitet und ähnelt stark der Relevanz- und Sensitivitäts-Kurve. Vergleichsweise illustriert sie aber nicht der Zusammenhang zwischen Precision und Sensitivität, sondern denjenigen von True Positive und False Positive.

Die im realen Leben verwendeten Benchmarks unterscheiden sich je nach Modell und dessen Use Cases. Dazu ein Beispiel: Wenn Sie einen Klassifikations-Modell zur Erkennung von Krebs auf Röntgenbilder entwickeln, wollen Sie lieber alle potenziellen Fälle identifizieren, als bei jenen sehr sicher zu sein, wo sie Krebszellen vermuten. Anderswo sieht das aber schon wieder ganz anders aus. Unsere Kunden legen beispielsweise einen grösseren Wert auf Accuracy. Wenn wir aber nur für diese Metrik optimieren würden, würde das an gewissen Stellen zu falschen Klassifikationen von Dokumenten oder zu extrahierenden Textzeichen führen, was ebenso nicht im Sinne unserer Kunden ist. Sie sehen, das Ganze ist eine ziemliche Gradwanderung.

Was wir bis jetzt aber noch nicht thematisiert haben, sind die Grundlagen, also die Daten, auf welchen wir diese Benchmarks zur Evaluation der Performance ziehen. Da wie vorhin beschrieben, das Umfeld der Modelle in Real-World Applikationen von Machine Learning oftmals vom Wandel geprägt ist, können sich auch deren Outputs ändern. Auch hier wieder ein Beispiel zur Verdeutlichung: Ein Algorithmus wurde so trainiert, dass er den Verkaufspreis einer Liegenschaft auf Basis unterschiedlicher Merkmale wie Alter, Anzahl Räume, Schlafzimmer, Wohnfläche, Population der Region, Median Einkommen und weiteren Attributen vorhersagen kann. Die ganzen Trainingsdaten stammen aber von Verkaufszahlen einer bestimmten Region. Wenden Sie dieses Preis-Modell auf den Immobilienmarkt eines anderen Landes an, führt dies aufgrund dessen mit hoher Wahrscheinlichkeit zu grossen Varianzen zu ortsüblichen Preisen und somit zu einem Model Drift. Ein alternativer Drift könnte vorliegen, wenn Ihre Daten nicht up-to-date sind und daher die potenziellen Marktveränderungen in der Zwischenzeit nicht eingepreist sind. Es ist also extrem wichtig herauszufinden, was genau der Benchmark ist oder sein sollte, wenn Sie Ihre Machine Learning Modelle zuverlässig auf Ihre Performance bewerten wollen. Das ist insbesondere dann relevant, wenn Sie dieses updaten und neuen Gegebenheiten anpassen wollen, ohne dabei möglicherweise für gewisse, nach wie vor relevante Datentypen die Performance zu verschlechtern. Eine Wissenschaft für sich…

Related Posts