Dela via


PCA-baserad avvikelseidentifiering

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.

Dokumentationen om ML Studio (klassisk) håller på att dras tillbaka och kanske inte uppdateras i framtiden.

Skapar en avvikelseidentifieringsmodell med hjälp av huvudkomponentanalys

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 PCA-baserad avvikelseidentifiering i Machine Learning Studio (klassisk) för att skapa en avvikelseidentifieringsmodell baserad på huvudkomponentanalys (PCA).

Den här modulen hjälper dig att skapa en modell i scenarier där det är enkelt att hämta träningsdata från en klass, till exempel giltiga transaktioner, men svårt att få tillräckligt med exempel på målavvikelserna.

För att till exempel identifiera bedrägliga transaktioner har du ofta inte tillräckligt med exempel på bedrägerier för att träna på, men du har många exempel på bra transaktioner. Modulen PCA-baserad avvikelseidentifiering löser problemet genom att analysera tillgängliga funktioner för att fastställa vad som utgör en "normal" klass och tillämpa avståndsmått för att identifiera fall som representerar avvikelser. På så sätt kan du träna en modell med hjälp av befintliga obalanserade data.

Mer om analys av huvudkomponent

Huvudkomponentanalys, som ofta förkortas PCA, är en etablerad teknik inom maskininlärning. PCA används ofta i undersökande dataanalys eftersom det avslöjar den inre strukturen för data och förklarar variansen i data.

PCA fungerar genom att analysera data som innehåller flera variabler. Den söker efter korrelationer mellan variablerna och avgör vilken kombination av värden som bäst samlar in skillnader i resultat. Dessa kombinerade funktionsvärden används för att skapa ett mer kompakt funktionsutrymme som kallas huvudkomponenter.

För avvikelseidentifiering analyseras varje ny indata och algoritmen för avvikelseidentifiering beräknar sin projektion på egenvektorerna, tillsammans med ett normaliserat rekonstruktionsfel. Det normaliserade felet används som avvikelsepoäng. Ju högre fel, desto mer avvikande är instansen.

Mer information om hur PCA fungerar och om implementeringen för avvikelseidentifiering finns i följande artiklar:

Så här konfigurerar du PCA-avvikelseidentifiering

  1. Lägg till modulen PCA-baserad avvikelseidentifiering i experimentet i Studio (klassisk). Du hittar den här modulen under Machine Learning, Initiera modell, i kategorin Avvikelseidentifiering.

  2. I fönstret Egenskaper för modulen PCA-baserad avvikelseidentifiering klickar du på alternativet Träningsläge och anger om du vill träna modellen med en specifik uppsättning parametrar eller använda en parametersökning för att hitta de bästa parametrarna.

    • Enskild parameter: Välj det här alternativet om du vet hur du vill konfigurera modellen och ange en specifik uppsättning värden som argument.

    • Parameterintervall: Välj det här alternativet om du inte är säker på de bästa parametrarna och vill använda en parametersvep med hjälp av modulen Finjustera hyperparametrar för modell . Utbildaren itererar över ett antal inställningar som du anger och bestämmer kombinationen av inställningar som ger optimala resultat.

  3. Antal komponenter som ska användas i PCA, Intervall för antal PCA-komponenter: Ange antalet utdatafunktioner eller komponenter som du vill mata ut.

    Beslutet om hur många komponenter som ska inkluderas är en viktig del av experimentdesignen med PCA. Allmänna riktlinjer är att du inte bör inkludera samma antal PCA-komponenter som det finns variabler. I stället bör du börja med ett mindre antal komponenter och öka dem tills vissa villkor uppfylls.

    Om du är osäker på vilket optimalt värde som kan vara rekommenderar vi att du tränar avvikelseidentifieringsmodellen med alternativet Parameterintervall .

    Det bästa resultatet erhålls när antalet utdatakomponenter är mindre än antalet funktionskolumner som är tillgängliga i datauppsättningen.

  4. Ange hur mycket översampling som ska utföras under slumpmässig PCA-träning. Vid problem med avvikelseidentifiering gör obalanserade data det svårt att använda pca-standardtekniker. Genom att ange en viss mängd översampling kan du öka antalet målinstanser.

    Om du anger 1 utförs ingen översampling. Om du anger ett värde som är högre än 1 genereras ytterligare exempel som ska användas vid träning av modellen.

    Det finns två alternativ, beroende på om du använder en parametersökning eller inte:

    • Översamplingsparameter för slumpmässigt PCA: Ange ett heltal som representerar förhållandet mellan översampling av den godtyckliga klassen och den normala klassen. (Tillgängligt när du använder träningsmetoden enkel parameter .)
    • Intervall för den översamplingsparameter som används i slumpmässigt PCA: Ange en serie med tal att prova, eller använd Range Builder för att välja värden med hjälp av ett skjutreglage. (Endast tillgängligt när du använder träningsmetoden Parameterintervall .)

    Anteckning

    Du kan inte visa den översamplade datauppsättningen. Mer information om hur översampling används med PCA finns i Tekniska anteckningar.

  5. Aktivera normalisering av indatafunktionens medelvärde: Välj det här alternativet om du vill normalisera alla indatafunktioner till ett medelvärde på noll. Normalisering eller skalning till noll rekommenderas vanligtvis för PCA, eftersom målet med PCA är att maximera variansen mellan variabler.

    Det här alternativet är markerat som standard. Avmarkera det här alternativet om värden redan har normaliserats med en annan metod eller skala.

  6. Anslut en taggad träningsdatamängd och en av träningsmodulerna:

    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 Hyperparameters för tune model ignoreras värdena och standardvärdena för learner ignoreras när ett antal inställningar för varje parameter förväntas.

    Om du väljer alternativet Parameterintervall och anger ett enda värde för en parameter används det enskilda värdet under hela omfånget, även om andra parametrar ändras över ett värdeintervall.

  7. Kör experimentet eller välj modulen och klicka på Kör valt.

