składnik wykrywania anomalii PCA-Based

W tym artykule opisano sposób użycia składnika wykrywania anomalii PCA-Based w projektancie usługi Azure Machine Learning w celu utworzenia modelu wykrywania anomalii na podstawie analizy głównych składników (PCA).

Ten składnik ułatwia tworzenie modelu w scenariuszach, w których łatwo jest uzyskać dane szkoleniowe z jednej klasy, takie jak prawidłowe transakcje, ale trudne do uzyskania wystarczających próbek ukierunkowanych anomalii.

Na przykład w celu wykrywania fałszywych transakcji często nie masz wystarczającej liczby przykładów oszustw do trenowania. Może jednak istnieć wiele przykładów dobrych transakcji. Składnik PCA-Based wykrywania anomalii rozwiązuje problem, analizując dostępne funkcje, aby określić, co stanowi "normalną" klasę. Następnie składnik stosuje metryki odległości do identyfikowania przypadków reprezentujących anomalie. Takie podejście umożliwia trenowanie modelu przy użyciu istniejących niezrównoważonych danych.

Więcej informacji o analizie głównych składników

PCA to ustanowiona technika uczenia maszynowego. Jest ona często używana w eksploracyjnej analizie danych, ponieważ ujawnia wewnętrzną strukturę danych i wyjaśnia wariancję 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 kompaktowej przestrzeni funkcji nazywanej głównymi składnikami.

W przypadku wykrywania anomalii każde nowe dane wejściowe są analizowane. Algorytm wykrywania anomalii oblicza swoje projekcje na wektorach eigenowych wraz z błędem znormalizowanej rekonstrukcji. Znormalizowany błąd jest używany jako wynik anomalii. Im wyższy błąd, tym bardziej nietypowe jest wystąpienie.

Aby uzyskać więcej informacji o sposobie działania analizy głównych elementów i o implementacji wykrywania anomalii, zobacz następujące dokumenty:

Jak skonfigurować wykrywanie anomalii PCA-Based

  1. Dodaj składnik wykrywania anomalii opartej na pcA do potoku w projektancie. Ten składnik można znaleźć w kategorii Wykrywanie anomalii .

  2. W prawym panelu składnika wybierz opcję Tryb trenowania . Określ, czy chcesz wytrenować model przy użyciu określonego zestawu parametrów, czy też użyć funkcji zamiatania parametrów, aby znaleźć najlepsze parametry.

    Jeśli wiesz, jak skonfigurować model, wybierz opcję Pojedynczy parametr i podaj określony zestaw wartości jako argumenty.

  3. W polu Liczba składników do użycia w pca określ liczbę potrzebnych funkcji wyjściowych lub składników.

    Decyzja o tym, ile składników należy uwzględnić, jest ważną częścią projektowania eksperymentu, która korzysta z analizy głównych składowych. Ogólne wskazówki są takie, że nie należy uwzględniać tej samej liczby składników PCA, co istnieją zmienne. Zamiast tego należy zacząć od mniejszej liczby składników i zwiększyć je do momentu spełnienia pewnego kryterium.

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

  4. Określ ilość nadmiernych próbek do wykonania podczas losowego trenowania analizy pca. W przypadku problemów z wykrywaniem anomalii niezrównoważone dane utrudniają stosowanie standardowych technik analizy głównych problemów. Określając pewną ilość nadmiernych próbek, można zwiększyć liczbę wystąpień docelowych.

    Jeśli określisz wartość 1, nie jest wykonywane przeampowanie. Jeśli określisz dowolną wartość większą niż 1, zostaną wygenerowane dodatkowe próbki do użycia podczas trenowania modelu.

    Istnieją dwie opcje, w zależności od tego, czy używasz zamiatania parametrów, czy nie:

    • Oversampling parametr dla randomizowanej ANALIZY głównych: wpisz pojedynczą liczbę całkowitą, która reprezentuje stosunek oversamplingu klasy mniejszości w klasie normalnej. (Ta opcja jest dostępna w przypadku korzystania z metody trenowania pojedynczego parametru ).

    Uwaga

    Nie można wyświetlić nadmiernie próbkowanych zestawów danych. Aby uzyskać więcej informacji na temat sposobu użycia oversamplingu z pca, zobacz Uwagi techniczne.

  5. Wybierz opcję Włącz normalizację funkcji średniego wprowadzania, aby znormalizować wszystkie funkcje wejściowe do średniej zera. Normalizacja lub skalowanie do zera jest zwykle zalecana w przypadku analizy pca, ponieważ celem analizy pca jest zmaksymalizowanie wariancji między zmiennymi.

    Ta opcja jest domyślnie wybrana. Usuń zaznaczenie, jeśli wartości zostały już znormalizowane za pomocą innej metody lub skali.

  6. Połącz oznakowany zestaw danych trenowania i jeden ze składników szkoleniowych.

    Jeśli ustawisz opcję Utwórz tryb trenera na pojedynczy parametr, użyj składnika Train Anomaly Detection Model (Trenowanie modelu wykrywania anomalii ).

  7. Prześlij potok.

