Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Machine Learning One Class Support Vector Machines
Gebruik
  rxOneClassSvm(formula = NULL, data, cacheSize = 100, kernel = rbfKernel(),
    epsilon = 0.001, nu = 0.1, shrink = TRUE, normalize = "auto",
    mlTransforms = NULL, mlTransformVars = NULL, rowSelection = NULL,
    transforms = NULL, transformObjects = NULL, transformFunc = NULL,
    transformVars = NULL, transformPackages = NULL, transformEnvir = NULL,
    blocksPerRead = rxGetOption("blocksPerRead"),
    reportProgress = rxGetOption("reportProgress"), verbose = 1,
    computeContext = rxGetOption("computeContext"),
    ensemble = ensembleControl(), ...)
Argumenten
formula
De formule zoals beschreven in rxFormula. Interactietermen en F() worden momenteel niet ondersteund in MicrosoftML.
data
Een gegevensbronobject of een tekenreeks die een .xdf-bestand of een gegevensframeobject opgeeft.
cacheSize
De maximale grootte in MB van de cache waarin de trainingsgegevens worden opgeslagen. Verhoog dit voor grote trainingssets. De standaardwaarde is 100 MB.
kernel
Een tekenreeks die de kernel vertegenwoordigt die wordt gebruikt voor het berekenen van interne producten. Zie maKernel voor meer informatie. De volgende opties zijn beschikbaar:
- 
              
