Detekce anomálií na základě PCA

Důležité

Podpora studia Machine Learning (Classic) skončí 31. srpna 2024. Doporučujeme do tohoto data přejít na službu Azure Machine Learning.

Od 1. prosince 2021 nebude možné vytvářet nové prostředky studia Machine Learning (Classic). Do 31. srpna 2024 můžete pokračovat v používání stávajících prostředků studia Machine Learning (Classic).

Dokumentace ke studiu ML (Classic) se vyřazuje z provozu a v budoucnu se nemusí aktualizovat.

Vytvoří model detekce anomálií pomocí analýzy hlavních komponent.

Kategorie: Detekce anomálií

Poznámka

Platí pro: Machine Learning Studio (classic)

Podobné moduly s přetahováním jsou k dispozici v Azure Machine Learning návrháři.

Přehled modulu

Tento článek popisuje, jak pomocí modulu Detekce anomálií na základě PCA v Machine Learning Studiu (klasickém) vytvořit model detekce anomálií založený na analýze hlavních komponent (PCA).

Tento modul vám pomůže vytvořit model ve scénářích, kde je snadné získat trénovací data z jedné třídy, jako jsou platné transakce, ale obtížně získat dostatek vzorků cílových anomálií.

Pokud například chcete detekovat podvodné transakce, velmi často nemáte dostatek příkladů podvodů, na které byste se trénovat, ale máte mnoho příkladů dobrých transakcí. Modul Detekce anomálií založený na PCA řeší problém tím, že analyzuje dostupné funkce, aby určil, co představuje "normální" třídu, a použije metriky vzdálenosti k identifikaci případů, které představují anomálie. To vám umožní vytrénovat model pomocí existujících nevyvážené dat.

Další informace o analýze hlavních komponent

Analýza hlavních komponent, která se často zkříží na PCA, je zavedená technika strojového učení. Analýza PCA se často používá při průzkumné analýze dat, protože odhalí vnitřní strukturu dat a vysvětluje odchylku v datech.

Analýza PCA funguje tak, že analyzuje data, která obsahují více proměnných. Hledá korelace mezi proměnnými a určuje kombinaci hodnot, které nejlépe zachycuje rozdíly ve výsledcích. Tyto kombinované hodnoty funkcí slouží k vytvoření kompaktnějšího prostoru funkcí nazývaného hlavní komponenty.

Pro detekci anomálií se analyzuje každý nový vstup a algoritmus detekce anomálií vypočítá svou projekci na eigenvectors společně s normalizovanou chybou při rekonstrukci. Normalizovaná chyba se používá jako skóre anomálií. Čím vyšší je chyba, tím je instance neobvyklé.

Další informace o tom, jak PCA funguje, a o implementaci detekce anomálií, najdete v těchto dokumentech:

