Udostępnij za pośrednictwem


One-Class wektorów obsługi

Ważne

Obsługa programu Machine Learning Studio (wersja klasyczna) zakończy się 31 sierpnia 2024 r. Zalecamy przejście do usługi Azure Machine Learning przed tym terminem.

Od 1 grudnia 2021 r. nie będzie można tworzyć nowych zasobów programu Machine Learning Studio (wersja klasyczna). Do 31 sierpnia 2024 r. można będzie nadal korzystać z istniejących zasobów programu Machine Learning Studio (wersja klasyczna).

Dokumentacja programu ML Studio (wersja klasyczna) jest wycofywana i może nie być aktualizowana w przyszłości.

Tworzy model maszyny wektora wsparcia dla jednej klasy na celu wykrywanie anomalii

Kategoria: Wykrywanie anomalii

Uwaga

Dotyczy: tylko Machine Learning Studio (klasyczne)

Podobne moduły przeciągania i upuszczania są dostępne w Azure Machine Learning projektanta.

Omówienie modułu

W tym artykule opisano, jak używać modułu One-Class Support Vector Model w programie Machine Learning Studio (wersja klasyczna) w celu utworzenia modelu wykrywania anomalii.

Ten moduł jest szczególnie przydatny w scenariuszach, w których masz dużo "normalnych" danych i nie ma wielu przypadków anomalii, które próbujesz wykryć. Jeśli na przykład chcesz wykrywać fałszywe transakcje, możesz nie mieć wielu przykładów oszustw, których można użyć do trenowania typowego modelu klasyfikacji, ale możesz mieć wiele przykładów dobrych transakcji.

Aby utworzyć model, użyj modułu One-Class Support Vector Model (Model wektora obsługi jednej klasy), a następnie wytrenuj model przy użyciu modułu Train Anomaly Detection Model (Trenowanie modelu wykrywania anomalii). Zestaw danych, który jest stosowany do trenowania, może zawierać wszystkie lub w większości normalne przypadki.

Następnie można zastosować różne metryki w celu zidentyfikowania potencjalnych anomalii. Na przykład można użyć dużego zestawu danych dobrych transakcji do identyfikowania przypadków, które mogą reprezentować fałszywe transakcje.

Więcej informacji na temat jednoklasowej maszyny SVM

Maszyny wektorów wsparcia (SVM) to nadzorowane modele uczenia, które analizują dane i rozpoznają wzorce i mogą być używane zarówno do zadań klasyfikacji, jak i regresji.

Zazwyczaj algorytm SVM ma zestaw przykładów treningowych oznaczonych jako należące do jednej z dwóch klas. Model SVM opiera się na podzieleniu punktów próbki treningowej na oddzielne kategorie przez jak najszerszy odstęp, a jednocześnie penalizacji próbek treningowych, które należą do niewłaściwej strony luki. Następnie model SVM tworzy przewidywania, przypisując punkty do jednej lub drugiej strony luki.

Czasami próbkowanie jest używane do replikowania istniejących próbek, dzięki czemu można utworzyć model dwuklasowy, ale nie można przewidzieć wszystkich nowych wzorców oszustw lub błędów systemowych na przykładach z ograniczonymi przykładami. Ponadto zbieranie nawet ograniczonych przykładów może być kosztowne.

W związku z tym w jednoklasowej svm model wektora obsługi jest trenowany na danych, które mają tylko jedną klasę, czyli "normalną". Wywnioskuje właściwości normalnych przypadków i na ich pomocą można przewidzieć, które przykłady są w przeciwieństwie do normalnych przykładów. Jest to przydatne w przypadku wykrywania anomalii, ponieważ niedobór przykładów szkoleniowych definiuje anomalie: to oznacza, że zazwyczaj istnieje niewiele przykładów włamań do sieci, oszustw lub innego anomalii zachowania.

Aby uzyskać więcej informacji, w tym linki do podstawowych badań, zobacz sekcję Uwagi techniczne.

Uwaga

Moduł One-Class Support Vector Model tworzy model SVM jądra, co oznacza, że nie jest zbyt skalowalny. Jeśli czas trenowania jest ograniczony lub masz zbyt dużo danych, możesz użyć innych metod do wykrywania anomalii, takich jak wykrywanie anomalii oparte na pca.

