Megosztás a következőn keresztül:


Anomáliadetektálási összetevő PCA-Based

Ez a cikk azt ismerteti, hogyan hozhat létre anomáliadetektálási modellt az Azure Machine Learning Designer PCA-Based Anomáliadetektálási összetevőjével a fő összetevő-elemzésen (PCA) alapuló anomáliadetektálási modell létrehozásához.

Ez az összetevő olyan forgatókönyvekben segít létrehozni a modelleket, amelyekben egyszerű betanítási adatokat lekérni egy osztályból, például érvényes tranzakciókból, de nehéz elegendő mintát lekérni a célzott anomáliákból.

A csalárd tranzakciók észleléséhez például gyakran nincs elég példa csalásra a betanítása érdekében. De számos példa lehet a jó tranzakciókra. Az PCA-Based anomáliadetektálási összetevő az elérhető funkciók elemzésével megoldja a problémát, és meghatározza, hogy mi számít "normál" osztálynak. Az összetevő ezután távolsági metrikákat alkalmaz az anomáliákat képviselő esetek azonosításához. Ez a módszer lehetővé teszi, hogy meglévő kiegyensúlyozatlan adatok használatával tanítsa be a modelleket.

További információ az alapvető összetevők elemzéséről

A PCA a gépi tanulás egyik bevált technikája. Gyakran használják feltáró jellegű adatelemzésben, mert feltárja az adatok belső szerkezetét, és elmagyarázza az adatok varianciáját.

A PCA több változót tartalmazó adatok elemzésével működik. Korrelációkat keres a változók között, és meghatározza az eredmények közötti különbségeket legjobban rögzítő értékek kombinációját. Ezek az egyesített funkcióértékek egy kompaktabb funkciótér, az úgynevezett fő összetevők létrehozására szolgálnak.

Az anomáliadetektáláshoz a rendszer minden új bemenetet elemez. Az anomáliadetektálási algoritmus kiszámítja az eigenvekre vetületét egy normalizált rekonstrukciós hibával együtt. A normalizált hiba anomáliadekódként használatos. Minél nagyobb a hiba, annál rendellenesebb a példány.

A PCA működéséről és az anomáliadetektálás megvalósításáról az alábbi dokumentumokban talál további információt:

Anomáliadetektálás konfigurálása PCA-Based

  1. Adja hozzá a PCA-alapú anomáliadetektálási összetevőt a folyamathoz a tervezőben. Ezt az összetevőt az Anomáliadetektálás kategóriában találja.

  2. Az összetevő jobb oldali paneljén válassza a Betanítási mód lehetőséget. Jelezze, hogy egy adott paraméterkészlettel szeretné-e betaníteni a modellt, vagy egy paraméteres takarítással megkeresi a legjobb paramétereket.

    Ha tudja, hogyan szeretné konfigurálni a modellt, válassza az Egyetlen paraméter lehetőséget, és adjon meg egy adott értékkészletet argumentumként.

  3. A PCA-ban használandó összetevők száma beállításnál adja meg a kívánt kimeneti funkciókat vagy összetevőket.

    A PCA-t használó kísérlettervezés fontos része annak a döntésnek, hogy hány összetevőt kell belefoglalni. Általános útmutató: ne tartalmazzon annyi PCA-összetevőt, mint ahány változó létezik. Ehelyett kisebb számú összetevővel kell kezdenie, és növelnie kell őket, amíg valamilyen feltétel nem teljesül.

    A legjobb eredmény akkor érhető el, ha a kimeneti összetevők száma kisebb, mint az adathalmazban elérhető funkcióoszlopok száma.

  4. Adja meg a véletlenszerű PCA-betanítás során végrehajtandó túlméretezés mennyiségét. Az anomáliadetektálási problémák esetén a kiegyensúlyozatlan adatok megnehezítik a szabványos PCA-technikák alkalmazását. Bizonyos mértékű túlbélyegzés megadásával növelheti a célpéldányok számát.

    Ha 1-et ad meg, a program nem végez túlbélyegezést. Ha 1-nél nagyobb értéket ad meg, a rendszer további mintákat hoz létre a modell betanításához.

    Két lehetőség közül választhat, attól függően, hogy paraméteres takarítást használ-e:

    • Oversampling paraméter véletlenszerű PCA-hoz: Írjon be egyetlen egész számot, amely a kisebbségi osztály túlméretezésének arányát jelöli a normál osztályhoz képest. (Ez a lehetőség az egyparaméteres betanítási módszer használatakor érhető el.)

    Megjegyzés

    A túlbélyegzett adatkészlet nem tekinthető meg. A PCA-val való túlbélyegzéssel kapcsolatos további információkért lásd a műszaki megjegyzéseket.

  5. Válassza a Beviteli funkció középértékének normalizálása lehetőséget az összes bemeneti funkció nullára való normalizálásához. A PCA esetében általában a normalizálás vagy a nullára való skálázás ajánlott, mivel a PCA célja a változók közötti variancia maximalizálása.

    Alapértelmezés szerint ez a beállítás van kijelölve. Törölje a jelölését, ha az értékek már normalizálva lettek egy másik módszerrel vagy skálázásával.

  6. Csatlakoztassa a címkézett betanítási adatkészletet és az egyik betanítási összetevőt.

    Ha az Oktatói mód létrehozása beállítást Egyetlen paraméterre állítja, használja az Anomáliadetektálási modell betanítása összetevőt.

  7. Küldje el a folyamatot.

