Über unsMediaKontaktImpressum
Emil Vincazovic 04. Oktober 2022

Python: Machine-Learning-Algorithmen zur Betrugserkennung

Durch die seit Jahren stetig voranschreitende Digitalisierung werden die Gefahren des Online-Betrugs von Jahr zu Jahr größer. Allein im Vereinigten Königreich wurden im Jahr 2019 Schätzungen zufolge 130 – 190 Milliarden Pfund durch betrügerische Handlungen gestohlen [1]. Der globale Schaden durch Betrug wird auf 80 Prozent mehr als das gesamte BIP des Vereinigten Königreichs ($2,878.67 Milliarden) geschätzt [2]. Der Großteil dieser riesigen Summen entfällt auf schwierig aufzudeckende Online-Betrügereien. Um den Betrügern entgegenzuwirken, bedient man sich immer mehr im Bereich des maschinellen Lernens.

Problem

Allerdings hat das inzwischen weit verbreitete Feld des ML vor allem im Bereich der Betrugserkennung mit großen Schwierigkeiten zu kämpfen. Maßnahmen gegen Kreditkartenbetrug scheitern bspw. an der enormen Datenmenge, den unbalancierten Datensätzen, den falsch klassifizierten Datenpunkten und der Über- bzw. Unteranpassung. Vor allem das Problem des unbalancierten Datensatzes ist im Bereich der Betrugserkennung stark verbreitet. In der Regel sind nur deutlich weniger als 1 Prozent des gesamten Datensatzes Betrugsfälle, der Rest sind reguläre Transaktionen. Diese enorme Unbalanciertheit führt bei den Analysen zu Verzerrungen in den Ergebnissen und kann den Algorithmen im schlimmsten Fall die falsche Aufgabe vermitteln. Einher gehen falsche Herangehensweisen und für das Problem der nicht erwünschten Resultate.

Daten / AnzahlBetrugsfälleNicht-Betrugsfälle
Normal8.2136.354.407

Eine der Grundannahmen der meisten ML-Algorithmen ist es, die Genauigkeit zu erhöhen. Die sogenannte Accuracy im Machine Learning ist ein Maß dafür, wie viel Prozent der Datenpunkte richtig klassifiziert wurden. Angenommen, ein Datensatz ist so unbalanciert, dass es 99,9 Prozent Nicht-Betrugsfälle (negative Fälle) und 0,1 Prozent Betrugsfälle (positive Fälle) gibt. Wenn man nun davon ausgeht, dass man alle Transaktionen als negative Fälle klassifiziert, hat man eine 99,9 prozentige Genauigkeit. Das Ziel der eingesetzten ML-Algorithmen wäre somit erreicht und extrem schwierig zu übertreffen. Das Ergebnis klingt zwar sehr gut, allerdings ist es zur Verwendung der Betrugserkennung unbrauchbar. In dieser geht es primär um die 0,1 Prozent der positiven Fälle, da diese den Schaden anrichten. Unbalancierte Datensätze führen zu Komplikationen beim Finden von positiven Fällen, da diese durch die Annahmen der Algorithmen teilweise komplett außer Acht gelassen werden.

Lösung

In diesem Kapitel werden einige der Methoden zur Problemlösung vorgestellt. Durch das Verändern der Daten wird ein balancierter Datensatz geschaffen, indem das Verhältnis beider Klassen anschließend ungefähr 1:1 beträgt. Nun würde der Algorithmus, wenn er alles als negative Fälle deklariert, nur eine ca. 50-prozentige Genauigkeit haben. Damit ist ein Anreiz geschaffen worden, um die Ergebnisse zu verbessern.

Undersampling

Eine Methode, das Problem des unbalancierten Datensatzes zu lösen, ist das Undersampling. Beim Undersampling geht es darum, die zwei verschiedenen Klassen auf ungefähr die gleiche Anzahl an Datenpunkten zu bringen. Dabei wird so vorgegangen, dass die übergewichtete Klasse (Mehrheitsklasse) mit Hilfe von Algorithmen so dezimiert wird, dass die Anzahl zwischen den Klassen gleich verteilt ist. Abb. 1 zeigt die Technik grafisch.

