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).
- Podívejte se na informace o přesunu projektů strojového učení z ML Studia (klasického) do Azure Machine Learning.
- Další informace o Azure Machine Learning.
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:
Randomizovaný algoritmus pro analýzu hlavních komponent. Rokhlin, Szlan a Tygert
Hledání struktury s náhodností: Pravděpodobnostní algoritmy pro vytváření přibližných maticových rozkladů (soubor PDF ke stažení). Halko, Martinsson a Tropp.
Konfigurace detekce anomálií PCA
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í.
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.
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ě.
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.
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í.
Připojení označenou trénovací datovou sadu a jeden z školicích modulů:
- Pokud nastavíte možnost Vytvořit režim školitele na Jeden parametr, použijte modul Trénování modelu detekce anomálií .
- Pokud nastavíte možnost Vytvořit režim školitele na Rozsah parametrů, použijte modul Tune Model Hyperparameters (Vyladit model hyperparametrů ).
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í.
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ů:
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 ).
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.
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.