Anomaliedetectie op basis van PCA

Hiermee wordt een anomalie detectie model gemaakt met de analyse van de hoofd onderdelen

Categorie: anomalie detectie

Notitie

Van toepassing op : machine learning Studio (klassiek)

Deze inhoud is alleen van toepassing op Studio (klassiek). Er zijn Vergelijk bare modules voor slepen en neerzetten toegevoegd aan Azure Machine Learning Designer. In dit artikel vindt u meer informatie over de twee versies.

Module overzicht

In dit artikel wordt beschreven hoe u de module voor afwijkings detectie op basis van PCA in azure machine learning Studio (klassiek) gebruikt om een anomalie detectie model te maken op basis van Principal component ANALYSIS (PCA).

Deze module helpt u bij het bouwen van een model in scenario's waarin het eenvoudig is om trainings gegevens uit één klasse te verkrijgen, zoals geldige trans acties, maar moeilijk voldoende voor beelden van de doel afwijkingen te verkrijgen.

Als u bijvoorbeeld frauduleuze trans acties wilt detecteren, hebt u vaak niet voldoende voor beelden van fraude voor het trainen op, maar u hebt veel voor beelden van goede trans acties. De module voor anomalie detectie op basis van PCA lost het probleem op door de beschik bare functies te analyseren om te bepalen wat een ' normale ' klasse vormt, en het Toep assen van afstands waarden om cases te identificeren die afwijkingen vertegenwoordigen. Zo kunt u een model trainen met bestaande, niet-sluitende gegevens.

Meer informatie over het analyseren van hoofd onderdelen

Analyse van Principal-onderdelen, die regel matig wordt AFGEKORT tot PCA, is een gevestigde techniek in machine learning. PCA wordt vaak gebruikt in verkennende gegevens analyse, omdat het de interne structuur van de gegevens onthult en de variantie in de gegevens verklaart.

PCA werkt met het analyseren van gegevens die meerdere variabelen bevatten. Er wordt gezocht naar correlaties tussen de variabelen en bepaalt de combi natie van waarden die de beste verschillen in resultaten vastleggen. Deze gecombineerde functie waarden worden gebruikt voor het maken van een compactere functie ruimte die de belangrijkste onderdelenwordt genoemd.

Voor afwijkings detectie wordt elke nieuwe invoer geanalyseerd en de afwijkings detectie algoritme berekent de projectie op de eigenvectors, samen met een genormaliseerde reconstructie fout. De genormaliseerde fout wordt gebruikt als afwijkings Score. Hoe hoger de fout, hoe meer afwijkend het exemplaar is.

Raadpleeg de volgende artikelen voor meer informatie over hoe PCA werkt en over de implementatie van anomalie detectie:

