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:
    1. Undersampling – usuwanie części przykładów z klasy większościowej.
    2. Oversampling / SMOTE – generowanie sztucznych przykładów z klasy mniejszościowej.
    3. 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