Resultat

När träningen är klar kan du antingen spara den tränade modellen eller ansluta den till modulen Poängmodell för att förutsäga avvikelsepoäng.

För att utvärdera resultatet av en avvikelseidentifieringsmodell krävs några ytterligare steg:

  1. Se till att en poängkolumn är tillgänglig i båda datauppsättningarna

    Om du försöker utvärdera en avvikelseidentifieringsmodell och får felet "Det finns ingen poängkolumn i den poängade datauppsättningen att jämföra", innebär det att du använder en typisk utvärderingsdatamängd som innehåller en etikettkolumn men inga sannolikhetspoäng. Du måste välja en datauppsättning som matchar schemautdata för avvikelseidentifieringsmodeller, som innehåller kolumnen Scored Labels (Poängade etiketter ) och Scored Probabilities (Poänglade sannolikheter ).

  2. Se till att etikettkolumner är markerade

    Ibland tas de metadata som är associerade med etikettkolumnen bort i experimentdiagrammet. Om det händer kan du, när du använder modulen Utvärdera modell för att jämföra resultatet av två avvikelseidentifieringsmodeller, få felmeddelandet "Det finns ingen etikettkolumn i den poängade datauppsättningen" eller "Det finns ingen etikettkolumn i den poängade datamängden att jämföra".

    Du kan undvika det här felet genom att lägga till modulen Redigera metadata före modulen Utvärdera modell. Använd kolumnväljaren för att välja klasskolumnen och välj Etikett i listrutan Fält.

  3. Normalisera resultat från olika modelltyper

    Förutsägelser från PCA-modellen för avvikelseidentifiering ligger alltid inom intervallet [0,1]. Utdata från SVM-modulen med en klass är däremot ocalibrerade resultat som eventuellt är obundna.

    Om du jämför modeller baserat på olika algoritmer måste du därför alltid normalisera poäng. I exemplet i Azure AI Gallery ett exempel på normalisering mellan olika modeller för avvikelseidentifiering.

Exempel

Exempel på hur PCA används för avvikelseidentifiering finns i Azure AI Gallery:

  • Avvikelseidentifiering: Kreditrisk: Visar hur du hittar avvikande värden i data. I det här exemplet används 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 modeller för avvikelseidentifiering.

Teknisk information

Den här algoritmen använder PCA för att göra en ungefärlig uppskattning av det delområde som innehåller den normala klassen. Underrymden sträcker sig över egenvektorer som är associerade med de främsta egenvärdena i datakvariansmatrisen. För varje ny indata beräknar avvikelseidentifieraren först sin projektion på egenvektorerna och beräknar sedan det normaliserade rekonstrueringsfelet. Det här felet är avvikelsepoängen. Ju högre fel, desto mer avvikande är instansen. Mer information om hur det normala utrymmet beräknas finns i Wikipedia: Principal Component Analysis

Modulparametrar

Namn Typ Intervall Valfritt Description Standardvärde
Träningsläge CreateLearnerMode 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.
Antal komponenter som ska användas i PCA Integer mode:Single Parameter 2 Ange antalet komponenter som ska användas i PCA.
Översamplingsparameter för randomiserad PCA Integer mode:Single Parameter 2 Ange noggrannhetsparametern för randomiserad PCA-träning.
Aktivera normalisering av indatafunktionens medelvärde Logiktyp Lista:Sant| Falska Obligatorisk Falskt Ange om indata normaliseras till noll medelvärde.
Intervall för antal PCA-komponenter ParameterRangeSettings [1;100] mode:Parameterintervall 2; 4; 6; 8; 10 Ange intervallet för antalet komponenter som ska användas i PCA.
Intervall för översamplingsparametern som används i slumpmässig PCA ParameterRangeSettings [1;100] mode:Parameterintervall 2; 4; 6; 8; 10 Ange intervallet för noggrannhetsparametern som används vid randomiserad PCA-träning.

Utdata

Namn Typ Description
Ej tränad modell ILearner-gränssnitt En PCA-baserad avvikelseidentifieringsmodell utan träning

Undantag

Undantag Description
Fel 0017 Undantaget inträffar om en eller flera angivna kolumner har en typ som inte stöds av den aktuella modulen.
Fel 0062 Undantag inträffar när du försöker jämföra två modeller med olika typer av elever.
Fel 0047 Undantag inträffar om antalet egenskapskolumner i vissa datauppsättningar som skickas till modulen är för litet.

En lista över fel som är specifika för Studio-moduler (klassisk) finns i Machine Learning felkoder.

En lista över API-undantag finns i Machine Learning REST API felkoder.

Se även

One-Class Support Vector Machine