rbfKernel(): Radiale basisfunctie kernel. De parameter vertegenwoordigtgammain de termexp(-gamma|x-y|^2. Als dit niet is opgegeven, wordt deze standaard1gedeeld door het aantal gebruikte functies. Bijvoorbeeld:rbfKernel(gamma = .1). Dit is de standaardwaarde. - 
              
linearKernel(): Lineaire kernel. - 
              
polynomialKernel(): Polynomiale kernel met parameternamena,biasendegin de term(a*<x,y> + bias)^deg. Debiasstandaardwaarde is0. De graad,degstandaard ingesteld op3. Alsadit niet is opgegeven, wordt deze ingesteld op1gedeeld door het aantal functies. Bijvoorbeeld:maKernelPoynomial(bias = 0, deg = `` 3). - 
              
sigmoidKernel(): Sigmoid kernel met parameternamengammaencoef0in de termtanh(gamma*<x,y> + coef0).gamma, wordt1standaard gedeeld door het aantal functies. De parametercoef0wordt standaard ingesteld op0. Bijvoorbeeld:sigmoidKernel(gamma = .1, coef0 = 0). 
epsilon
De drempelwaarde voor de convergentie van de optimizer. Als de verbetering tussen iteraties kleiner is dan de drempelwaarde, stopt het algoritme en retourneert het huidige model. De waarde moet groter dan of gelijk aan .Machine$double.epszijn. De standaardwaarde is 0,001.
nu
De afweging tussen de fractie van uitbijters en het aantal steunvectoren (vertegenwoordigd door de Griekse letter nu). Moet tussen 0 en 1 zijn, meestal tussen 0,1 en 0,5. De standaardwaarde is 0,1.
shrink
Maakt gebruik van de verkleinende heuristiek als TRUE. In dit geval zullen sommige steekproeven tijdens de trainingsprocedure worden "verkleind", waardoor de training kan worden versneld. De standaardwaarde is TRUE.
normalize
Hiermee geeft u het type automatische normalisatie gebruikt:
- 
              
"auto": als normalisatie nodig is, wordt deze automatisch uitgevoerd. Dit is de standaardoptie. - 
              
"no": er wordt geen normalisatie uitgevoerd. - 
              
"yes": normalisatie wordt uitgevoerd. - 
              
"warn": als normalisatie nodig is, wordt er een waarschuwingsbericht weergegeven, maar wordt er geen normalisatie uitgevoerd.
Normalisatie schaalt verschillende gegevensbereiken opnieuw op een standaardschaal. Door het schalen van functies worden de afstanden tussen gegevenspunten proportioneel en kunnen verschillende optimalisatiemethoden, zoals gradiëntafname, veel sneller worden geconvergeerd. Als normalisatie wordt uitgevoerd, wordt eenMaxMinnormalizer gebruikt. Het normaliseert waarden in een interval [a, b] waar-1 <= a <= 0en0 <= b <= 1.b - a = 1Deze normalizer behoudt spaarzaamheid door nul aan nul toe te brengen. 
mlTransforms
Hiermee geeft u een lijst met MicrosoftML-transformaties op die moeten worden uitgevoerd op de gegevens vóór de training of NULL als er geen transformaties moeten worden uitgevoerd. Zie featurizeText, categorical en categoricalHash voor transformaties die worden ondersteund. Deze transformaties worden uitgevoerd na opgegeven R-transformaties. De standaardwaarde is NULL.
mlTransformVars
Hiermee geeft u een tekenvector op van namen van variabelen die moeten worden gebruikt mlTransforms of NULL als er geen moeten worden gebruikt. De standaardwaarde is NULL.
rowSelection
Hiermee geeft u de rijen (waarnemingen) op uit de gegevensset die door het model moeten worden gebruikt met de naam van een logische variabele uit de gegevensset (tussen aanhalingstekens) of met een logische expressie met behulp van variabelen in de gegevensset. Gebruikt bijvoorbeeld rowSelection = "old" alleen waarnemingen waarin de waarde van de variabele old is TRUE. 
              rowSelection = (age > 20) & (age < 65) & (log(income) > 10) gebruikt alleen waarnemingen waarbij de waarde van de age variabele tussen 20 en 65 ligt en de waarde van de logincome variabele groter is dan 10. De rijselectie wordt uitgevoerd na het verwerken van gegevenstransformaties (zie de argumenten transforms of transformFunc). Net als bij alle expressies kunt rowSelection u buiten de functieoproep definiëren met behulp van de expressiefunctie.
transforms
Een expressie van het formulier list(name = expression, ``...) dat de eerste ronde van variabeletransformaties vertegenwoordigt. Net als bij alle expressies transforms kan (of rowSelection) buiten de functie-aanroep worden gedefinieerd met behulp van de expressiefunctie.
transformObjects
Een benoemde lijst met objecten waarnaar kan worden verwezen door transforms, transformsFuncen rowSelection.
transformFunc
De functie voor variabeletransformatie. Zie rxTransform voor meer informatie.
transformVars
Een tekenvector van variabelen voor invoergegevenssets die nodig zijn voor de transformatiefunctie. Zie rxTransform voor meer informatie.
transformPackages
Een tekenvector die extra R-pakketten (buiten de opgegeven in rxGetOption("transformPackages")) aangeeft die beschikbaar moeten worden gesteld en vooraf moeten worden geladen voor gebruik in functies voor variabele transformatie. Bijvoorbeeld de expliciet gedefinieerde functies in RevoScaleR via hun transforms en transformFunc argumenten of impliciet gedefinieerde functies via hun formula of rowSelection argumenten.  Het transformPackages argument kan ook zijn NULL, waarmee wordt aangegeven dat er geen pakketten buiten rxGetOption("transformPackages") zijn geladen.
transformEnvir
Een door de gebruiker gedefinieerde omgeving die als bovenliggend element fungeert voor alle omgevingen die intern zijn ontwikkeld en worden gebruikt voor variabele gegevenstransformatie. Als transformEnvir = NULLin plaats daarvan een nieuwe hash-omgeving met bovenliggende baseenv() omgeving wordt gebruikt.
blocksPerRead
Hiermee geeft u het aantal blokken op dat moet worden gelezen voor elk segment gegevens dat uit de gegevensbron wordt gelezen.
reportProgress
Een geheel getal dat het rapportageniveau voor de voortgang van de rijverwerking aangeeft:
- 
              
0: er wordt geen voortgang gerapporteerd. - 
              
1: het aantal verwerkte rijen wordt afgedrukt en bijgewerkt. - 
              
2: rijen verwerkt en tijdsinstellingen worden gerapporteerd. - 
              
3: rijen verwerkt en alle tijdsinstellingen worden gerapporteerd. 
verbose
Een geheel getal dat de gewenste hoeveelheid uitvoer aangeeft. Als 0er tijdens berekeningen geen uitgebreide uitvoer wordt afgedrukt. Gehele getallen van waaruit 14 grotere hoeveelheden informatie moeten worden opgegeven.
computeContext
Hiermee stelt u de context in waarin berekeningen worden uitgevoerd, opgegeven met een geldige RxComputeContext. Momenteel worden lokale en RxInSqlServer-rekencontexten ondersteund.
ensemble
Besturingsparameters voor het opgeven van overeenkomsten.
 ...
Aanvullende argumenten die rechtstreeks aan de Microsoft Compute Engine moeten worden doorgegeven.
Bijzonderheden
detectie is om uitbijters te identificeren die niet tot een bepaalde doelklasse behoren. Dit type SVM is één klasse omdat de trainingsset alleen voorbeelden van de doelklasse bevat. Hiermee wordt afgeleid welke eigenschappen normaal zijn voor de objecten in de doelklasse en uit deze eigenschappen wordt voorspeld welke voorbeelden in tegenstelling tot de normale voorbeelden zijn. Dit is handig voor anomaliedetectie omdat de tekorten van trainingsvoorbeelden het definiërende karakter van afwijkingen zijn: meestal zijn er zeer weinig voorbeelden van netwerkinbraak, fraude of andere soorten afwijkend gedrag.
Waarde
              rxOneClassSvm: Een rxOneClassSvm object met het getrainde model.
              OneClassSvm: Een leerlingspecificatieobject van klasse maml voor de OneClass Svm trainer.
Opmerkingen
Dit algoritme is één threaded en probeert altijd de volledige gegevensset in het geheugen te laden.
Auteur(en)
Microsoft Corporation Microsoft Technical Support
Referenties
Azure Machine Learning Studio (classic): One-Class Support Vector Machine
Support of a High-Dimensional Distribution
Zie ook
rbfKernel, linearKernel, polynomialKernel, sigmoidKernelrxFastTrees, rxFastForest, rxFastLinear, rxLogisticRegression, rxNeuralNet, featurizeText, categorical, categoricalHash, rxPredict.mlModel.
Voorbeelden
 # Estimate a One-Class SVM model
 trainRows <- c(1:30, 51:80, 101:130)
 testRows = !(1:150 %in% trainRows)
 trainIris <- iris[trainRows,]
 testIris <- iris[testRows,]
 svmModel <- rxOneClassSvm(
     formula = ~Sepal.Length + Sepal.Width + Petal.Length + Petal.Width,
     data = trainIris)
 # Add additional non-iris data to the test data set
 testIris$isIris <- 1
 notIris <- data.frame(
     Sepal.Length = c(2.5, 2.6),
     Sepal.Width = c(.75, .9),
     Petal.Length = c(2.5, 2.5),
     Petal.Width = c(.8, .7),
     Species = c("not iris", "not iris"),
     isIris = 0)
 testIris <- rbind(testIris, notIris)  
 scoreDF <- rxPredict(svmModel, 
      data = testIris, extraVarsToWrite = "isIris")
 # Look at the last few observations
 tail(scoreDF)
 # Look at average scores conditioned by 'isIris'
 rxCube(Score ~ F(isIris), data = scoreDF)