Jak skonfigurować maszyny One-Class SVM

  1. Dodaj moduł One-Class Support Vector Model do eksperymentu w programie Studio (wersja klasyczna). Moduł można znaleźć w obszarze Machine Learning — Inicjowanie w kategorii Wykrywanie anomalii.

  2. Kliknij dwukrotnie moduł One-Class Support Vector Model (Model wektora obsługi jednej klasy), aby otworzyć okienko Właściwości.

  3. W przypadku opcji Utwórz tryb szkoleniowy wybierz opcję, która wskazuje sposób trenowania modelu:

    • Pojedynczy parametr: użyj tej opcji, jeśli wiesz, jak chcesz skonfigurować model, i podaj określony zestaw wartości jako argumenty.

    • Zakres parametrów: użyj tej opcji, jeśli nie masz pewności co do najlepszych parametrów i chcesz przeprowadzić czyszczenie parametrów, aby znaleźć optymalną konfigurację.

  4. η: wpisz wartość, która reprezentuje górną granicę ułamka wartości odsłopujących. Ten parametr odpowiada właściwości nu opisanej w tym dokumencie. Właściwość nu umożliwia kontrolowanie różnic między wartościami odejścia a normalnymi przypadkami.

  5. ε (epsilon): wpisz wartość do użycia jako tolerancja zatrzymywania. Tolerancja zatrzymywania wpływa na liczbę iteracji używanych podczas optymalizacji modelu i zależy od wartości kryterium zatrzymywania. Po przekroczeniu wartości instruktor przestaje iterować po rozwiązaniu.

  6. Połączenie zestaw danych szkoleniowych i jeden z modułów szkoleniowych:

    Uwaga

    Jeśli przekażemy zakres parametrów do funkcji Train Anomaly Detection Model (Trenowanie modelu wykrywania anomalii), będzie używana tylko pierwsza wartość z listy zakresów parametrów.

    Jeśli przekażemy pojedynczy zestaw wartości parametrów do modułu Hiperparametry modelu dostrajania, jeśli oczekuje on zakresu ustawień dla każdego parametru, zignoruje wartości i użyje wartości domyślnych dla uczących się.

    W przypadku wybrania opcji Zakres parametrów i wprowadzenia pojedynczej wartości dowolnego parametru ta pojedyncza wartość jest używana podczas czyszczenie, nawet jeśli inne parametry zmieniają się w zakresie wartości.

  7. Uruchom eksperyment.

Wyniki

Moduł zwraca wytrenowany model wykrywania anomalii. Możesz zapisać model w obszarze roboczym lub połączyć moduł Score Model (Ocena modelu) i użyć wytrenowany model do wykrywania możliwych anomalii.

Jeśli model został wytrenowany przy użyciu funkcji czyszczenie parametrów, zanotuj optymalne ustawienia parametrów do użycia podczas konfigurowania modelu do użycia w środowisku produkcyjnym.

Przykłady

Przykłady sposobu, w jaki ten moduł jest używany w wykrywaniu anomalii, można znaleźć w Azure AI Gallery:

  • Wykrywanie anomalii: Ryzyko kredytowe: W tym przykładzie pokazano, jak znaleźć wartości odejmujące w danych przy użyciu funkcji czyszczenie parametrów w celu znalezienia optymalnego modelu. Następnie stosuje ten model do nowych danych, aby identyfikować ryzykowne transakcje, które mogą reprezentować oszustwo, porównując dwa różne modele wykrywania anomalii.

Uwagi techniczne

Przewidywania z maszyny SVM jednej klasy to nieskalifikowane wyniki, które mogą być niepowiązane. Jak pokazano w przykładzie Cortana Intelligence Gallery, pamiętaj o normalizacji wyników w przypadku porównywania modeli na podstawie różnych algorytmów.

Badania

Ta implementacja opakowywa bibliotekę dla maszyn wektorów pomocy technicznej o nazwie libsvm. W tych dokumentach libsvm B. Schӧlkopf i in. opisuje ogólną teorię, na której się opiera, oraz podejście do jednoklasowych maszyn wektorów wsparcia.

Parametry modułu

Nazwa Typ Zakres Opcjonalne Opis Domyślny
Tworzenie trybu instruktora Tworzenie trybu instruktora List:Single Parameter| Zakres parametrów Wymagane Pojedynczy parametr Określ opcje dla uczących się.

Użyj opcji SingleParameter , aby ręcznie określić wszystkie wartości.

Użyj opcji ParameterRange , aby przesłonić parametry, które można zmieniać.
Nu Float >= double. Epsilon mode:Single Parameter (tryb:pojedynczy parametr) 0.1 Ten parametr (reprezentowany przez literę greckich nu) określa różnicę między ułamkiem wartości odsektorowych a liczbą wektorów wsparcia.
Epsilon Float >= double. Epsilon mode:Single Parameter (tryb:pojedynczy parametr) 0,001 Określa tolerancję zatrzymywania.
psnu ParameterRangeSettings [0.001;1.0] mode:Zakres parametrów 0.001; 0.01; 0.1 Określa zakres dla różnicy między ułamkiem wartości odsektorowych a liczbą wektorów wsparcia.
psEpsilon ParameterRangeSettings [1e-6;1.0] mode:Zakres parametrów 0.001; 0.01; 0.1 Określa zakres tolerancji zatrzymywania.

Dane wyjściowe

Nazwa Typ Opis
Nie wytrenowany model ILearner, interfejs Nieprzetrenowany model wykrywania anomalii

Zobacz też

Klasyfikacja
Trenowanie modelu wykrywania anomalii