W dzisiejszych czasach transakcje kartami kredytowymi są wszechobecne — zakupy online, płacenie rachunków, podróże, itd. Niestety — rośnie także liczba oszustw związanych z kartami kredytowymi. Problem polega na tym, że przypadki fraudów (oszustw) są bardzo rzadkie w porównaniu z normalnymi transakcjami. To powoduje, że proste modele uczące się na surowych danych często „ignorują” te rzadkie przypadki — bo lepiej „opłaca się” popełnić błąd na fraudzie niż na tysiącach normalnych transakcji.
Publikacja “Credit Card Fraud Detection” (arXiv:2509.15044) analizuje, jak można poprawić wykrywanie oszustw, stosując techniki przetwarzania danych (równoważenia klas) oraz porównuje kilka modeli. To ważne, bo skuteczność takich systemów ma realne znaczenie — dla banków, platform płatniczych, dla bezpieczeństwa użytkowników.
O co chodzi?
Klasy i balans klas
Wyobraź sobie, że masz kosz na kulki: 10 000 białych (normalne transakcje) i tylko 20 czerwonych (oszustwa). Model uczący się na tym zbiorze danych może się nauczyć jednego prostego sposobu: zawsze mówić „nie(oszustwo)”. Bo jeśli zgadnie „nie” za każdym razem, to i tak będzie miał dokładność ~99.8% — bo większość to „nie”. Ale w praktyce to jest bez sensu — bo chcemy wykrywać właśnie te czerwone kulki (oszustwa).
Balansowanie klas to technika, którą stosujemy, żeby nauczyć model bardziej zwracać uwagę na rzadką klasę.
Co robili autorzy?
- Wzięli rzeczywisty zbiór danych transakcji kartą kredytową (284 807 transakcji, z czego tylko 492 to fraudy).
- Przygotowali dane i zastosowali trzy podejścia:
- Undersampling – usuwanie części przykładów z klasy większościowej.
- Oversampling / SMOTE – generowanie sztucznych przykładów z klasy mniejszościowej.
- Podejście hybrydowe – połączenie obu.
- Testowali modele: Logistic Regression, Random Forest, XGBoost, KNN, MLP.
- Ważne: sprawdzali wyniki na oryginalnym zbiorze testowym (czyli nadal z ogromnym dysbalansem).
Wyniki
- Hybrydowe podejście daje najlepszą równowagę pomiędzy wykrywaniem fraudów a unikaniem fałszywych alarmów.
- Szczególnie dobrze sprawdza się w modelach KNN i MLP.
Praktyczne analogie
- To jak patrol policyjny: jeśli zawsze pilnuje tylko tam, gdzie najwięcej ludzi, to rzadkie przestępstwa łatwo przeoczyć.
- W banku: za dużo fałszywych alarmów = ludzie przestają reagować. Za mało = fraudy przechodzą niezauważone. Balans klas pomaga znaleźć kompromis.
W głąb tematu – szczegóły matematyczne
Problem formalnie
Dane:
- $( x_i \in \mathbb{R}^d )$ – wektor cech transakcji,
- $( y_i \in {0,1} )$ – etykieta (0 = normalna, 1 = fraud).
Nierównowaga:
$$ \text{Imbalance ratio} = \frac{|{i : y_i = 0}|}{|{i : y_i = 1}|} \gg 1 $$
W zbiorze:
$$ n = 284807, \quad |y=1| = 492, \quad |y=0| = 284315 $$
Stosunek: ok. 578:1.
Techniki równoważenia
- Undersampling – redukcja liczby przykładów z klasy większościowej.
- SMOTE (oversampling syntetyczny) – interpolacja pomiędzy przykładami klasy mniejszościowej:
$$ x_{\text{new}} = x_i + \delta \cdot (x_{\text{nn}} - x_i), \quad \delta \sim U(0,1) $$
- Podejście hybrydowe – połączenie obu.
Modele
- Logistic Regression (LR)
- Random Forest (RF)
- XGBoost (XGB)
- K-Nearest Neighbors (KNN)
- Multi-Layer Perceptron (MLP)
Metryki
- Precision = $( \frac{TP}{TP + FP} )$
- Recall = $( \frac{TP}{TP + FN} )$
- $F1 = ( 2 \cdot \frac{Precision \cdot Recall}{Precision + Recall} )$
Funkcja kosztu z wagami klas
$$ \mathcal{L} = \frac{1}{n} \sum_{i=1}^n w_{y_i} \cdot \ell(f(x_i), y_i) $$
Algorytm krok po kroku
1. Podziel dane na train/test (test z oryginalnym dysbalansem).
2. Na train wykonaj undersampling klasy większościowej.
3. Zastosuj SMOTE na klasie mniejszościowej.
4. Połącz dane w zbiór zrównoważony.
5. Wytrenuj model (np. MLP, KNN).
6. Oceń na oryginalnym test secie metrykami precision, recall, F1.
Podsumowanie
Nierównowaga klas jest głównym wyzwaniem w wykrywaniu oszustw.
Podejście hybrydowe (undersampling + oversampling) daje najlepsze wyniki.
Modele nieliniowe (MLP, KNN) korzystają najbardziej z tego podejścia.
To podejście ma praktyczne znaczenie w systemach bankowych, e-commerce i fintech.
W przyszłości można rozważyć metody generatywne (np. GAN-y) i uczenie kosztowo-wrażliwe.
Dlaczego warto?
Bo od tego zależy, czy bank przeoczy fraud, czy zablokuje legalną transakcję. A to są decyzje, które codziennie dotykają milionów ludzi.
Linki
- Na podstawie publikacji 📄 arXiv:2509.15044 PDF