Konfigurace detekce anomálií PCA

  1. Přidejte do experimentu v nástroji Studio (classic) modul Detekce anomálií založený na PCA. Tento modul najdete v části Machine LearningInicializace modelu v kategorii Detekce anomálií.

  2. V podokně Vlastnosti modulu Detekce anomálií na základě PCA klikněte na možnost Režim trénování a určete, jestli chcete model trénovat pomocí konkrétní sady parametrů, nebo pomocí úklidu parametrů najděte nejlepší parametry.

    • Jeden parametr: Tuto možnost vyberte, pokud víte, jak chcete model nakonfigurovat, a zadejte konkrétní sadu hodnot jako argumenty.

    • Rozsah parametrů: Tuto možnost vyberte, pokud si nejste jistí nejlepšími parametry a chcete použít úklid parametrů pomocí modulu Ladění hyperparametrů modelu. Školitel iteruje v rozsahu nastavení, která zadáte, a určuje kombinaci nastavení, která vytváří optimální výsledky.

  3. Počet součástí, které se mají použít v PCA, Rozsah pro počet komponent PCA: Zadejte počet výstupních funkcí nebo komponent, které chcete zobrazit.

    Rozhodnutí o tom, kolik součástí je třeba zahrnout, je důležitou součástí návrhu experimentu s využitím PCA. Obecně platí, že byste neměli zahrnovat stejný počet komponent PCA jako proměnné. Místo toho byste měli začít s menším počtem komponent a zvýšit je, dokud nebudou splněna některá kritéria.

    Pokud si nejste jisti optimální hodnotou, doporučujeme vytrénovat model detekce anomálií pomocí možnosti Rozsah parametrů.

    Nejlepších výsledků dosáhnete, když je počet výstupních komponent menší než počet sloupců funkcí dostupných v datové sadě.

  4. Zadejte množství převzorkování, které se má provést během náhodného trénování PCA. V případě problémů s detekcí anomálií je obtížné použít standardní techniky PCA. Zadáním určitého množství převzorkování můžete zvýšit počet cílových instancí.

    Pokud zadáte hodnotu 1, nebude se provádět žádné převzorkování. Pokud zadáte libovolnou hodnotu vyšší než 1, vygenerují se další vzorky pro použití při trénování modelu.

    Existují dvě možnosti v závislosti na tom, jestli používáte úklid parametrů, nebo ne:

    • Parametr převzorkování pro randomizovanou PCA: Zadejte jedno celé číslo, které představuje poměr převzorkování třídy při převzorkování vzhledem k normální třídě. (K dispozici při použití metody trénování s jedním parametrem.)
    • Rozsah parametru převzorkování použitého v randomizovaném PCA: Zadejte řadu čísel, která se má vyzkoušet, nebo použijte Tvůrce rozsahu k výběru hodnot pomocí posuvníku. (K dispozici pouze při použití metody trénování rozsahu parametrů.)

    Poznámka

    Převzorkovaná datová sada se zobrazit ne. Další podrobnosti o tom, jak se s PCA používá převzorkování, najdete v technických poznámkách.

  5. Povolit normalizaci střední hodnoty vstupní funkce: Tuto možnost vyberte, pokud chcete normalizovat všechny vstupní funkce na střední hodnotu nula. Pro PCA se obecně doporučuje normalizace nebo škálování na nulu, protože cílem PCA je maximalizovat odchylku mezi proměnnými.

    Tato možnost je ve výchozím nastavení zaškrtnutá. Zrušte výběr této možnosti, pokud se hodnoty už normalizovaly pomocí jiné metody nebo škálování.

  6. Připojení označenou trénovací datovou sadu a jeden z školicích modulů:

    Poznámka

    Pokud do trénování modelu detekce anomálií předáte rozsah parametrů, použije se v seznamu rozsahů parametrů pouze první hodnota.

    Pokud modulu Tune Model Hyperparameters předáte jednu sadu hodnot parametrů, bude modul při očekávání rozsahu nastavení pro jednotlivé parametry ignorovat tyto hodnoty a použije výchozí hodnoty pro uživatele, který se učí.

    Pokud vyberete možnost Rozsah parametrů a zadáte jednu hodnotu pro libovolný parametr, tato jedna hodnota se použije v průběhu úklidu, i když se jiné parametry v rozsahu hodnot změní.

  7. Spusťte experiment nebo vyberte modul a klikněte na Spustit vybrané.

Výsledky

Po dokončení trénování můžete vytrénovaný model uložit nebo ho připojit k modulu Skóre modelu a předpovědět skóre anomálií.

