Sobes.tech
Middle — Senior

Czym jest One-Class SVM?

sobes.tech AI

Odpowiedź od AI

One-Class SVM to algorytm uczenia maszynowego używany do wykrywania anomalii i identyfikacji wartości odstających. Trenuje się go na danych jednej klasy (zwykle normalnych przykładach) i próbuje zdefiniować granicę, która oddziela te dane od wszystkich innych możliwych.

Główny pomysł polega na znalezieniu obszaru w przestrzeni cech, w którym skupione są dane normalne, i klasyfikowaniu nowych obiektów jako normalne, jeśli znajdują się w tym obszarze, lub jako anomalie, jeśli są poza nim.

Zastosowania:

  • Wykrywanie oszustw
  • Monitorowanie sprzętu
  • Wykrywanie nietypowych zachowań

Przykład użycia w Pythonie z biblioteką scikit-learn:

from sklearn.svm import OneClassSVM

# Dane treningowe (przykłady normalne)
X_train = [[0, 0], [1, 1], [0.5, 0.5], [1, 0]]

# Tworzenie modelu
model = OneClassSVM(gamma='auto').fit(X_train)

# Sprawdzanie nowych danych
X_test = [[0, 0], [2, 2]]
pred = model.predict(X_test)  # 1 — normalne, -1 — anomalie
print(pred)

W ten sposób One-Class SVM pomaga identyfikować obiekty, które znacznie różnią się od zbioru treningowego.