Heutzutage ist künstliche Intelligenz allgegenwärtig. Die verschiedenen Algorithmen des maschinellen Lernens werden für die unterschiedlichsten Anwendungen eingesetzt: In der klassischen prädiktiven Analyse, in Bild- und Spracherkennung, bei Spielen wie Jeopardy!, Go oder World of Warcraft oder für autonom fahrende Autos, die maßgeblich auf maschinellem Lernen beruhen.
Mittlerweile sind viele verschiedene Arten von Modellen verfügbar, von der einfachen linearen Regression bis hin zu geboosteten Entscheidungsbäumen und diverse Arten von neuronalen Netzen. Einige der Modelle sind auf eine bestimmte Aufgabe spezialisiert, z.B. word2vec für Textverarbeitung, während andere leicht auf alle Arten von Problemen angewendet werden können, wie z.B. geboostete Entscheidungsbäume.
Der große Erfolg von künstlicher Intelligenz hat dazu beigetragen, dass die Algorithmen des maschinellen Lernens mittlerweile nicht nur innerhalb der Data Science Community verwendet werden, sondern dass sie mittlerweile in fast jedem anderen Kontext Einzug gehalten haben, der irgendetwas mit Daten zu tun hat. Ein Teil dieses Erfolges ist auf die Tatsache zurückzuführen, dass maschinelles Lernen vergleichsweise einfach anzuwenden ist. Die Algorithmen sind in der Regel öffentlich zugänglich und für die grundlegenden Aufgaben wird vergleichsweise wenig Rechenleistung benötigt. Daher reicht ein Datensatz, ein normales Notebook und ein speziellen Toolkit wie R oder Python aus, um einen eigenen Algorithmus mit künstlicher Intelligenz zu generieren.
Die Algorithmen selbst sind in dezidierten Bibliotheken gekapselt und mit einem einfachen Funktionsaufruf zugreifbar. Zusätzlich gibt es viele Möglichkeiten, die verschiedenen Schritte des Trainings zu automatisieren. Dies hat den gesamten Prozess stark vereinfacht. Es werden nur noch wenige Zeilen Code benötigt, und es entsteht ein ausgeklügeltes Modell. Die Algorithmen und manchmal sogar die Datenaufbereitung und die Anwendung selbst sind zu einer Black Box geworden, die uns dazu verleitet, die Methoden ohne viel nachzudenken anzuwenden.
Darüber hinaus wird die Güte eines Modells in der Regel durch bestimmte Metriken wie den RMSE (Root Mean Square Error, mittlere quadratische Abweichung) bewertet, die die Vorhersagequalität auf einige wenige Zahlen herunterkochen. Diese Metriken sind modellunabhängig und die Daten selbst sind in der Regel recht komplex. Daraus resultiert, dass das vollständige Verständnis und die Bewertung des Modellergebnisses zur Herausforderung werden.
Es passiert schnell, dass einfach das Modell mit den besten Metriken ausgewählt wird und es in der vorgesehenen Anwendung eingesetzt wird. Auf neue Daten angewendet stellt sich schnell heraus, dass die Prognosen jedoch nicht so gut sind wie erwartet. Wie ist das passiert?
Die folgenden Beispiele zeigen, wie es zu diesem Szenario kommen kann.
Unzureichende Trainingsdaten
Beginnen wir mit einem offensichtlichen Beispiel aus der Bildklassifikation, um das vorliegende Problem zu verdeutlichen. Ein Algorithmus zu Bildverarbeitung wurde trainiert, um Fotografien mit Tieren zu erkennen und die abgebildeten Tiere zu klassifizieren. Die Trainingsdaten bestanden jedoch nur aus Bildern von Katzen und Hunden. Die vollständigen Daten werden auch andere Tiere wie Vögel oder Fische enthalten, die ebenfalls identifiziert werden sollen. Es ist ganz klar, dass der Algorithmus nicht gut funktionieren wird, da der Bereich der Testdaten den Bereich der Trainingsdaten bei weitem übersteigt.
In den meisten Fällen ist die Diskrepanz zwischen den Trainingsdaten und den neuen Daten jedoch weniger offensichtlich. Für ein konkretes Beispiel nehmen wir einen numerischen Datensatz mit zwei Variablen, einer Eingangsvariable (x) und einer Zielvariable (y). Dabei soll die lineare Abhängigkeit der beiden Variablen modelliert werden, indem der Wert von y für ein gegebenes x vorhergesagt wird. Der Datensatz besteht aus Datenpunkten in einem Bereich von x zwischen 10 und 40 und zwischen 60 und 80 (siehe untenstehende Grafik, gelbe Datenpunkte).
Wie verhält sich das Modell, das für diese Daten trainiert wurde und nun für neue Daten angewendet wird, die in die Lücke von 40 bis 60 fallen? Das Ergebnis hängt stark vom Modell ab. Einige Modelle sind vielleicht in der Lage, gut zu interpolieren, andere werden sinnlose Vorhersagen liefern. Beispielsweise lernt ein Regressionsmodell eine Formel, die angewendet wird. Falls die Formel in unbekannten Datenbereich gültig ist, kann das Modell gute Vorhersagen machen. Ein Entscheidungsbaum hingegen hat nichts über das Verhalten außerhalb des Bereichs der Trainingsdaten gelernt und sagt einfach den Wert des Datenpunktes voraus, der dem neuen Datenpunkt am nächsten liegt. Leider geben die Modelle standardmäßig nicht an, wie zuverlässig die einzelnen Vorhersagen sind. Ein erster Schritt wäre z.B. die Angabe, ob ein Datenpunkt im Bereich der Trainingsdaten liegt oder außerhalb.

