Udostępnij za pośrednictwem


Wykrywanie anomalii oparte na analizie głównych składowych

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 wykrywania anomalii przy użyciu analizy głównych składników

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 sposób użycia modułu wykrywania anomalii opartego na analizie PCA w programie Machine Learning Studio (wersja klasyczna) w celu utworzenia modelu wykrywania anomalii na podstawie analizy głównych składników (PCA).

Ten moduł ułatwia tworzenie modelu w scenariuszach, w których łatwo jest uzyskać dane szkoleniowe z jednej klasy, takie jak prawidłowe transakcje, ale trudno uzyskać wystarczające próbki docelowych anomalii.

Na przykład w celu wykrywania fałszywych transakcji bardzo często nie ma wystarczającej liczby przykładów oszustw, aby się szkolić, ale masz wiele przykładów dobrych transakcji. Moduł PCA-Based Anomaly Detection (Wykrywanie anomalii oparte na analizie PCA) rozwiązuje problem, analizując dostępne funkcje w celu określenia, co stanowi "normalną" klasę, i stosując metryki odległości w celu zidentyfikowania przypadków reprezentujących anomalie. Dzięki temu można trenować model przy użyciu istniejących niezrównoważnych danych.

Więcej informacji na temat analizy głównych składników

Analiza głównych składników, często skracana do PCA, jest ustanowioną techniką uczenia maszynowego. Analiza PCA jest często używana w eksploracyjną analizie danych, ponieważ ujawnia wewnętrzną strukturę danych i wyjaśnia wariancja w danych.

Analiza PCA działa przez analizowanie danych, które zawierają wiele zmiennych. Szuka korelacji między zmiennymi i określa kombinację wartości, które najlepiej przechwytują różnice w wynikach. Te połączone wartości funkcji są używane do tworzenia bardziej kompaktowych obszarów funkcji nazywanych głównymi składnikami.

W przypadku wykrywania anomalii każde nowe dane wejściowe jest analizowane, a algorytm wykrywania anomalii oblicza swoje projekcje na wygenektorach wraz ze znormalizowanym błędem odbudowy. Znormalizowany błąd jest używany jako wynik anomalii. Im większy błąd, tym bardziej anomalie wystąpienie jest.

Aby uzyskać dodatkowe informacje na temat sposobu działania pca i implementacji wykrywania anomalii, zobacz następujące dokumenty:

