One-Class támogatóvektor-gép
Fontos
A (klasszikus) Machine Learning Studio támogatása 2024. augusztus 31-én megszűnik. Javasoljuk, hogy addig térjen át az Azure Machine Learning használatára.
2021. december 1-től kezdve nem fog tudni létrehozni új (klasszikus) Machine Learning Studio-erőforrásokat. 2024. augusztus 31-ig továbbra is használhatja a meglévő (klasszikus) Machine Learning Studio-erőforrásokat.
- További információ a gépi tanulási projektek a ML Studióból a klasszikusból a Azure Machine Learning.
- További információ a Azure Machine Learning.
A (klasszikus) ML Studio dokumentációjának kivezetése folyamatban van, és a jövőben nem várható a frissítése.
Létrehoz egy egyosztályos támogatóvektor-gépmodellt az anomáliadetektáláshoz
Kategória: Anomáliadetektálás
Megjegyzés
A következőkre vonatkozik: Machine Learning Studio (klasszikus)
Hasonló húzással használható modulok érhetők el Azure Machine Learning tervezőben.
A modul áttekintése
Ez a cikk azt ismerteti, hogyan használható a Machine Learning Studio (klasszikus) egyosztályos támogatóvektor-modell modulja egy anomáliadetektálási modell létrehozásához.
Ez a modul különösen hasznos olyan forgatókönyvekben, ahol sok "normál" adat áll rendelkezésre, és nem sok olyan anomáliadetektálási eset, amit észlelni próbál. Ha például csalárd tranzakciókat kell észlelnie, lehet, hogy nem sok csalási példával fogta fel egy tipikus besorolási modell betanítására, de számos jó tranzakcióval is lehet példái.
Az egyosztályos támogatási vektormodell modullal létrehozhatja a modellt, majd betanítja a modellt az Anomáliadetektálási modell betanítására. A betanításhoz használt adatkészlet az összes vagy többnyire normál esetet tartalmazhatja.
Ezután különböző metrikákat alkalmazhat a lehetséges anomáliák azonosításához. Előfordulhat például, hogy egy nagy méretű, jó tranzakciókat ábrázoló adatkészletet használ a csalárd tranzakciókat ábrázoló esetek azonosítására.
További információ az egyosztályos SVM-ről
A támogatóvektor-gépek (SVM-gépek) felügyelt tanulási modellek, amelyek elemzik az adatokat és felismerik a mintákat, és besorolási és regressziós feladatokhoz is használhatók.
Az SVM-algoritmus általában két osztály egyikébe tartozó betanításpéma-készletet kap. Az SVM-modellek a betanítás mintapontokat a lehető legszélesebb eltéréssel osztjuk fel külön kategóriákba, és a hézag nem megfelelő oldalára eső betanításmintákat vonjuk be. Az SVM-modell ezután előrejelzéseket tesz úgy, hogy a pontokat a hézag vagy a másik oldalhoz rendeli.
A meglévő minták olykor túlminta-mintavételezést használnak egy kétosztályos modell létrehozásához, de a csalások vagy rendszerhibák összes új mintáit nem lehet előrejelezni korlátozott példákból. Emellett még a korlátozott példák gyűjteménye is költséges lehet.
Ezért az egyosztályos SVM-ben a támogatóvektor-modell olyan adatokkal van betanítva, amelyek csak egy osztályt tartalmaznak, amely a "normál" osztály. A normál esetek tulajdonságait is kiveszi, és ezek alapján előrejelezni tudja, hogy mely példák eltérnek a szokásos példáktól. Ez azért hasznos az anomáliadetektáláshoz, mert a betanítási példák alacsony száma határozza meg az anomáliákat: vagyis általában kevés példa van a hálózati behatolásra, csalásra vagy más rendellenes viselkedésre.
További információkért, beleértve az alapszintű kutatásokra mutató hivatkozásokat, tekintse meg a Műszaki megjegyzések szakaszt .
Megjegyzés
Az egyosztályos támogatóvektor-modell modul egy kernel-SVM modellt hoz létre, ami azt jelenti, hogy nem túl skálázható. Ha a betanítás korlátozott, vagy ha túl sok adata van, más módszereket is használhat az anomáliadetektorhoz, például a PCA-alapú anomáliadetektálást.
Az SVM One-Class konfigurálása
Adja hozzá az egyosztályos támogatási vektormodell modult a kísérlethez a Studióban (klasszikus). A modul az Anomáliadetektálás Machine Learning inicializálásaalatt található.
Kattintson duplán a One-Class Support Vector Model (Egyosztályos támogató vektormodell ) modulra a Tulajdonságok panel megnyitásához .
Az Oktatói mód létrehozása beállításnál válassza ki azt a lehetőséget, amely a modell betanításának módját jelzi:
Egyetlen paraméter: Akkor használja ezt a lehetőséget, ha tudja, hogyan szeretné konfigurálni a modellt, és argumentumként adjon meg egy adott értékkészletet.
Paramétertartomány: Akkor használja ezt a lehetőséget, ha nem biztos a legjobb paraméterekben, és paraméteres keresésen szeretné megtalálni az optimális konfigurációt.
η: Írjon be egy értéket, amely a kilőknek a törtrészének felső határát jelöli. Ez a paraméter a jelen tanulmányban leírt nu-tulajdonságnak felel meg. A nu-tulajdonság lehetővé teszi a ki- és normál esetek közötti egyensúly szabályozását.
ε (epsilon): Írjon be egy értéket, amely leállítási tűréshatárként használható. A leállítási tűréshatár befolyásolja a modell optimalizálása során használt iterációk számát, és a leállítási feltétel értékétől függ. Az érték túllépése esetén az edző leállítja a megoldáson való iteálást.
Csatlakozás adatkészletet és az egyik betanító modult:
- Ha az Oktató létrehozása módot Egyparaméteresre beállította, használja az Anomáliadetektálási modell betanítása modult.
- Ha az Oktató létrehozása módotParamétertartományra, használja a Modell hiperparaméterek hangolása modult .
Megjegyzés
Ha az Anomáliadetektálási modell betanítása paramétertartományt ad át, az csak az első értéket használja a paramétertartományok listájában.
Ha egyetlen paraméterérték-készletet ad át a Modell hiperparaméterek hangolása modulnak, és az egyes paraméterekhez egy beállítástartományt vár, az figyelmen kívül hagyja az értékeket, és az alapértelmezett értékeket használja a tanuló számára.
Ha a Paramétertartomány lehetőséget választja, és egyetlen értéket ad meg bármely paraméterhez, akkor a rendszer ezt az értéket használja a teljes tartományban, még akkor is, ha más paraméterek változnak egy értéktartományban.
Futtassa a kísérletet.
Results (Eredmények)
A modul egy betanított anomáliadetektálási modellt ad vissza. Mentheti a modellt a munkaterületen, vagy csatlakoztathatja a Modell pontozása modult, és a betanított modell használatával észlelheti a lehetséges rendellenességeket.
Ha paraméteres sikolás használatával tanítja be a modellt, jegyezze fel a modell éles környezetben való használatra való konfigurálásakor használt optimális paraméterbeállításokat.
Példák
A modul anomáliadetektálásban való használatára vonatkozó példákért lásd a Azure AI Gallery:
- Anomáliadetektálás: Hitelkockázat: Ez a minta bemutatja, hogyan lehet megtalálni a kiadatokat egy paraméteres kereséssel az optimális modell megkeresése érdekében. Ezután alkalmazza ezt a modellt az új adatokra, hogy azonosítsa a csalást ábrázoló kockázatos tranzakciókat két különböző anomáliadetektálási modell összehasonlításával.
Technikai megjegyzések
Az egyosztályos SVM előrejelzései olyan nem skálázatlan pontszámok, amelyek esetleg nem korlátozottak lehetnek. A Cortana Intelligence Gallery példájában látható, hogy ha különböző algoritmusok alapján hasonlítja össze a modelleket, mindenképpen normalizálja a pontszámokat.
Kutatás
Ez az implementáció becsomagolja a kódtárat a libsvm nevű támogatóvektor-gépekhez. Az alapelméletet libsvm
és az egyosztályos támogatóvektor-gépek megközelítését ezekben a tanulmányokban B. Schӧlkopf et al.
Modulparaméterek
Név | Típus | Tartomány | Választható | Description | Alapértelmezett |
---|---|---|---|---|---|
Oktatói mód létrehozása | Oktatói mód létrehozása | Lista:Egy paraméter| Paramétertartomány | Kötelező | Egyetlen paraméter | Adja meg a tanulói beállításokat. Az Egyparaméter lehetőséggel manuálisan adhatja meg az összes értéket. A ParameterRange beállítással átfésülheti az állítható paramétereket. |
Nu | Float | >=double. Epsilon | mode:Egyparaméter | 0.1 | Ez a paraméter (amelyet a görög nu betű képvisel) a ki- és támogató vektorok számának különbségét határozza meg. |
Epsilon | Float | >=double. Epsilon | mode:Egyparaméter | 0,001 | A leállítási tűréshatárt határozza meg. |
psnu | ParameterRangeSettings | [0.001;1.0] | mode:Paramétertartomány | 0.001; 0.01; 0.1 | A ki- és támogató vektorok számának különbségi tartományát adja meg. |
psEpsilon (psEpsilon) | ParameterRangeSettings | [1e-6;1.0] | mode:Paramétertartomány | 0.001; 0.01; 0.1 | Megadja a tűréshatár leállításának tartományát. |
Kimenetek
Név | Típus | Description |
---|---|---|
Nem képezett modell | ILearner interfész | Egy nem képezett anomáliadetektálási modell |