One-Class dator för vektorstöd
Viktigt
Stödet för Machine Learning Studio (klassisk) upphör den 31 augusti 2024. Vi rekommenderar att du byter till Azure Machine Learning innan dess.
Från och med den 1 december 2021 kan du inte längre skapa nya Machine Learning Studio-resurser (klassisk). Du kan fortsätta att använda befintliga Machine Learning Studio-resurser (klassisk) till och med den 31 augusti 2024.
- Se information om hur du flyttar maskininlärningsprojekt från ML Studio (klassisk) till Azure Machine Learning.
- Läs mer om Azure Machine Learning.
Dokumentationen om ML Studio (klassisk) håller på att dras tillbaka och kanske inte uppdateras i framtiden.
Skapar en modell med en stödvektormaskin i en klass för avvikelseidentifiering
Kategori: Avvikelseidentifiering
Anteckning
Gäller endast för: Machine Learning Studio (klassisk)
Liknande dra och släpp-moduler är tillgängliga i Azure Machine Learning designer.
Modulöversikt
I den här artikeln beskrivs hur du använder modulen One-Class Support Vector Model i Machine Learning Studio (klassisk) för att skapa en avvikelseidentifieringsmodell.
Den här modulen är särskilt användbar i scenarier där du har många "normala" data och inte många fall av avvikelser som du försöker identifiera. Om du till exempel behöver identifiera bedrägliga transaktioner har du kanske inte många exempel på bedrägerier som du kan använda för att träna en typisk klassificeringsmodell, men du kan ha många exempel på bra transaktioner.
Du använder modulen One-Class Support Vector Model (Stödvektormodell för en klass) för att skapa modellen och sedan träna modellen med hjälp av Train Anomaly Detection Model (Träna avvikelseidentifieringsmodell). Den datamängd som du använder för träning kan innehålla alla eller mestadels normala fall.
Du kan sedan använda olika mått för att identifiera potentiella avvikelser. Du kan till exempel använda en stor datamängd med bra transaktioner för att identifiera fall som kan representera bedrägliga transaktioner.
Mer om enklass-SVM
Stödvektormaskiner (SVM) är övervakade inlärningsmodeller som analyserar data och identifierar mönster och som kan användas för både klassificerings- och regressionsuppgifter.
Vanligtvis ges SVM-algoritmen en uppsättning träningsexempel märkta som tillhörande en av två klasser. En svM-modell baseras på att dela upp träningsexempelpunkterna i separata kategorier med så stor lucka som möjligt, samtidigt som träningsexempel som faller på fel sida av luckorna tas ur spel. SvM-modellen gör sedan förutsägelser genom att tilldela punkter till den ena eller den andra sidan.
Ibland används översampling för att replikera befintliga urval så att du kan skapa en modell med två klasser, men det är omöjligt att förutsäga alla nya mönster för bedrägerier eller systemfel från begränsade exempel. Dessutom kan det vara dyrt att samla in till och med begränsade exempel.
Därför tränas stödvektormodellen i en enda stödvektormodell på data som bara har en klass, vilket är den "normala" klassen. Den härsäger egenskaperna för normala fall och från dessa egenskaper kan förutsäga vilka exempel som skiljer sig från de vanliga exemplen. Detta är användbart för avvikelseidentifiering eftersom bristen på träningsexempel är det som definierar avvikelser: det vill säga det finns vanligtvis mycket få exempel på nätverksintrång, bedrägeri eller annat avvikande beteende.
Mer information, inklusive länkar till grundläggande forskning, finns i avsnittet Tekniska anteckningar.
Anteckning
Modulen One-Class Support Vector Model skapar en kernel-SVM-modell, vilket innebär att den inte är särskilt skalbar. Om träningstiden är begränsad eller om du har för mycket data kan du använda andra metoder för avvikelseidentifiering, till exempel PCA-baserad avvikelseidentifiering.
Så här konfigurerar du One-Class SVM
Lägg till modulen One-Class Support Vector Model i experimentet i Studio (klassisk). Du hittar modulen under Machine Learning - Initiera i kategorin Avvikelseidentifiering.
Dubbelklicka på modulen One-Class Support Vector Model (Stödvektormodell för en klass) för att öppna fönstret Egenskaper.
I läget Skapa utbildare väljer du ett alternativ som anger hur modellen ska tränas:
Enskild parameter: Använd det här alternativet om du vet hur du vill konfigurera modellen och ange en specifik uppsättning värden som argument.
Parameterintervall: Använd det här alternativet om du inte är säker på de bästa parametrarna och vill utföra en parametersökning för att hitta den optimala konfigurationen.
η: Ange ett värde som representerar den övre gränsen på bråkdelen av avvikande värden. Den här parametern motsvarar nu-egenskapen som beskrivs i det här dokumentet. Med nu-egenskapen kan du styra avvägningen mellan avvikande värden och normala fall.
ε (epsilon): Ange ett värde som ska användas som stopptolerans. Stopptoleransen påverkar antalet iterationer som används vid optimering av modellen och beror på stoppkriteriets värde. När värdet överskrids slutar utbildaren iterera i en lösning.
Anslut en datauppsättning för träning och en av utbildningsmodulerna:
- Om du ställer in läget Skapa utbildarepå Enkel parameter använder du modulen Träna avvikelseidentifieringsmodell .
- Om du ställer in läget Skapa utbildarepå Parameterintervall använder du modulen Justera hyperparametrar för modell .
Anteckning
Om du skickar ett parameterintervall till Train Anomaly Detection Model (Träna avvikelseidentifieringsmodell) används bara det första värdet i listan över parameterintervall.
Om du skickar en enda uppsättning parametervärden till modulen Tune Model Hyperparameters ignoreras värdena när en uppsättning inställningar för varje parameter förväntas, och standardvärdena för eleven används.
Om du väljer alternativet Parameterintervall och anger ett enda värde för en parameter används det enskilda värdet under hela genomsökningsintervallet, även om andra parametrar ändras över ett värdeintervall.
Kör experimentet.
Resultat
Modulen returnerar en tränad avvikelseidentifieringsmodell. Du kan antingen spara modellen på arbetsytan eller ansluta modulen Poängmodell och använda den tränade modellen för att identifiera möjliga avvikelser.
Om du har tränat modellen med en parametersökning ska du anteckna de optimala parameterinställningar som ska användas när du konfigurerar en modell för användning i produktion.
Exempel
Exempel på hur den här modulen används för avvikelseidentifiering finns i Azure AI Gallery:
- Avvikelseidentifiering: Kreditrisk: Det här exemplet illustrerar hur du hittar avvikande värden i data med hjälp av en parametersökning för att hitta den optimala modellen. Den tillämpar sedan den modellen på nya data för att identifiera riskfyllda transaktioner som kan representera bedrägerier och jämföra två olika avvikelseidentifieringsmodeller.
Teknisk information
Förutsägelser från enklass-SVM är ocalibrerade poäng som kan vara obundna. Som exemplet i Cortana Intelligence Gallery visar bör du normalisera poäng om du jämför modeller baserat på olika algoritmer.
Forskning
Den här implementeringen omsluter biblioteket för stödvektormaskiner med namnet libsvm. Den allmänna teorin som baseras libsvm
på och metoden för enklassbaserade stödvektormaskiner beskrivs i dessa artiklar av B. Schӧlkopf et al.
Modulparametrar
Namn | Typ | Intervall | Valfritt | Description | Standardvärde |
---|---|---|---|---|---|
Skapa träningsläge | Skapa träningsläge | Lista:Enskild parameter| Parameterintervall | Obligatorisk | Enskild parameter | Ange alternativ för elever. Använd alternativet SingleParameter för att manuellt ange alla värden. Använd alternativet ParameterRange för att rensa bort de mer omfattande parametrarna. |
nu | Float | >=double. Epsilon | mode:Single Parameter | 0.1 | Den här parametern (som representeras av den grekiska bokstaven nu) avgör avvägningen mellan fraktionen av extremvärden och antalet stödvektorer. |
Epsilon | Float | >=double. Epsilon | mode:Single Parameter | 0,001 | Anger stopptoleransen. |
psnu | ParameterRangeSettings | [0.001;1.0] | mode:Parameterintervall | 0.001; 0.01; 0.1 | Anger intervallet för avvägningen mellan fraktionen av extremvärden och antalet stödvektorer. |
psEpsilon | ParameterRangeSettings | [1e-6;1.0] | mode:Parameterintervall | 0.001; 0.01; 0.1 | Anger intervallet för stopptolerans. |
Utdata
Namn | Typ | Description |
---|---|---|
Ej tränad modell | ILearner-gränssnitt | En modell för avvikelseidentifiering utan träning |