De anomalie detectie van de PCA configureren

  1. Voeg de module voor anomalie detectie op basis van PCA toe aan uw experiment in Studio (klassiek). U kunt deze module vinden onder machine learning, model initialiseren, in de categorie anomalie detectie .

  2. Klik in het deel venster Eigenschappen voor de module van de op PCA gebaseerde anomalie detectie op de optie trainings modus en geef aan of u het model wilt trainen met een specifieke set para meters of gebruik een parameter opruiming om de beste para meters te vinden.

    • Eén para meter: Selecteer deze optie als u weet hoe u het model wilt configureren en geef een specifieke set waarden als argumenten op.

    • Parameter bereik: Selecteer deze optie als u niet zeker weet wat de beste para meters zijn en u een parameter sweep wilt gebruiken met behulp van de Hyper parameters-module voor model afstemmen . De trainer doorloopt over een reeks instellingen die u opgeeft, en bepaalt de combi natie van instellingen die de optimale resultaten oplevert.

  3. Aantal onderdelen dat moet worden gebruikt in PCA, bereik voor aantal PCA-onderdelen: Geef het aantal uitvoer functies of onderdelen op dat u wilt uitvoeren.

    Het besluit hoeveel onderdelen u moet opnemen is een belang rijk onderdeel van het ontwerp van het experiment met behulp van PCA. Algemene richt lijnen zijn dat u niet hetzelfde aantal PCA-onderdelen moet gebruiken als er variabelen zijn. In plaats daarvan moet u beginnen met een kleiner aantal onderdelen en deze verg Roten totdat aan sommige criteria wordt voldaan.

    Als u niet zeker weet wat de optimale waarde kan zijn, raden we u aan het model voor anomalie detectie te trainen met de optie voor het bereik van de para meter .

    De beste resultaten worden verkregen wanneer het aantal uitvoer onderdelen kleiner is dan het aantal functie kolommen dat beschikbaar is in de gegevensset.

  4. Geef op hoeveel oversteek proeven moeten worden uitgevoerd tijdens wille keurige PCA-trainingen. In het geval van anomalie detectie problemen is het moeilijk om standaard PCA-technieken toe te passen. Als u een aantal oversteek proeven opgeeft, kunt u het aantal doel instanties verhogen.

    Als u 1 opgeeft, wordt er geen oversteek proef uitgevoerd. Als u een waarde opgeeft die hoger is dan 1, worden extra voor beelden gegenereerd voor het maken van het model.

    Er zijn twee opties, afhankelijk van of u een para meter-sweep gebruikt of niet:

    • Oversampling para meter voor wille keurige PCA: Typ een enkel geheel getal dat de verhouding van de oversteek proef van de minderheids klasse op de normale klasse vertegenwoordigt. (Beschikbaar wanneer u de Single para meter -Trainings methode gebruikt.)
    • Bereik voor de oversteek parameter die wordt gebruikt in een wille keurige PCA: Typ een reeks getallen die u wilt proberen, of gebruik de opbouw functie voor bereik om waarden te selecteren met behulp van een schuif regelaar. (Alleen beschikbaar wanneer u de trainings methode voor het bereik van de para meter gebruikt.)

    Notitie

    U kunt de oversteeke gegevensset niet weer geven. Raadpleeg technische opmerkingenvoor meer informatie over het gebruik van oversteek proeven met PCA.

  5. Invoer functie gemiddelde normalisatie inschakelen: Selecteer deze optie om alle invoer functies te normaliseren tot een gemiddelde van nul. Normalisatie of schalen naar nul wordt meestal aanbevolen voor PCA, omdat het doel van de PCA is om de variantie van variabelen te maximaliseren.

    Deze optie is standaard ingeschakeld. Schakel deze optie uit als er al waarden zijn genormaliseerd met een andere methode of schaal.

  6. Verbind een gelabelde trainings gegevensset en een van de trainings modules:

    • Als u de optie trainers modus maken instelt op één para meter, gebruikt u de module anomalie detectie model .
    • Als u de optie trainer maken hebt ingesteld op parameter bereik, gebruikt u de Hyper parameters-module voor het afstemmen van modellen .

    Notitie

    Als u het bereik van de para meter voor het detectie model traintdoor gegeven, wordt alleen de eerste waarde in de lijst met parameter bereik gebruikt.

    Als u één set parameter waarden doorgeeft aan de Hyper parameters-module voor het Tune-model , worden de waarden genegeerd en worden de standaard waarden gebruikt voor de cursist als er een reeks instellingen voor elke para meter wordt verwacht.

    Als u de optie voor het parameter bereik selecteert en één waarde voor een para meter opgeeft, wordt die enkele waarde gebruikt tijdens de sweep, zelfs als andere para meters worden gewijzigd in een bereik van waarden.

  7. Voer het experiment uit of selecteer de module en klik op geselecteerde uitvoeren.

Resultaten

Wanneer de training is voltooid, kunt u het getrainde model opslaan of verbinding maken met de module score model om afwijkende scores te voors pellen.

Voor het evalueren van de resultaten van een anomalie detectie model zijn enkele extra stappen vereist:

  1. Zorg ervoor dat er een score kolom beschikbaar is in beide gegevens sets

    Als u probeert een anomalie detectie model te evalueren en de fout op te halen, is er geen score kolom in de Score van de gescoorde gegevensset om te vergelijken. Dit betekent dat u een typische evaluatie gegevensset gebruikt die een kolom Label bevat, maar geen waarschijnlijkheids scores. U moet een gegevensset kiezen die overeenkomt met de schema-uitvoer voor afwijkings detectie modellen, waaronder een kolom met gescoorde labels en gescoorde kansen .

  2. Zorg ervoor dat label kolommen zijn gemarkeerd

    Soms worden de meta gegevens die zijn gekoppeld aan de kolom Label, verwijderd uit de grafiek van het experiment. Als dit het geval is, kunt u, wanneer u de module model evalueren gebruikt om de resultaten van twee anomalie detectie modellen te vergelijken, de fout melding ' er is geen label kolom in de gescoorde gegevensset ', of ' er is geen label kolom in de Score van de gescoorde gegevensset om te vergelijken ' weer geven.

    U kunt deze fout voor komen door de module meta gegevens bewerken voor de module Evaluate model toe te voegen. Gebruik de kolom kiezer om de kolom klasse te kiezen en selecteer in de vervolg keuzelijst velden de optie Label.

  3. Scores van verschillende model typen normaliseren

    Voor spellingen van het model van de PCA-anomalie detectie bevinden zich altijd in het bereik [0, 1]. De uitvoer van de SVM-module met één klasse is daarentegen niet-gekalibreerde scores die mogelijk onbegrensd zijn.

    Als u modellen vergelijkt op basis van verschillende algoritmen, moet u daarom altijd de scores normaliseren. Zie het voor beeld in het Azure AI Gallery voor een voor beeld van normalisatie tussen verschillende modellen voor anomalie detectie.