Wyniki

Po zakończeniu trenowania można zapisać wytrenowany model. Możesz też połączyć go ze składnikiem Score Model (Generowanie wyników dla modelu ), aby przewidzieć wyniki anomalii.

Aby ocenić wyniki modelu wykrywania anomalii:

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

    Jeśli spróbujesz ocenić model wykrywania anomalii i zostanie wyświetlony błąd "Nie ma kolumny oceny w wygenerowanym zestawie danych do porównania", używasz typowego zestawu danych oceny zawierającego kolumnę etykiety, ale nie ma wyników prawdopodobieństwa. Wybierz zestaw danych pasujący do danych wyjściowych schematu dla modeli wykrywania anomalii, który zawiera kolumny Scored Labels (Etykiety z wynikami) i Scored Probabilities (Obliczone prawdopodobieństwa).

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

    Czasami metadane skojarzone z kolumną etykiety są usuwane na wykresie potoku. Jeśli tak się stanie, w przypadku użycia składnika Evaluate Model (Ocena modelu ) w celu porównania wyników dwóch modeli wykrywania anomalii może zostać wyświetlony błąd "Brak kolumny etykiety w ocenianym zestawie danych". Możesz też zobaczyć błąd "Nie ma kolumny etykiety w wygenerowanych zestawach danych do porównania".

    Te błędy można uniknąć, dodając składnik Edit Metadata (Edytuj metadane ) przed składnikiem Evaluate Model (Ocena modelu ). Użyj selektora kolumn, aby wybrać kolumnę klasy, a następnie na liście Pola wybierz pozycję Etykieta.

  3. Użyj składnika Execute Python Script (Wykonywanie skryptu języka Python ), aby dostosować kategorie kolumn etykiet jako 1 (dodatnie, normalne) i 0(ujemne, nietypowe).

    label_column_name = 'XXX'
    anomaly_label_category = YY
    dataframe1[label_column_name] = dataframe1[label_column_name].apply(lambda x: 0 if x == anomaly_label_category else 1)
    

Uwagi techniczne

Ten algorytm używa analizy pca, aby przybliżyć podprzestrzeń zawierającą normalną klasę. Przestrzeń podrzędna jest częścią wektorów eigenów skojarzonych z najwyższymi wartościami wariancji danych macierzy wariancji.

Dla każdego nowego wejścia detektor anomalii najpierw oblicza swoje projekcje na wektorach eigenowych, a następnie oblicza znormalizowany błąd rekonstrukcji. Ten błąd jest wynikiem anomalii. Im wyższy błąd, tym bardziej nietypowe jest wystąpienie. Aby uzyskać szczegółowe informacje na temat sposobu obliczania normalnego miejsca, zobacz Wikipedia: Analiza głównych składników.

Następne kroki

Zobacz zestaw składników dostępnych dla usługi Azure Machine Learning.

Zobacz Wyjątki i kody błędów dla projektanta , aby uzyskać listę błędów specyficznych dla składników projektanta.