Wprowadzenie
One-class Classification (klasyfikacja jednoklasowa) — Opisuje technikę uczenia maszynowego, która koncentruje się na modelowaniu tylko jednej, dobrze zdefiniowanej klasy danych. Jej celem jest nauczenie się charakterystycznych cech tej klasy, aby móc odróżnić jej członków od wszystkich innych, niezdefiniowanych obiektów, traktowanych jako anomalia lub elementy obce. W przeciwieństwie do tradycyjnej klasyfikacji wieloklasowej czy binarnej, gdzie model uczy się rozróżniać między dwoma lub więcej znanymi kategoriami, ta metoda wymaga jedynie danych dla klasy pozytywnej. Jest to szczególnie przydatne, gdy dane negatywne są rzadkie, trudne do zebrania lub bardzo zróżnicowane.
Jak działają klasyfikacja jednoklasowa?
Model klasyfikacji jednoklasowej jest trenowany wyłącznie na przykładach należących do jednej, docelowej klasy. Nie ma dostępu do przykładów nie-klasy, co zmusza go do stworzenia granicy decyzyjnej wokół znanych danych. Najczęściej wykorzystywane algorytmy to Support Vector Machine (SVM) w wersji One-Class SVM (OCSVM) lub Isolation Forest. OCSVM próbuje znaleźć hiperpłaszczyznę maksymalnie oddzielającą dane treningowe od początku układu współrzędnych, tworząc sferyczny lub półsferyczny region obejmujący klasę. Inne podejścia to autoenkodery, które uczą się kompresować i dekompresować dane klasy docelowej. Próbki spoza tej klasy będą miały znacznie większy błąd rekonstrukcji. Modele gęstości, takie jak Gaussian Mixture Models, również mogą być używane do modelowania rozkładu danych jednej klasy. Po wytrenowaniu, każdy nowy punkt danych jest oceniany pod kątem przynależności do tej zdefiniowanej przestrzeni. Jeśli znajduje się wewnątrz lub blisko granicy, jest klasyfikowany jako należący do klasy. Jeśli jest poza, traktowany jest jako anomalia lub element obcy.
Główne zalety i charakterystyka
Główną zaletą jest możliwość efektywnego modelowania, gdy dostępne są tylko dane dla jednej klasy. Eliminuje to potrzebę gromadzenia i etykietowania dużej liczby przykładów negatywnych, które często są niejednorodne i trudne do zdefiniowania. Jest to idealne rozwiązanie do wykrywania anomalii, nowości lub oszustw, gdzie normalne zachowanie jest dobrze znane, a wszelkie odstępstwa od normy są interesujące. Modele te są bardziej odporne na zmienność i nieprzewidywalność danych spoza klasy docelowej.
Zastosowania w praktyce
- Wykrywanie oszustw finansowych (np. transakcje odbiegające od typowego profilu klienta).
- Diagnostyka medyczna (np. wykrywanie rzadkich chorób na podstawie obrazów, gdy dostępne są głównie obrazy zdrowych pacjentów).
- Kontrola jakości produkcji (np. identyfikacja wadliwych produktów, gdy większość produktów jest bez wad).
- Cyberbezpieczeństwo (np. wykrywanie intruzów w sieci na podstawie nietypowego zachowania użytkowników lub ruchu sieciowego).
- Systemy rekomendacji (np. identyfikacja nowych produktów pasujących do preferencji użytkownika na podstawie jego wcześniejszych zakupów).
- Rozpoznawanie twarzy (np. weryfikacja tożsamości, czy dana osoba należy do zarejestrowanej grupy).
Porównanie z innymi strukturami danych
W przeciwieństwie do klasyfikacji binarnej lub wieloklasowej, gdzie model uczy się rozróżniać między dwiema lub więcej ściśle zdefiniowanymi kategoriami (np. kot vs. pies, spam vs. nie-spam), klasyfikacja jednoklasowa skupia się na identyfikacji przynależności do jednej konkretnej klasy. W klasyfikacji binarnej mamy dostęp do przykładów obu klas, a model uczy się granicy pomiędzy nimi. W klasyfikacji jednoklasowej reszta świata (wszystko co nie jest klasą docelową) jest traktowana jako niejednorodna i nieznana. Model buduje model tylko dla normy lub klasy pozytywnej, a wszystko, co nie pasuje do tego modelu, jest automatycznie uznawane za nie-klasę lub anomalię, bez konieczności definiowania i trenowania na przykładach tych nie-klas.
Najlepsze praktyki (2026)
- Dokładne oczyszczanie i normalizacja danych treningowych klasy pozytywnej.
- Staranny dobór algorytmu, np. One-Class SVM dla danych o wyraźnych granicach, Isolation Forest dla szybkiego wykrywania anomalii w dużych zbiorach.
- Użycie walidacji krzyżowej i metryk specyficznych dla wykrywania anomalii (np. precyzja, odwołanie, F1-score dla klasy anomalii, ROC AUC).
- Testowanie modelu na zróżnicowanym zestawie danych pozytywnych i negatywnych (jeśli dostępne są negatywne do testowania, ale nie do treningu).
- Iteracyjne dostrajanie parametrów algorytmu, np. parametru nu dla One-Class SVM, który kontroluje odsetek dopuszczalnych anomalii w danych treningowych.
Typowe błędy i pułapki
- Zanieczyszczenie danych treningowych klasy pozytywnej anomaliami, co może prowadzić do zbyt szerokiego modelu.
- Niewystarczająca ilość lub reprezentatywność danych treningowych dla klasy docelowej.
- Niewłaściwy dobór algorytmu lub jego parametrów do charakterystyki danych.
- Brak walidacji na prawdziwych danych anomalii (jeśli dostępne są do testowania), co utrudnia ocenę skuteczności.
- Zbyt niska czułość (recall) na anomalie lub zbyt wysoki wskaźnik fałszywych alarmów (false positives).