Delen via


Two-Class Support Vector Machine

Hiermee maakt u een binair classificatiemodel met behulp van het algoritme Support Vector Machine

Categorie: Machine Learning/ Model/classificatie initialiseren

Notitie

Van toepassing op: Machine Learning Studio (klassiek)

Vergelijkbare modules voor slepen en neerzetten zijn beschikbaar in Azure Machine Learning designer.

Moduleoverzicht

In dit artikel wordt beschreven hoe u de module Two-Class Support Vector Machine in Machine Learning Studio (klassiek) gebruikt om een model te maken dat is gebaseerd op het algoritme van de support vector machine.

Support Vector Machines (SVM's) zijn een goed onderzochte klasse van leermethoden onder supervisie. Deze specifieke implementatie is geschikt voor het voorspellen van twee mogelijke resultaten, op basis van doorlopende of categorische variabelen.

Nadat u de modelparameters hebt bepaald, traint u het model met behulp van een van de trainingsmodules en geeft u een gelabelde gegevensset op die een label- of resultaatkolom bevat.

Meer informatie over support vector machines

Support Vector Machines behoren tot de eerste machine learning algoritmen en SVM-modellen zijn in veel toepassingen gebruikt, van het ophalen van informatie tot tekst- en afbeeldingsclassificatie. SVM's kunnen worden gebruikt voor zowel classificatie- als regressietaken.

Dit SVM-model is een leermodel onder supervisie dat gelabelde gegevens vereist. In het trainingsproces analyseert het algoritme invoergegevens en herkent het patronen in een multidimensionale functieruimte die het hyperplane wordt genoemd. Alle invoervoorbeelden worden weergegeven als punten in deze ruimte en worden zo aan uitvoercategorieën toewijst dat categorieën worden gedeeld door zo breed mogelijk en een hiaat op te vullen.

Voor voorspelling wijst het SVM-algoritme nieuwe voorbeelden toe aan de ene of de andere categorie en wijst deze toe aan diezelfde ruimte.

Een support vector machine Two-Class configureren

Voor dit modeltype is het raadzaam om de gegevensset te normaliseren voordat u deze gebruikt om de classificatie te trainen.

  1. Voeg de module Two-Class Support Vector Machine toe aan uw experiment in Studio (klassiek).

  2. Geef op hoe u het model wilt trainen door de optie Trainer-modus maken in te stellen.

    • Enkele parameter: als u weet hoe u het model wilt configureren, kunt u een specifieke set waarden opgeven als argumenten.

    • Parameterbereik: als u niet zeker bent van de beste parameters, kunt u de optimale parameters vinden door meerdere waarden op te geven en de module Tune Model Hyperparameters te gebruiken om de optimale configuratie te vinden. De docent doorsteert meerdere combinaties van de instellingen en bepaalt de combinatie van waarden die het beste model produceert.

  3. Bij Aantal iteraties typt u een getal dat het aantal iteraties geeft dat wordt gebruikt bij het bouwen van het model.

    Deze parameter kan worden gebruikt om de balans tussen trainingssnelheid en nauwkeurigheid te bepalen.

  4. Typ voor Lambda een waarde die moet worden gebruikt als het gewicht voor L1-regularisatie.

    Deze regularisatiecoëfficiënt kan worden gebruikt om het model af te stemmen. Met grotere waarden worden complexere modellen geseed.

  5. Selecteer de optie Functies normaliseren als u functies wilt normaliseren vóór de training.

    Als u normalisering gebruikt, worden gegevenspunten vóór de training gecentreerd op het gemiddelde en geschaald tot één eenheid van standaarddeviatie.

  6. Selecteer de optie , Project aan de eenheidsbol om coëfficiënten te normaliseren.

    Het projecteren van waarden naar eenheidsruimte betekent dat vóór de training gegevenspunten worden gecentreerd op 0 en worden geschaald om één eenheid van standaarddeviatie te hebben.

  7. In Seed met willekeurige getallen typt u een geheel getal dat als seed moet worden gebruikt als u de reproduceerbaarheid tussen runs wilt garanderen. Anders wordt een systeemklokwaarde gebruikt als een seed, wat kan resulteren in iets andere resultaten over verschillende runs.

  8. Selecteer de optie Onbekende categorie toestaan om een groep te maken voor onbekende waarden in de trainings- of validatiesets. In dit geval is het model mogelijk minder nauwkeurig voor bekende waarden, maar kan het betere voorspellingen geven voor nieuwe (onbekende) waarden.

    Als u de selectie ervan ongedaan maakt, kan het model alleen de waarden accepteren die zijn opgenomen in de trainingsgegevens.

  9. Verbinding maken een gelabelde gegevensset en een van de trainingsmodules:

    Notitie

    Als u een parameterbereik doorgeeft aan Train Model, wordt alleen de eerste waarde in de lijst met parameterbereiken gebruikt.

    Als u één set parameterwaarden doorgeeft aan de module Tune Model Hyperparameters , worden de waarden genegeerd en worden de standaardwaarden voor de learner genegeerd wanneer er een bereik van instellingen voor elke parameter wordt verwacht.

    Als u de optie Parameterbereik selecteert en één waarde voor een parameter ingeeft, wordt die ene waarde die u hebt opgegeven, gedurende de hele wisseling gebruikt, zelfs als andere parameters binnen een bereik van waarden veranderen.

  10. Voer het experiment uit.

Resultaten

Nadat de training is voltooid:

  • Als u een samenvatting wilt zien van de parameters van het model, samen met de functiegewichten die zijn geleerd tijdens de training, klikt u met de rechtermuisknop op de uitvoer van Hyperparameters trainen of Model afstemmen en selecteert u Visualiseren.

  • Als u de getrainde modellen wilt gebruiken om voorspellingen te doen, koppelt u het getrainde model aan de module Score Model .

  • Als u kruisvalidatie wilt uitvoeren voor een gelabelde gegevensset, verbindt u het ongetrainde model en de gegevensset met Kruisvalidatiemodel.

Voorbeelden

Zie de volgende voorbeelden van hoe dit leeralgoritme wordt Azure AI Gallery:

Technische opmerkingen

Deze sectie bevat implementatiedetails, tips en antwoorden op veelgestelde vragen.

Gebruikstips

Voor dit modeltype is het raadzaam om de gegevensset te normaliseren voordat u deze gebruikt om de classificatie te trainen.

Hoewel recent onderzoek algoritmen heeft ontwikkeld die een hogere nauwkeurigheid hebben, kan dit algoritme goed werken op eenvoudige gegevenssets wanneer uw doel snelheid boven nauwkeurigheid is. Als u niet de gewenste resultaten krijgt met behulp van two-class Support Vector Model, probeert u een van deze classificatiemethoden:

Moduleparameters

Name Bereik Type Standaard Beschrijving
Aantal iteraties >= 1 Geheel getal 1 Het aantal iteraties
Lambda >= dubbel. Epsilon Float 0,001 Gewicht voor L1-regularisatie. Het gebruik van een waarde die niet nul is, voorkomt overfitting van het model naar de trainingsset.
Functies normaliseren Alle Boolean-waarde True Indien waar, normaliseert u de functies.
Project aan de eenheidsbol Alle Booleaans Niet waar Als deze waar is, projectt u de functies naar een eenheidscirkel.
Seed van willekeurig getal Alle Geheel getal De seed voor de generator voor willekeurige getallen die door het model wordt gebruikt. Laat deze leeg voor de standaardinstelling.
Onbekende categorische niveaus toestaan Alle Boolean-waarde True Als de optie Waar is, wordt er een extra niveau voor elke categorische kolom gemaakt. Alle niveaus in de testset die niet beschikbaar zijn in de trainingsset, worden toegewezen aan dit extra niveau.

Uitvoer

Naam Type Description
Niet-getraind model Gegevenstabel Een ongetraind binair classificatiemodel.

Zie ook

Classificatie
Lijst met A-Z-modules