Wird ein Datensatz mit einem 1:100-Verhältnis derart bearbeitet, dass ungefähr ein 1:1-Verhältnis herrscht, wird ein Nachteil des Undersamplings deutlich. Das Ausblenden von Daten der Mehrheitsklasse verliert für die Analyse wichtige Informationen. In Extremfällen werden mehrere Millionen Datenpunkte eliminiert, um die Klassen auszubalancieren. In dieser Analyse ist dies der Fall.

Das Undersampling bringt auch noch weitere Nachteile mit sich. Beispielsweise kann es in der dezimierten Mehrheitsklasse zu Verzerrungen kommen, welche einen negativen Effekt auf die Ergebnisse haben könnten. Das größte Problem stellen jedoch schon sehr wenige Datenpunkte in der Minderheitsklasse dar. Bei zusätzlicher Anwendung einer Undersampling-Methode könnte es zu wenige Trainingsdaten für den Algorithmus geben. Es besteht das Risiko der Ergebnisverfälschung. Andere Nachteile sind beispielsweise noch die Streuung der Klassen und die Fehlerkosten.

Allerdings bringt das Undersampling-Verfahren auch einige Vorteile mit sich. Die zwei wichtigsten Pluspunkte sind erstens, dass die Klassen in ein angemessenes Verhältnis gebracht werden, sodass die Analyse dem Zweck der Betrugserkennung dient. Der zweite große Vorteil liegt in der Computezeit und somit dem drastisch reduzierten Ressourcenbedarf. Inzwischen gibt es viele Undersampling-Algorithmen, die auf unterschiedlichste Weise dasselbe Ziel, nämlich die Gleichheit der Klassen, erreichen.  

Die Near-Miss-Methode ist ein Undersampling-Algorithmus, der versucht, den Informationsverlust als größten Nachteil zu minimieren. Das Verfahren basiert zu Teilen auf dem k-nächsten-Nachbarn (kNN) Verfahren. Es wird versucht, jene Datenpunkte zu eliminieren, welche fast keinen Informationsverlust herbeiführen würden, da andere bestehende Datenpunkte in etwa dieselben Informationen in sich tragen. Ein Beispiel dazu sieht man in Abb. 2.

Die kleinen (nicht eingekreisten) grauen, orange- und türkisfarbenen Punkte sind Datenpunkte, die eliminiert werden. Der Grund dafür ist, dass diese in etwa identische Informationen in sich tragen, wie die großen umrandeten Punkte. Somit kann man in der Theorie des Near-Miss-Verfahrens auf diese Punkte verzichten. Der Vorteil dieses Verfahrens, beispielsweise gegenüber einem Random Undersampling, ist, dass ansonsten diese Zusammenhänge nicht beachten werden würden. Der Algorithmus würde auf zufälliger Basis Datenpunkte löschen. Im Extremfall würde er nur braune, nur graue oder nur türkisfarbene Punkte aufnehmen. Somit wären alle Informationen der nicht aufgenommenen Gruppen verloren. Deshalb ist das Near-Miss-Verfahren weniger anfällig für Informationsverlust und liefert in der Regel bessere Ergebnisse.

Es gibt drei verschiedene Varianten des Near-Miss-Verfahrens. Alle verfolgen dasselbe Ziel, handeln aber ein wenig anders und liefern somit verschiedene Ergebnisse. In der Analyse wird das Near-Miss-1-Verfahren angewandt. Dieses balanciert den Datensatz aus, indem die durchschnittliche Distanz zwischen den Punkten der Mehrheitsklasse und den drei am nächsten liegenden Punkten der Minderheitsklassen berechnet wird. Es werden jene Datenpunkte der Mehrheitsklasse behalten, welche die geringste Distanz zu den Daten der Minderheitsklasse haben.

Oversampling

Das Oversampling ist eine andere Methode, das Problem eines unbalancierten Datensatzes zu lösen. Die Idee ist genau dieselbe wie beim Undersampling: Es sollen zwei Klassen aus dem gleichen Datensatz in dasselbe Verhältnis gebracht werden. Beim Oversampling geht es darum, die Anzahl der Datenpunkte aus der Minderheitsklasse zu erhöhen. So soll am Ende in etwa ein 1:1-Verhältnis entstehen, welches durch Hinzufügen von Daten und nicht deren Eliminieren entstehen soll. Abb. 3 zeigt die Methode des Oversampling grafisch.          

