Tvåklassig dator för vektorstöd

Skapar en binär klassificeringsmodell med hjälp av algoritmen för stödvektormaskin

Kategori: Machine Learning/initiera modell/klassificering

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 Stödvektormaskin med två klasser i Machine Learning Studio (klassisk) för att skapa en modell som baseras på algoritmen för stödvektormaskin.

Stödvektormaskiner (SVM) är en välkänd klass med övervakade inlärningsmetoder. Den här specifika implementeringen lämpar sig för förutsägelse av två möjliga resultat, baserat på antingen kontinuerliga eller kategoriska variabler.

När du har definierat modellparametrarna tränar du modellen med någon av träningsmodulerna och tillhandahåller en taggad datamängd som innehåller en etikett eller resultatkolumn.

Mer om stödvektormaskiner

Stödvektormaskiner är bland de tidigaste maskininlärningsalgoritmerna och STÖDVEKTOR-modeller har använts i många program, från informationshämtning till text- och bildklassificering. Stöd för stöd stöd kan användas för både klassificerings- och regressionsuppgifter.

Den här SVM-modellen är en övervakad inlärningsmodell som kräver märkta data. I träningsprocessen analyserar algoritmen indata och identifierar mönster i ett flerdimensionellt funktionsutrymme som kallas hyperplan. Alla indataexempel representeras som punkter i det här området och mappas till utdatakategorier på ett sådant sätt att kategorierna delas upp så brett och rensar en lucka som möjligt.

För förutsägelse tilldelar SVM-algoritmen nya exempel i en eller annan kategori och mappar dem till samma utrymme.

Så här konfigurerar Two-Class dator för vektorstöd

För den här modelltypen rekommenderar vi att du normaliserar datauppsättningen innan du använder den för att träna klassificeraren.

  1. Lägg till modulen Stödvektormaskin med två klasser i experimentet i Studio (klassisk).

  2. Ange hur du vill att modellen ska tränas genom att ange alternativet Skapa utbildarläge .

    • Enskild parameter: Om du vet hur du vill konfigurera modellen kan du ange en specifik uppsättning värden som argument.

    • Parameterintervall: Om du inte är säker på de bästa parametrarna kan du hitta de optimala parametrarna genom att ange flera värden och använda modulen Finjustera hyperparametrar för modell för att hitta den optimala konfigurationen. Utbildaren itererar över flera kombinationer av inställningarna och avgör vilken kombination av värden som ger den bästa modellen.

  3. I Antal iterationer anger du ett tal som anger antalet iterationer som används när modellen byggs.

    Den här parametern kan användas för att styra avvägningen mellan träningshastigheten och noggrannheten.

  4. För Lambda anger du ett värde som ska användas som vikt för L1-regularisering.

    Den här regulariseringskoefficienten kan användas för att finjustera modellen. Större värden initierar mer komplexa modeller.

  5. Välj alternativet Normalisera funktioner om du vill normalisera funktioner före träningen.

    Om du tillämpar normalisering centreras datapunkterna vid medelvärdet före träningen och skalas så att de har en standardavvikelseenhet.

  6. Välj alternativet, Project enhetssfären, för att normalisera koefficienter.

    Att projicera värden till enhetsutrymme innebär att datapunkterna centreras vid 0 innan träningen och skalas så att de har en standardavvikelseenhet.

  7. I Startvärde för slumptal anger du ett heltalsvärde som ska användas som startvärde om du vill säkerställa reproducerbarhet mellan körningar. Annars används ett systemklockvärde som ett startvärde, vilket kan resultera i något olika resultat mellan körningar.

  8. Välj alternativet Tillåt okänd kategori för att skapa en grupp för okända värden i tränings- eller valideringsuppsättningarna. I det här fallet kan modellen vara mindre exakt för kända värden, men den kan ge bättre förutsägelser för nya (okända) värden.

    Om du avmarkerar den kan modellen bara acceptera de värden som finns i träningsdata.

  9. Anslut en märkt datauppsättning och en av utbildningsmodulerna:

    Anteckning

    Om du skickar ett parameterintervall till Train Model (Träna modell) 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 kommer det enskilda värde som du har angett att användas under hela omfånget, även om andra parametrar ändras över ett värdeintervall.

  10. Kör experimentet.

Resultat

När träningen är klar:

  • Om du vill se en sammanfattning av modellens parametrar, tillsammans med de funktionsvikter som lärts in från träningen, högerklickar du på utdata från Träna modell eller Finjustera modellens hyperparametrar och väljer Visualisera.

  • Om du vill använda de tränade modellerna för att göra förutsägelser ansluter du den tränade modellen till modulen Poängmodell .

  • Om du vill utföra korsvalidering mot en etiketterad datauppsättning ansluter du den tränade modellen och datauppsättningen till korsvalideringsmodellen.

Exempel

Exempel på hur den här inlärningsalgoritmen används finns i Azure AI Gallery:

Teknisk information

Det här avsnittet innehåller implementeringsinformation, tips och svar på vanliga frågor.

Användningstips

För den här modelltypen rekommenderar vi att du normaliserar datauppsättningen innan du använder den för att träna klassificeraren.

Även om den senaste forskningen har utvecklat algoritmer som har högre noggrannhet, kan den här algoritmen fungera bra på enkla datauppsättningar när målet är hastighet över noggrannhet. Om du inte får önskat resultat med hjälp av tvåklassmodellen för vektorstöd kan du prova någon av följande klassificeringsmetoder:

Modulparametrar

Name Intervall Typ Standardvärde Description
Antal iterationer >= 1 Integer 1 Antalet iterationer
Lambda >=double. Epsilon Float 0,001 Vikt för L1-regularisering. Om du använder ett värde som inte är noll undviker du att modellen överanpassas till träningsdatamängden.
Normalisera funktioner Valfri Boolesk Sant Om det är Sant normaliserar du funktionerna.
Project till enhetssfären Valfri Boolesk Falskt Om det är Sant projicerar du funktionerna till en enhets cirkel.
Startnummer för slumptal Valfri Integer Start seed för slumptalsgeneratorn som används av modellen. Lämna det tomt som standard.
Tillåt okända kategoriska nivåer Valfri Boolesk Sant Om det är Sant skapas ytterligare en nivå för varje kategorisk kolumn. Alla nivåer i testdatamängden som inte är tillgängliga i träningsdatamängden mappas till den här ytterligare nivån.

Utdata

Namn Typ Description
Ej tränad modell Datatabell En otränad binär klassificeringsmodell.

Se även

Klassificering
A-Z-modullista