Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Maszyny wektorowe obsługi jednej klasy uczenia maszynowego
Zastosowanie
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(), ...)
Argumenty (w programowaniu)
formula
Formuła opisana w rxFormula. Terminy interakcji i F() nie są obecnie obsługiwane w języku MicrosoftML.
data
Obiekt źródła danych lub ciąg znaków określający plik xdf lub obiekt ramki danych.
cacheSize
Maksymalny rozmiar w MB pamięci podręcznej, która przechowuje dane treningowe. Zwiększ to w przypadku dużych zestawów treningowych. Wartość domyślna to 100 MB.
kernel
Ciąg znaków reprezentujący jądro używane do przetwarzania produktów wewnętrznych. Aby uzyskać więcej informacji, zobacz maKernel. Dostępne są następujące opcje:
-
rbfKernel(): jądro funkcji podstawy promieniowej. Jego parametr reprezentujegammaw okresieexp(-gamma|x-y|^2. Jeśli nie zostanie określony, domyślnie1zostanie ona podzielona przez liczbę używanych funkcji. Na przykładrbfKernel(gamma = .1). Jest to wartość domyślna. -
linearKernel(): jądro liniowe. -
polynomialKernel(): jądro wielomianowe o nazwach parametrówa,biasidegw terminie(a*<x,y> + bias)^deg. Wartość domyślnabias0to . Stopień ,degwartość domyślna to3. Jeślianie zostanie określona, zostanie ustawiona wartość1podzielona przez liczbę funkcji. Na przykładmaKernelPoynomial(bias = 0, deg = `` 3). -
sigmoidKernel(): Sigmoid jądra z nazwami parametrówgammaicoef0w terminietanh(gamma*<x,y> + coef0).gamma, domyślnie jest1dzielona przez liczbę funkcji. Parametrcoef0domyślnie ma wartość0. Na przykładsigmoidKernel(gamma = .1, coef0 = 0).
epsilon
Próg zbieżności optymalizatora. Jeśli poprawa między iteracjami jest mniejsza niż próg, algorytm zatrzymuje się i zwraca bieżący model. Wartość musi być większa lub równa .Machine$double.eps. Wartość domyślna to 0,001.
nu
Kompromis między ułamkiem wartości odstających a liczbą wektorów nośnych (reprezentowanych przez literę grecką nu). Musi należeć do przedziału od 0 do 1, zazwyczaj z zakresu od 0,1 do 0,5. Wartość domyślna to 0,1.
shrink
Używa zmniejszania heurystyki, jeśli TRUE. W takim przypadku niektóre próbki zostaną "skurcze" podczas procedury trenowania, co może przyspieszyć trenowanie. Wartość domyślna to TRUE.
normalize
Określa typ używanej automatycznej normalizacji:
-
"auto": jeśli jest wymagana normalizacja, jest wykonywana automatycznie. Jest to wybór domyślny. -
"no": nie jest wykonywana normalizacja. -
"yes": jest wykonywana normalizacja. -
"warn": jeśli jest wymagana normalizacja, zostanie wyświetlony komunikat ostrzegawczy, ale normalizacja nie jest wykonywana.
Normalizacja zmienia skalowanie różnych zakresów danych do standardowej skali. Skalowanie funkcji zapewnia proporcjonalne odległości między punktami danych i umożliwia różne metody optymalizacji, takie jak spadek gradientu, znacznie szybsze. W przypadku normalizacjiMaxMinjest używany normalizator. Normalizuje wartości w interwale [a, b] gdzie-1 <= a <= 0i0 <= b <= 1.b - a = 1Ten normalizator zachowuje rozrzedliwość przez mapowanie zera na zero.
mlTransforms
Określa listę przekształceń MicrosoftML, które mają być wykonywane na danych przed trenowanie lub NULL jeśli nie mają być wykonywane żadne przekształcenia. Zobacz featurizeText, kategoryczne i podzielone na kategorieHash, aby zapoznać się z obsługiwanymi przekształceniami. Te przekształcenia są wykonywane po wszelkich określonych przekształceniach języka R. Wartość domyślna to NULL.
mlTransformVars
Określa wektor znaków nazw zmiennych, które mają być używane lub mlTransformsNULL jeśli nie mają być używane. Wartość domyślna to NULL.
rowSelection
Określa wiersze (obserwacje) z zestawu danych, które mają być używane przez model z nazwą zmiennej logicznej z zestawu danych (w cudzysłowie) lub z wyrażeniem logicznym przy użyciu zmiennych w zestawie danych. Na przykład użyje tylko obserwacji, rowSelection = "old" w których wartość zmiennej old to TRUE.
rowSelection = (age > 20) & (age < 65) & (log(income) > 10) Używa tylko obserwacji, w których wartość age zmiennej wynosi od 20 do 65, a wartość log zmiennej income jest większa niż 10. Wybór wiersza jest wykonywany po przetworzeniu wszystkich przekształceń danych (zobacz argumenty transforms lub transformFunc). Podobnie jak we wszystkich wyrażeniach, rowSelection można zdefiniować poza wywołaniem funkcji przy użyciu funkcji wyrażenia.
transforms
Wyrażenie formularza list(name = expression, ``...) reprezentującego pierwszą rundę przekształceń zmiennych. Podobnie jak w przypadku wszystkich wyrażeń transforms (lub rowSelection) można zdefiniować poza wywołaniem funkcji przy użyciu funkcji wyrażenia.
transformObjects
Nazwana lista zawierająca obiekty, do których można odwoływać się w transformselementach , transformsFunci rowSelection.
transformFunc
Funkcja przekształcania zmiennej. Aby uzyskać szczegółowe informacje, zobacz rxTransform.
transformVars
Wektor znaków zmiennych zestawu danych wejściowych potrzebnych do funkcji przekształcania. Aby uzyskać szczegółowe informacje, zobacz rxTransform.
transformPackages
Wektor znaków określający dodatkowe pakiety języka R (poza określonymi w ) rxGetOption("transformPackages")do udostępnienia i wstępnie załadowany do użycia w funkcjach przekształcania zmiennych. Na przykład te jawnie zdefiniowane w funkcjach RevoScaleR za pośrednictwem ich transforms argumentów i lub transformFunc zdefiniowanych niejawnie za pośrednictwem ich formula lub rowSelection argumentów. Argument transformPackages może również wskazywać NULL, że żadne pakiety poza nie rxGetOption("transformPackages") są wstępnie ładowane.
transformEnvir
Środowisko zdefiniowane przez użytkownika, które służy jako element nadrzędny dla wszystkich środowisk opracowanych wewnętrznie i używanych do przekształcania danych zmiennych. Jeśli transformEnvir = NULLzamiast tego zostanie użyte nowe środowisko "hash" z elementem nadrzędnym baseenv() .
blocksPerRead
Określa liczbę bloków do odczytu dla każdego fragmentu danych odczytywanych ze źródła danych.
reportProgress
Wartość całkowita określająca poziom raportowania postępu przetwarzania wierszy:
-
0: nie zgłoszono żadnego postępu. -
1: liczba przetworzonych wierszy jest drukowana i aktualizowana. -
2: są zgłaszane przetworzone wiersze i chronometraż. -
3: są zgłaszane wiersze przetworzone i wszystkie chronometraż.
verbose
Wartość całkowita określająca ilość żądanych danych wyjściowych. Jeśli 0podczas obliczeń nie są drukowane żadne pełne dane wyjściowe. Wartości całkowite z 1 , aby 4 zapewnić coraz większe ilości informacji.
computeContext
Ustawia kontekst, w którym są wykonywane obliczenia określone przy użyciu prawidłowego elementu RxComputeContext. Obecnie obsługiwane są konteksty obliczeniowe lokalne i RxInSqlServer.
ensemble
Parametry sterowania dla ensembling.
...
Dodatkowe argumenty, które mają być przekazywane bezpośrednio do aparatu obliczeniowego firmy Microsoft.
Szczegóły
wykrywanie polega na zidentyfikowaniu wartości odstających, które nie należą do jakiejś klasy docelowej. Ten typ svM jest jednoklasowy, ponieważ zestaw treningowy zawiera tylko przykłady z klasy docelowej. Wywnioskuje, jakie właściwości są normalne dla obiektów w klasie docelowej, a z tych właściwości przewiduje, które przykłady są w przeciwieństwie do normalnych przykładów. Jest to przydatne w przypadku wykrywania anomalii, ponieważ niedobór przykładów szkoleniowych jest definiowanym znakiem anomalii: zazwyczaj istnieje bardzo niewiele przykładów nieautoryzowanego działania sieci, oszustwa lub innych typów nietypowych zachowań.
Wartość
rxOneClassSvm
rxOneClassSvm: obiekt z wytrenowanym modelem.
OneClassSvm: obiekt specyfikacji ucznia klasy maml dla trenera OneClass Svm.
Notatki
Ten algorytm jest jednowątkowy i zawsze podejmie próbę załadowania całego zestawu danych do pamięci.
Autorzy
Microsoft Corporation Microsoft Technical Support
Źródła
Azure Machine Learning Studio (classic): One-Class Support Vector Machine
Support of a High-Dimensional Distribution
Zobacz także
rbfKernel, linearKernel, polynomialKernel, sigmoidKernelrxFastTrees, rxFastForest, rxFastLinear, rxLogisticRegression, rxNeuralNet, featurizeText, kategorical, categoricalHash, rxPredict.mlModel.
Przykłady
# 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)