Eine starke Streuung der Anzahl der Datenpunkte der verschiedenen Klassen des Datensatzes führt evtl. zur Generierung von Millionen von Datenpunkten. Hier zeigt sich direkt eine Nachteil des Oversampling-Verfahrens, der zu einem Anstieg der benötigte Rechenleistung führt.

Es gibt noch weitere Nachteile, welche mit Oversampling-Methoden einhergehen. Ein großes Problem ist beispielsweise die identische Gewichtung aller Datenpunkte der Minderheitsklasse (selbst bei geringerem Informationsgehalt). Dies könnte zu einer schlechteren Genauigkeit der Ergebnisse führen.          

Die Lösung des Problems der unbalancierten Klassen gilt als Hauptvorteil von Oversampling. Des Weiteren existieren durch die Oversampling-Verfahren genug Trainingsdaten für beide Klassen, sodass die Genauigkeit der Ergebnisse steigt. Auch für dieses Verfahren gibt es inzwischen viele verschiedene Methoden. Die für die hier durchgeführte Analyse wichtigste und mit am meisten genutzte Methode ist die SMOTE-Methode (Synthetic Minority Oversampling Technique) von Chawla et al. [3]. Das Verfahren basiert, wie auch der Near-Miss-Ansatz, auf dem kNN-Prinzip. Es werden neue Datenpunkte der Minderheitsklasse synthetisch erzeugt.

Besser als beispielsweise beim Random Oversampling ist, dass die neu erzeugten Datenpunkte eine Beziehung zueinander haben. Ein weiterer Vorteil ist die Einzigartigkeit jedes Datenpunktes. Abb. 4 zeigt die Funktionsweise des SMOTE-Verfahrens grafisch.

Wie man in Abb. 4 sieht, bestehen zwischen den neu generierten und den bereits existierenden Datenpunkten Gemeinsamkeiten. Zurückführbar sind diese auf die nicht zufällige Generierung der Daten. Vielmehr wird versucht, Werte zu erzeugen, welche in etwa dieselben Informationen in sich tragen wie die bereits existierenden Daten. Auf diese Weise wird die Erzeugung von Fehlinformationen vermieden. Würden stattdessen zufällige Daten kreiert werden, könnte es Probleme mit den Aussagen dieser Daten geben. Der Informationsgehalt dieser neuen Datenpunkte stimmt daher oft nicht mit dem Informationsgehalt der Minderheitsklasse überein. Somit würden die Ergebnisse verfälscht werden.  

Das SMOTE-Verfahren hat allerdings auch zwei Mängel. Das Fehlen des Hinzugewinns neuer Informationen ist ein Nachteil, auch wenn dieses in den meisten Anwendungen nicht zwingend nötig ist. Das zweite und größere Manko des SMOTE-Verfahrens ist jedoch dieselbe Gewichtung jedes Datenpunktes. Je nachdem, wie die Daten verteilt sind, könnte dies wiederum zu Verzerrungen führen. Um dieses Problem zu vermeiden, gibt es Erweiterungen und Anpassungen des SMOTE-Ansatzes.

Kombination von Over- und Undersampling

Da sowohl Undersampling- als auch Oversampling-Algorithmen Vor- und Nachteile haben, besteht die Möglichkeit, je einen Algorithmus von jeder Samplingtechnik miteinander zu kombinieren. Die Vorteile werden verstärkt, die Nachteile hingegen werden möglichst klein gehalten. Dieses Vorgehen soll die Ergebnisse verbessern.

Mit dieser Methode können beispielsweise der SMOTE-Oversampling- und der NearMiss-Undersampling-Algorithmus miteinander kombiniert werden. Abgesehen von Sampling-Methoden gibt es auch noch andere Möglichkeiten, um das Problem eines unbalancierten Datensatzes zu lösen. Unter anderem modifizierte Algorithmen, Kernel-Methoden oder eine Cost-Sensitive Analyse.

Modelle

Im Folgenden werden drei Algorithmen miteinander verglichen: der RandomForest, der XGBoost und die Support-Vector-Machine. In Kombination mit den drei Samplingtechniken, ergeben sich so neun Modelle (jeweils mit Near-Miss, SMOTE und in mit beiden Techniken gleichzeitig).

Ergebnisse

