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).
- Zobacz informacje na temat przenoszenia projektów uczenia maszynowego z programu ML Studio (wersja klasyczna) do Azure Machine Learning.
- Dowiedz się więcej o Azure Machine Learning.
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
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.
Kliknij dwukrotnie moduł One-Class Support Vector Model (Model wektora obsługi jednej klasy), aby otworzyć okienko Właściwości.
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ę.
η: 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.
ε (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.
Połączenie zestaw danych szkoleniowych i jeden z modułów szkoleniowych:
- Jeśli ustawisz tryb Tworzenia instruktora na wartość Pojedynczy parametr, użyj modułu Train Anomaly Detection Model (Trenowanie modelu wykrywania anomalii ).
- Jeśli ustawisz ustawienie Utwórz tryb instruktora na wartość Zakres parametrów, użyj modułu Hiperparametry modelu dostrajania .
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.
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 |