Jak skonfigurować wykrywanie anomalii pca

  1. Dodaj moduł PCA-Based Anomaly Detection (Wykrywanie anomalii oparte na pca) do eksperymentu w programie Studio (wersja klasyczna). Ten moduł można znaleźć w obszarze Machine Learning, Initialize Model (Inicjowanie modelu) w kategorii Anomaly Detection (Wykrywanie anomalii).

  2. W okienku Właściwości modułu PCA-Based Anomaly Detection (Wykrywanie anomalii na podstawie usługi PCA) kliknij opcję Tryb trenowania i wskaż, czy chcesz wytszkolić model przy użyciu określonego zestawu parametrów, czy użyć funkcji czyszczenie parametrów, aby znaleźć najlepsze parametry.

    • Pojedynczy parametr: wybierz tę opcję, jeśli wiesz, jak chcesz skonfigurować model, i podaj określony zestaw wartości jako argumenty.

    • Zakres parametrów: wybierz tę opcję, jeśli nie masz pewności co do najlepszych parametrów i chcesz użyć funkcji czyszczenie parametrów przy użyciu modułu Hiperparametry modelu dostrajania. Instruktor iteruje po różnych ustawieniach i określa kombinację ustawień, które zapewniają optymalne wyniki.

  3. Liczba składników do użycia w pca, zakres dla liczby składników PCA: określ liczbę funkcji wyjściowych lub składników, które mają zostać wyprowadzne.

    Decyzja o tym, ile składników należy uwzględnić, jest ważną częścią projektowania eksperymentu przy użyciu pca. Ogólne wskazówki są takie, że nie należy uwzględniać tej samej liczby składników PCA, co w przypadku zmiennych. Zamiast tego należy zacząć od mniejszej liczby składników i zwiększać je do momentu spełniania pewnych kryteriów.

    Jeśli nie masz pewności, jaka może być optymalna wartość, zalecamy trenowanie modelu wykrywania anomalii przy użyciu opcji Zakres parametrów .

    Najlepsze wyniki uzyskuje się, gdy liczba składników wyjściowych jest mniejsza niż liczba kolumn funkcji dostępnych w zestawie danych.

  4. Określ liczbę przepróbkowania do wykonania podczas losowego trenowania pca. W przypadku problemów z wykrywaniem anomalii niezrównoważone dane utrudnia stosowanie standardowych technik PCA. Określając pewne ilości oversampling, można zwiększyć liczbę wystąpień docelowych.

    W przypadku określenia wartości 1 nie jest wykonywane żadne próbkowanie. Jeśli określisz dowolną wartość większą niż 1, zostaną wygenerowane dodatkowe przykłady do użycia podczas trenowania modelu.

    Dostępne są dwie opcje, w zależności od tego, czy używasz funkcji czyszczenie parametrów:

    • Oversampling parameter for randomized PCA (Parametr oversampling dla losowej pca): wpisz pojedynczą liczbę całościową, która reprezentuje stosunek oversamplingu klasy zawęskiej do klasy normalnej. (Dostępne w przypadku korzystania z metody trenowania pojedynczego parametru).
    • Zakres parametru przepróbkowania używanego w losowej kontroli pca: wpisz serię liczb do wypróbowania lub użyj konstruktora zakresu, aby wybrać wartości za pomocą suwaka. (Dostępne tylko w przypadku używania metody trenowania Zakres parametrów).

    Uwaga

    Nie można wyświetlić zestawu danych oversampled. Aby uzyskać dodatkowe informacje na temat sposobu, w jaki próbkowanie jest używane z analizą PCA, zobacz Uwagi techniczne.

  5. Włącz normalizację średniej dla funkcji danych wejściowych: wybierz tę opcję, aby znormalizować wszystkie funkcje wejściowe do średniej o wartości zero. Normalizacja lub skalowanie do zera jest zwykle zalecane w przypadku pca, ponieważ celem PCA jest zmaksymalizowanie wariancji między zmiennymi.

    Ta opcja jest domyślnie wybrana. Usuń zaznaczenie tej opcji, jeśli wartości zostały już znormalizowane przy użyciu innej metody lub skali.

  6. Połączenie zestaw danych trenowania z tagiem 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 on wartości i będzie używać 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 lub wybierz moduł, a następnie kliknij pozycję Uruchom wybrane.

Wyniki

Po zakończeniu trenowania możesz zapisać wytrenowany model lub połączyć go z modułem Score Model (Ocena modelu), aby przewidzieć wyniki anomalii.

Aby ocenić wyniki modeli wykrywania anomalii, należy wykonać kilka dodatkowych czynności:

  1. Upewnij się, że kolumna wyników jest dostępna w obu zestawach danych

    Jeśli spróbujesz ocenić model wykrywania anomalii i otrzymasz komunikat o błędzie "Nie ma kolumny wyników w ocenianym zestawie danych do porównania", oznacza to, że używasz typowego zestawu danych oceny, który zawiera kolumnę etykiety, ale nie ma wyników prawdopodobieństwa. Musisz wybrać zestaw danych, który pasuje do danych wyjściowych schematu dla modeli wykrywania anomalii, który zawiera kolumny Scored Labels (Etykiety z wynikami) i Scored Probabilities (Scored Probabilities).

  2. Upewnij się, że kolumny etykiet są oznaczone

    Czasami metadane skojarzone z kolumną etykiety są usuwane z wykresu eksperymentu. Jeśli tak się stanie, gdy użyjemy modułu Evaluate Model (Ocena modelu) do porównania wyników dwóch modeli wykrywania anomalii, może wystąpić błąd "Nie ma kolumny etykiet w ocenionym zestawie danych" lub "Nie ma kolumny etykiety w ocenianych zestawach danych do porównania".

    Ten błąd można uniknąć, dodając moduł Edit Metadata (Edytowanie metadanych ) przed modułem Evaluate Model (Ocena modelu). Użyj selektora kolumn, aby wybrać kolumnę klasy, a następnie na liście rozwijanej Pola wybierz pozycję Etykieta.

  3. Normalizowanie wyników z różnych typów modeli

    Przewidywania z modelu wykrywania anomalii PCA zawsze są w zakresie [0,1]. Z kolei dane wyjściowe z modułu SVM jednej klasy to nieskalifikowane wyniki, które mogą być niepowiązane.

    W związku z tym w przypadku porównywania modeli na podstawie różnych algorytmów należy zawsze normalizować wyniki. Zobacz przykład w Azure AI Gallery przykład normalizacji między różnymi modelami wykrywania anomalii.