Welches Modell das Beste ist, lässt sich nur in Zusammenhang mit der Verwendung des Modells in der Praxis sagen. Hier gibt es vor allem drei Fälle, die betrachtet werden sollten. Der erste Fall ist, möglichst viele Datenpunkte richtig zu klassifizieren. Damit ist die Accuracy-Metrik die Wichtigste.

Abb. 6 zeigt die Ergebnisse aller Modelle nach der Accuracy sortiert. Die Accuracy-Werte liegen alle nah beieinander, sind, was die absoluten Werte angeht, jedoch sehr unterschiedlich. Beispielsweise Modell 6 und Modell 3 liegen in der Accuracy-Metrik nur 0.260602 Prozent auseinander. In absoluten Werten beträgt diese Differenz jedoch 8.311 Fälle. Wie man sieht, spielen kleine, prozentuale Abweichungen also eine große Rolle.  

Die Near-Miss-Methode ist selbst bei sehr wenigen Datenpunkten sehr gut auf einen speziellen Fall zugeschnitten. Der Algorithmus liefert in Verbindung mit der Undersampling-Methode perfekte Ergebnisse. Dieser spezialisierte Zuschnitt ist allerdings auch ein Nachteil, da der Algorithmus schon bei kleinsten Änderungen der Parameter schlechtere Ergebnisse liefern würde. 

Die Algorithmen in Kombination mit dem Near-Miss-Verfahren dominieren diese Kategorie. Klammert man die ersten drei Modelle der Abb. 6 aufgrund der großen Nachteile in Bezug auf veränderte Daten aus, liefert die SVM die besten Ergebnisse in dieser Kategorie. Somit wäre es sinnvoll, die SVM für das erste Szenario auszuwählen.

Die zweite Ansatz ist, möglichst viele Betrugsfälle entdecken zu wollen. Um dieses Ziel zu erreichen, ist der Recall-Score die wichtigste Metrik.

Abb. 7 zeigt die Ergebnisse aller Modelle nach dem Recall-Score sortiert. Auch hier zeigt sich dasselbe Bild wie bei der Accuracy-Sortierung. Die Modelle mit dem Undersampling-Verfahren dominieren. Abgesehen davon, sind wieder jene mit der SVM die besten Modelle. Was den Recall angeht, liefern jedoch auch XGB und RF perfekte Ergebnisse. Ein Praxisbeispiel für die Sortierung nach dem Recall wäre, wenn es wenige große Transaktionen in einem System gäbe. Diese würden pro betrügerischer Handlung einen großen relativen Anteil am Gesamtvolumen der Transaktionen einnehmen. Deshalb wäre es in so einem Beispiel sinnvoll, auf den Recall zu achten.

Emil Vincazovic auf den IT-Tagen 2022

Zum gleichen Thema hält Emil Vincazovic einen Vortrag auf den diesjährigen IT-Tagen – der Jahreskonferenz der Informatik Aktuell.

Betrugserkennung in Python mit scikit-learn
(13.12.2022, 15:00 Uhr)

Der dritte Fall ist, wenn nicht zu viele Datenpunkte falsch als positiv klassifiziert werden sollen. Die besten Modelle für dieses Problem findet man, indem man die Precision betrachtet.

Abb. 8 zeigt, dass – abgesehen von den Near-Miss-Methoden und der SVM – das zweite Modell die besten Ergebnisse in Bezug auf die Precision liefert. Somit wäre dieses Modell eine gute Alternative zu den SVM und den Near-Miss-Algorithmen. Ein Praxisbeispiel mit der Precision als bester Metrik wäre das Vorhandensein vieler kleiner Transaktionen, die einzeln, relativ gesehen, keinen großen Anteil am Gesamtvolumen einnehmen. Hier würde man auf Kosten einiger unentdeckter Betrugsfälle viele zu prüfende Fälle einsparen und somit die Kosten (bspw. für Sachbearbeiter, die jeden einzelnen Fall prüfen müssen) minimieren.

Fazit

Unbalancierte Datensätze sind in Klassifizierungsaufgaben ein klassisches Problem. Sie stellen den Wissenschaftler vor große Hindernisse, was die Verzerrung von Ergebnissen betrifft. Mit verschiedenen Samplingtechniken lässt sich dieses Problem jedoch beheben.

