Udostępnij za pośrednictwem


Składnik wykrywania anomalii oparty na pcA

Ostrzeżenie

Ten składnik ZOSTAŁ PRZESTARZAŁY , ponieważ jego zależność , projekt NimbusML , nie jest już aktywnie utrzymywana. W związku z tym ten składnik nie będzie otrzymywać przyszłych aktualizacji ani poprawek zabezpieczeń. Planujemy usunąć ten składnik w nadchodzących wersjach. Zaleca się migrowanie użytkowników do alternatywnych rozwiązań w celu zapewnienia ciągłej obsługi i zabezpieczeń.

W tym artykule opisano sposób używania składnika wykrywania anomalii opartego na pcA 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 docelowych 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 wykrywania anomalii oparty na pcA 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 na temat analizy 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żą 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 znormalizowanym błędem 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 na temat sposobu działania analizy pca i implementacji wykrywania anomalii, zobacz następujące dokumenty:

Jak skonfigurować wykrywanie anomalii opartej na pcA

  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ę żądanych funkcji wyjściowych lub składników.

    Decyzja o tym, ile składników należy uwzględnić, jest ważną częścią projektu eksperymentu korzystającego z analizy pca. Ogólne wskazówki polegają na tym, ż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ść oversamplingu do wykonania podczas losowego trenowania PCA. W przypadku problemów z wykrywaniem anomalii niezrównoważonych danych trudno jest zastosować standardowe techniki analizy pca. Określając pewną ilość oversamplingu, można zwiększyć liczbę wystąpień docelowych.

    Jeśli określisz wartość 1, nie jest wykonywane przeładowanie. 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:

    • Parametr oversampling dla randomizowanej analizy PCA: wpisz pojedynczą liczbę całkowitą, która reprezentuje stosunek oversampling klasy mniejszości w klasie normalnej. (Ta opcja jest dostępna w przypadku korzystania z elementu Metoda trenowania pojedynczego parametru ).

    Uwaga

    Nie można wyświetlić oversampled zestawu danych. Aby uzyskać więcej informacji na temat sposobu użycia oversamplingu z pcA, zobacz Informacje 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 zalecane dla pcA, ponieważ celem 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 wyników jest dostępna w obu zestawach danych.

    Jeśli spróbujesz ocenić model wykrywania anomalii i zostanie wyświetlony błąd "Nie ma kolumny wyników w ocenianym 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, który pasuje do danych wyjściowych schematu dla modeli wykrywania anomalii, w tym kolumny Scored Labels (Wyniki etykiet ) i Scored Probabilities (Obliczone prawdopodobieństwo).

  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 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że też zostać wyświetlony błąd "Brak 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ą klasę normalną. Podprzestrzeń jest obejmuje wektory eigenów skojarzone z najwyższymi wartościami kowariancji danych macierzy wariancji.

Dla każdego nowego wejścia wykrywacz 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 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.