Przykłady

Przykłady sposobu, w jaki pca jest używany w wykrywaniu anomalii, zobacz Azure AI Gallery:

  • Wykrywanie anomalii: ryzyko kredytowe: Ilustruje, jak znaleźć wartości odejmujące w danych. W tym przykładzie użyto 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

Ten algorytm używa algorytmu PCA w celu przybliżenie przestrzeni podrzędnej zawierającej normalną klasę. Podsieć jest skojarzona z górnymi wartościami eigengenii macierzy kowariancji danych. Dla każdego nowego wejścia detektor anomalii najpierw oblicza swoją projekcję na efemerach własnych, a następnie oblicza znormalizowany błąd odtworzeniowy. Ten błąd to wynik anomalii. Im wyższy błąd, tym bardziej anomalie wystąpienie. Aby uzyskać szczegółowe informacje na temat sposobu obliczania normalnego miejsca, zobacz Wikipedia: Principal Component Analysis (Wikipedia: analiza głównych składników)

Parametry modułu

Nazwa Typ Zakres Opcjonalne Opis Domyślny
Tryb trenowania CreateLearnerMode 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ć.
Liczba składników do użycia w pca Liczba całkowita mode:Single Parameter (tryb:pojedynczy parametr) 2 Określ liczbę składników do użycia w pca.
Parametr oversampling dla losowego pca Liczba całkowita mode:Single Parameter (tryb:pojedynczy parametr) 2 Określ parametr dokładności dla losowego trenowania pca.
Włączanie normalizacji średniej funkcji danych wejściowych Typ logiki List:True| False Wymagane Fałsz Określ, czy dane wejściowe są znormalizowane do zera średniej.
Zakres dla liczby składników PCA ParameterRangeSettings [1;100] mode:Zakres parametrów 2; 4; 6; 8; 10 Określ zakres dla liczby składników do użycia w pca.
Zakres parametru oversampling używanego w randomizowanym pca ParameterRangeSettings [1;100] mode:Zakres parametrów 2; 4; 6; 8; 10 Określ zakres parametru dokładności używany podczas losowego trenowania pca.

Dane wyjściowe

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

Wyjątki

Wyjątek Opis
Błąd 0017 Wyjątek występuje, jeśli co najmniej jedna określona kolumna ma typ nieobsługiwany przez bieżący moduł.
Błąd 0062 Wyjątek występuje podczas próby porównania dwóch modeli z różnymi typami uczących się.
Błąd 0047 Wyjątek występuje, gdy liczba kolumn funkcji w niektórych zestawach danych przekazanych do modułu jest zbyt mała.

Aby uzyskać listę błędów specyficznych dla modułów programu Studio (wersja klasyczna), zobacz Machine Learning Kody błędów.

Aby uzyskać listę wyjątków interfejsu API, zobacz Machine Learning API REST Error Codes (Kody błędów interfejsu API REST).

Zobacz też

Jednoklasowa maszyna wektorów wsparcia