Unzureichende Datenqualität
Das zweite Beispiel ist eine Aufgabe zur Klassifizierung von seltenen Ereignissen. Ein Klassifizierungsalgorithmus wird darauf trainiert, zwischen zwei Klassen, A und B, zu unterscheiden. Die Klasse A kommt sehr häufig vor, während die andere, B, recht selten ist. Dieses Beispiel könnte aus der Erkennung von Kreditkartenbetrug stammen, bei dem einige wenige illegale Transaktionen (hier Klasse B) in Daten eingebettet sind, die meistens normal sind (Klasse A). Nehmen wir an, dass 2% aller Ereignisse Betrug sind.
Ein entsprechendes Modell wurde auf diese Art von Daten trainiert und wird auf ungesehene Daten angewendet. Es ist sehr gut in der Lage, neue Ereignisse vom Typ A zu klassifizieren. Allerdings erkennt es kein einziges Ereignis der Klasse B. Stattdessen werden sie fälschlicherweise ebenfalls als Klasse A betrachtet. Das Modell zeigt eine Genauigkeit von 98%, was zunächst sehr gut klingt. Allerdings ist die Vorhersagewahrscheinlich für Ereignisse der Klasse B bei 0, da keines dieser Ereignisse korrekt gekennzeichnet wurde. Das Modell hat somit seinen Zweck vollständig verfehlt.
Einer der Gründe dafür könnte in der Qualität der Trainingsdaten liegen, die möglicherweise nicht gut genug ist. Dies kann der Fall sein, wenn die Daten besonders verrauscht und asymmetrisch sind. Das zugrundeliegende Muster, das es erlaubt, die wenigen seltenen Ereignisse der Klasse B von der großen Menge der Ereignisse aus Klasse A zu unterscheiden, ist innerhalb des allgemeinen Rauschens nicht sichtbar. Das bedeutet, dass die vorliegenden Trainingsdaten für die Fragestellung nicht repräsentativ sind. Eine Verbesserung der Datenqualität könnte hier helfen, indem z.B. besser unterscheidbare Ereignissen gesammelt werden oder durch Bereinigung der Daten oder Rauschreduktion.

Fazit
Diese Beispiele zeigen nur einige der Fallstricke auf, die bei naiver Entwicklung von Black-Box Modellen auftreten können. Offensichtlich gibt es noch viele weitere, z.B. die manchmal große Menge an Hyperparametern, die für die meisten Modellen notwendigt sind, da sie den Algorithmus steuern und kalibrieren. Die Parameter auf die passenden Werte zu setzen ist jedoch nicht intuitiv.
Abschließend soll der folgende Leitfaden dabei helfen, einige Stolpersteine bei der Modellierung zu umgehen.
- Abdeckung der Trainingsdaten: Die Trainingsdaten sollten den gesamten für den Anwendungsfall zu erwartenden Datenbereich abdecken. Andernfalls sollte das Modell in der Lage sein, gut auf die unbekannten Regionen zu extrapolieren oder zu interpolieren.
- Datenqualität: Modelle, die auf verrauschten und/oder asymmetrischen Daten trainiert werden sollen, können durch eine vorangestellte Bereinigung der Daten deutlich verbessert werden. Dabei sind die Methoden aus der Ausreißererkennung, Glättung (Rauschen) oder Resampling (asymmetrische Daten) hilfreich.
- Wahl des Modells: Bei der Auswahl des Modelltyps sollten die grundlegenden Annahmen des Modells berücksichtigt werden. So ist z.B. ein lineares Modell, wie die Regression, nur gültig, um eine lineare Abhängigkeit zwischen Eingangs- und Zielvariable zu modellieren. Wechselwirkungen zwischen verschiedenen Eingangsvariablen werden dabei nicht berücksichtigt.
- Hyperparametertuning: Die Hyperparameter des Modells können die Leistung erheblich beeinflussen. Beispielsweise kann Overfitting, also eine zu detaillierte Anpassung an die Trainingsdaten, durch die Anpassung bestimmter Hyperparameter verhindert werden. Leider erfordert diese Aufgabe eine Menge Wissen über die Hyperparameter und viel Rechenleistung und Zeit, um möglichst viele Kombinationen von Hyperparametern zu testen.
- Validierung der Ergebnisse: Es ist entscheidend, sich nicht nur auf die wichtigsten Performance-Metriken zu verlassen, sondern auch einen Blick auf die Vorhersagen selbst zu werfen. Residuen- und Zeitreihendarstellungen bei temporalen Daten können immens hilfreich sein.
Und wie immer ist ein sorgfältiger und skeptischer Blick auf alles eine guter Anfang.