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.
Voeg de module Two-Class Support Vector Machine toe aan uw experiment in Studio (klassiek).
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.
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.
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.
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.
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.
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.
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.
Verbinding maken een gelabelde gegevensset en een van de trainingsmodules:
Als u de modus Create train mode instelt op Single Parameter, gebruikt u de module Train Model .
Als u De modus Maken in stelt op Parameterbereik, gebruikt u de Tune Model Hyperparameters.
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.
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:
Directe marketing: Maakt gebruik van een SVM-model om klanten te classificeren op toepassingsgebruik.
Kredietrisicovoorspelling: Maakt gebruik van SVM voor het beoordelen van kredietrisico's.
Classificaties met meerdere klassen vergelijken: maakt gebruik van een SVM-model voor handschriftherkenning.
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. |