Results (Eredmények)

A betanítás befejezése után mentheti a betanított modellt. Vagy csatlakoztathatja a Modell pontozása összetevőhöz az anomáliadegnosztikák előrejelzéséhez.

Az anomáliadetektálási modell eredményeinek kiértékelése:

  1. Győződjön meg arról, hogy a pontszámoszlop mindkét adatkészletben elérhető.

    Ha megpróbál kiértékelni egy anomáliadetektálási modellt, és a következő hibaüzenetet kapja: "A pontszámoszlop nincs összehasonlítható pontozott adatkészletben", akkor egy tipikus kiértékelési adatkészletet használ, amely címkeoszlopot tartalmaz, de valószínűségi pontszámokat nem. Válasszon ki egy olyan adatkészletet, amely megfelel az anomáliadetektálási modellek sémakimenetének, amely pontozott címkéket és pontozott valószínűségi oszlopokat tartalmaz.

  2. Győződjön meg arról, hogy a címkeoszlopok meg vannak jelölve.

    Néha a címkeoszlophoz társított metaadatok el lesznek távolítva a folyamatgráfból. Ha ez történik, amikor a Modell kiértékelése összetevővel összehasonlítja két anomáliadetektálási modell eredményeit, a következő hibaüzenet jelenhet meg: "Nincs címkeoszlop a pontozott adathalmazban". Vagy a következő hibaüzenet jelenhet meg: "Nincs összehasonlítandó címkeoszlop a pontozott adathalmazban".

    Ezeket a hibákat elkerülheti, ha hozzáadja a Metaadatok szerkesztése összetevőt a Modell kiértékelése összetevő előtt. Az oszlopválasztóval válassza ki az osztályoszlopot, majd a Mezők listában válassza a Címke lehetőséget.

  3. A Python-szkript végrehajtása összetevővel 1 (pozitív, normál) és 0 (negatív, rendellenes) címkés oszlopkategóriákat állíthat be.

    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)
    

Technikai megjegyzések

Ez az algoritmus PCA-t használ a normál osztályt tartalmazó altér közelítéséhez. Az alteret az adatkovarianciamátrix felső eigenvalueseihez társított eigenvek fedik le.

Minden új bemenethez az anomáliadetektor először kiszámítja az eigenvekre vetületét, majd kiszámítja a normalizált rekonstrukciós hibát. Ez a hiba az anomália pontszáma. Minél nagyobb a hiba, annál rendellenesebb a példány. A normál tér kiszámításának részleteiért lásd a Wikipédiát: Fő összetevő elemzése.

Következő lépések

Tekintse meg az Azure Machine Learning számára elérhető összetevőket .

A tervező összetevőire vonatkozó hibák listájáért tekintse meg a tervező kivételeit és hibakódjait .