Voorbeelden

Voor voor beelden van hoe PCA wordt gebruikt in anomalie detectie raadpleegt u de Azure AI Gallery:

  • Anomalie detectie: krediet risico: illustreert hoe u uitschieters in gegevens kunt vinden. In dit voor beeld wordt een parameter opruiming gebruikt om het optimale model te vinden. Vervolgens wordt dat model toegepast op nieuwe gegevens om Risk ante trans acties te identificeren die mogelijk fraude vertegenwoordigen, waarbij twee verschillende modellen voor anomalie detectie worden vergeleken.

Technische opmerkingen

Dit algoritme maakt gebruik van PCA om de subruimte met de normale klasse te benaderen. De subruimte wordt omspannen door eigenvectors die zijn gekoppeld aan de bovenste eigenvalues van de matrix voor gegevens COVARIANTIE. Voor elke nieuwe invoer berekent de afwijkende detector eerst de projectie op de eigenvectors en berekent de genormaliseerde reconstructie fout. Deze fout is de afwijkende Score. Hoe hoger de fout, hoe afwijkende het exemplaar. Zie voor meer informatie over hoe de normale ruimte wordt berekend Wikipedia: Principal component Analysis

Module parameters

Naam Type Bereik Optioneel Beschrijving Standaard
Trainings modus CreateLearnerMode Lijst: één para meter|parameter bereik Vereist Eén para meter Opties voor de leerer opgeven.

Gebruik de optie SingleParameter om alle waarden hand matig op te geven.

Gebruik de optie ParameterRange voor het opruimen van de instel bare-para meters.
Aantal onderdelen dat moet worden gebruikt in PCA Geheel getal modus: één para meter 2 Geef het aantal onderdelen op dat in PCA moet worden gebruikt.
Oversampling para meter voor wille keurige PCA Geheel getal modus: één para meter 2 Geef de nauwkeurigheids parameter voor wille keurige PCA-training op.
Gemiddelde normalisatie van invoer functie inschakelen Logisch type Lijst: waar|onwaar Vereist Niet waar Geef op of de invoer gegevens zijn genormaliseerd om een gemiddelde waarde te hebben.
Bereik voor aantal PCA-onderdelen ParameterRangeSettings [1; 100] modus: parameter bereik twee 3 6,5 achtste 6 Geef het bereik op voor het aantal onderdelen dat in PCA moet worden gebruikt.
Bereik voor de oversteek parameter die wordt gebruikt in een wille keurige PCA ParameterRangeSettings [1; 100] modus: parameter bereik twee 3 6,5 achtste 6 Geef het bereik voor de nauwkeurigheids parameter op dat wordt gebruikt in wille keurige PCA-training.

Outputs

Naam Type Beschrijving
Niet-traind model ILearner-interface Een niet-getraind detectie model op basis van de PCA

Uitzonderingen

Uitzondering Beschrijving
Fout 0017 Uitzonde ring treedt op als het type van een of meer opgegeven kolommen niet wordt ondersteund door de huidige module.
Fout 0062 Er treedt een uitzonde ring op wanneer u twee modellen met verschillende typen kennissen wilt vergelijken.
Fout 0047 Uitzonde ring treedt op als aantal functie kolommen in sommige gegevens sets die zijn door gegeven aan de module te klein is.

Zie machine learning fout codesvoor een lijst met fouten die specifiek zijn voor Studio-modules (Classic).

Zie Machine Learning rest API fout codesvoor een lijst met API-uitzonde ringen.

Zie ook

Support Vector machine met één klasse