Die Verwendung in der Praxis bestimmt also zusammenfassend die Wahl des "richtigen" Modells. Undersampling-Methoden sind sinnvoll, wenn man Lösungen für sehr spezielle Fälle haben will. In dem Fall des genutzten Datensatzes, wo es nur einen Fall des Betrugs gibt, schneidet das Near-Miss-Verfahren daher mit Abstand am besten ab und liefert perfekte Ergebnisse in Verbindung mit allen drei Algorithmen. In der Praxis ist dies jedoch nicht der Fall. Dort gibt es verschiedene Arten von Betrügereien. Dies würde zu sehr schlechten Ergebnissen von Algorithmen in Kombination mit Undersampling-Methoden führen. Des Weiteren gab es in dem analysierten Datensatz lediglich 8.213 Betrugsfälle. Somit gab es für den Algorithmus insgesamt nur 16.426 Daten und lediglich 70 Prozent davon waren zum Trainieren bestimmt. Dies ist für ein Machine-Learning-Modell schlichtweg zu wenig, um eine Verallgemeinerungsfähigkeit zu entwickeln und mehrere Betrugsarten abzudecken. 

Eine Kombination von Over- und Undersampling-Methoden ist in einigen Fällen sinnvoll. Im Fall der Betrugserkennung zum Beispiel eignet sich diese Methode gut dazu, um die Anzahl der Datenpunkte anzuheben und gleichzeitig die benötigten Rechenressourcen im Vergleich zum Oversampling zu reduzieren. In Abb. 8 sieht man sehr gute Ergebnisse in Verbindung mit dem RF-Algorithmus bei dieser Samplingtechnik.

Oversampling-Verfahren bringen den Vorteil, mehr Trainingsdaten zu haben. Dies führt in den meisten Fällen zu mehr Genauigkeit des Algorithmus. Dafür sorgen die größeren Datenmengen nun für einen deutlich erhöhten Bedarf an Rechen-Ressourcen. Wie man in Abb. 5 sieht, liefert die Samplingtechnik in Kombination mit dem XGBoost-Algorithmus perfekte Ergebnisse.

Alle drei Sampling-Techniken haben allerdings denselben Nachteil. Die Metriken zur Erkennung der bekannten Betrugsart können zwar gesteigert werden, allerdings können andere Betrugsarten nicht erkannt werden. Dieses Problem ist am ausgeprägtesten bei den Undersampling-Methoden. Um andere Anomalien in den Daten zu finden und somit andere Betrugsarten zu identifizieren, sollten im nächsten Schritt Anomalieerkennungs-Algorithmen, wie zum Beispiel der Isolation Forest angewandt werden. Mit dieser Art von Algorithmen ist es möglich, Datenpunkte zu identifizieren, welche Anomalien zu den anderen Daten aufweisen. Diese identifizierten Ausreißer sind möglicherweise neue Betrugsarten.

Der nächste Schritt der Arbeit wäre, den Algorithmus immer weiter mit der Zugabe von neuen Daten zu trainieren. Somit würden die Ergebnisse mit der Zeit immer besser werden. Setzt man zusätzlich noch Methoden der Anomalieerkennung ein, baut sich mit der Zeit ein großes Modell, welches bekannte und unbekannte Betrugsarten mit der Zeit immer besser identifiziert und immer mehr positive Fälle entdeckt.

Quellen
  1. M. Button, J. Gee (2019): The Financial Cost of Fraud 2019. The latest data from around the world. Hg. v. Crowe/University Portsmouth. University Portsmouth. UK.
  2. World Bank (2022): U.K. GDP 1960-2022
  3. N. V. Chawla, K. W. Bowyer, L. O. Hall, W.P. Kegelmeyer (2002): SMOTE: Synthetic Minority Over-sampling Technique. In: jair 16, S. 321–357. DOI: 10.1613/jair.953.

Autor

Emil Vincazovic

Emil Vincazovic beschäftigt sich mit dem Thema der künstlichen Intelligenz. Nach seinem Bachelorabschluss an der Heinrich-Heine-Universität Düsseldorf hat er sich im Master auf Ökonometrie und Machine
>> Weiterlesen
Das könnte Sie auch interessieren
Kommentare (0)

Neuen Kommentar schreiben