K vyhodnocení výsledků modelů detekce anomálií je potřeba provést několik dalších kroků:

  1. Ujistěte se, že je v obou datových sadách k dispozici sloupec skóre.

    Pokud se pokusíte vyhodnotit model detekce anomálií a zobrazí se chyba Ve vyhodnocené datové sadě není žádný sloupec skóre k porovnání, znamená to, že používáte typickou datovou sadu vyhodnocení, která obsahuje sloupec popisku, ale žádné skóre pravděpodobnosti. Musíte zvolit datovou sadu, která odpovídá výstupu schématu pro modely detekce anomálií, která obsahuje sloupec Scored Labels (Popisky se skóre) a Scored Probabilities (Pravděpodobnosti se skóre ).

  2. Ujistěte se, že jsou označené sloupce popisků.

    Někdy se v grafu experimentu odstraní metadata přidružená ke sloupci popisku. Pokud k tomu dojde, může se stát, že když použijete modul Vyhodnotit model k porovnání výsledků dvou modelů detekce anomálií, může se zobrazit chyba Ve vyhodnocené datové sadě není žádný sloupec popisků nebo "V datové sadě s skóre k porovnání není žádný sloupec popisku".

    Této chybě se můžete vyhnout přidáním modulu Upravit metadata před modul Vyhodnotit model. Pomocí selektoru sloupců zvolte sloupec třídy a v rozevíracím seznamu Pole vyberte Popisek.

  3. Normalizace skóre z různých typů modelů

    Předpovědi z modelu detekce anomálií PCA jsou vždy v rozsahu [0,1]. Naproti tomu výstupem z modulu SVM s jednou třídou jsou necistovaná skóre, která jsou pravděpodobně nevázané.

    Proto pokud porovnáváte modely založené na různých algoritmech, musíte skóre vždy normalizovat. Příklad normalizace mezi různými modely detekce anomálií najdete v příkladu v Azure AI Gallery.

Příklady

Příklady použití PCA při detekci anomálií najdete v Azure AI Gallery:

  • Detekce anomálií: Úvěrové riziko: Ukazuje, jak v datech najít odlehlé hodnoty. V tomto příkladu se k vyhledání optimálního modelu používá úklid parametrů. Pak tento model použije na nová data k identifikaci rizikových transakcí, které můžou představovat podvod, a porovná dva různé modely detekce anomálií.

Technické poznámky

Tento algoritmus používá PCA k odhadu podprostoru obsahujícího normální třídu. Podprostor je rozložen pomocígenvectors přidružených k nejvyšším eigenvalues matice kovariance dat. Pro každý nový vstup detektor anomálií nejprve vypočítá svou projekci na eigenvectors a pak vypočítá normalizovanou chybu při obnovování. Tato chyba je skóre anomálií. Čím vyšší je chyba, tím více neobvyklé instanci. Podrobnosti o tom, jak se počítá normální místo, najdete v tématu Wikipedii: Analýza hlavní komponenty .

Parametry modulu

Název Typ Rozsah Volitelné Description Výchozí
Školicí režim CreateLearnerMode Seznam: jeden parametr | Rozsah parametrů Vyžadováno Jeden parametr Zadejte možnosti nástroje pro učení.

Pro ruční zadání všech hodnot použijte možnost SingleParameter .

K VyParameterRangeení parametrů přizpůsobitelné použijte možnost.
Počet komponent, které se mají použít v DPS Integer Mode: jeden parametr 2 Zadejte počet komponent, které se mají použít v DPS.
Parametr převzorkování pro náhodný DPS Integer Mode: jeden parametr 2 Zadejte parametr přesnosti pro náhodné školení DPS.
Možnost Povolit normalizaci vstupu – střední Typ logiky Seznam: pravda | Chybné Vyžadováno Ne Určete, zda jsou vstupní data normalizována na nulový význam.
Rozsah pro počet součástí DPS ParameterRangeSettings [1; 100] režim: rozsah parametrů odst 4 6 8 10pruhový Zadejte rozsah počtu komponent, které mají být použity v DPS.
Rozsah parametru převzorkování použitého v náhodném DPS ParameterRangeSettings [1; 100] režim: rozsah parametrů odst 4 6 8 10pruhový Zadejte rozsah parametru přesnosti používaný v náhodném školení DPS.

Výstupy

Název Typ Description
Nevlakový model Rozhraní ILearner Nevýukový model detekce anomálií založený na DPS

Výjimky

Výjimka Description
Chyba 0017 K výjimce dojde v případě, že jeden nebo více zadaných sloupců má nepodporovaný typ aktuálním modulem.
Chyba 0062 Při pokusu o porovnání dvou modelů s různými typy informací dojde k výjimce.
Chyba 0047 K výjimce dojde, pokud je počet sloupců funkce v některých datových sadách předaných do modulu příliš malý.

seznam chyb, které jsou specifické pro moduly studia (classic), najdete v článku kódy chyb Machine Learning.

seznam výjimek rozhraní API najdete v tématu Machine Learning REST API chybové kódy.

Viz také

Vektorový počítač podpory s jednou třídou