Aracılığıyla paylaş


rxOneClassSvm: OneClass SVM

Machine Learning One Sınıf Destek Vektör Makineleri

Kullanım

  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(), ...)

Tartışmalar

formula

rxFormula'da açıklandığı gibi formül. Etkileşim terimleri ve F() şu anda MicrosoftML'de desteklenmiyor.

data

Bir veri kaynağı nesnesi veya .xdf dosyası veya veri çerçevesi nesnesi belirten bir karakter dizesi.

cacheSize

Eğitim verilerini depolayan önbelleğin MB cinsinden en büyük boyutu. Büyük eğitim kümeleri için bunu artırın. Varsayılan değer 100 MB'tır.

kernel

İç ürünlerin hesaplanması için kullanılan çekirdeği temsil eden karakter dizesi. Daha fazla bilgi için bkz. maKernel. Aşağıdaki seçenekler kullanılabilir:

  • rbfKernel(): Radyal temel işlev çekirdeği. parametresi terimini gammatemsil ederexp(-gamma|x-y|^2. Belirtilmezse, varsayılan olarak 1 kullanılan özellik sayısına bölünür. Örneğin, rbfKernel(gamma = .1). Bu varsayılan değerdir.
  • linearKernel(): Doğrusal çekirdek.
  • polynomialKernel(): parametre adları a, biasve deg terimiyle (a*<x,y> + bias)^degpolinom çekirdeği. , biasvarsayılan olarak olarak gösterilir 0. derecesi, degvarsayılan olarak olarak 3gösterilir. Belirtilmezse a , özellik sayısına bölünecek şekilde 1 ayarlanır. Örneğin, maKernelPoynomial(bias = 0, deg = `` 3).
  • sigmoidKernel(): Parametre adlarıyla gamma ve coef0 terimiyle tanh(gamma*<x,y> + coef0)Sigmoid çekirdeği. gamma, varsayılan olarak 1 özellik sayısına bölünür. parametresi coef0 varsayılan olarak değeridir 0. Örneğin, sigmoidKernel(gamma = .1, coef0 = 0).

epsilon

İyileştirici yakınsama eşiği. Yinelemeler arasındaki iyileştirme eşikten küçükse algoritma durur ve geçerli modeli döndürür. Değerin değerinden büyük veya buna eşit .Machine$double.epsolması gerekir. Varsayılan değer 0,001'dir.

nu

Aykırı değerlerin kesirleri ile destek vektörlerinin sayısı arasındaki denge (Yunanca harf nu ile temsil edilir). 0 ile 1 arasında, genellikle 0,1 ile 0,5 arasında olmalıdır. Varsayılan değer 0,1'dir.

shrink

ise TRUEdaraltma buluşsalını kullanır. Bu durumda, eğitim yordamı sırasında bazı örnekler "küçültülür" ve bu da eğitimi hızlandırabilir. Varsayılan değer şudur: TRUE.

normalize

Kullanılan otomatik normalleştirme türünü belirtir:

  • "auto": normalleştirme gerekiyorsa otomatik olarak gerçekleştirilir. Bu varsayılan seçenektir.
  • "no": normalleştirme yapılmaz.
  • "yes": normalleştirme gerçekleştirilir.
  • "warn": normalleştirme gerekiyorsa, bir uyarı iletisi görüntülenir, ancak normalleştirme gerçekleştirilmez.
    Normalleştirme, farklı veri aralıklarını standart bir ölçeğe yeniden ölçeklendirir. Özellik ölçeklendirme, veri noktaları arasındaki mesafelerin orantılı olmasını sağlar ve gradyan azalma gibi çeşitli iyileştirme yöntemlerinin çok daha hızlı yakınsamasını sağlar. Normalleştirme yapılırsa bir MaxMin normalleştirici kullanılır. [a, b] nerede -1 <= a <= 0ve 0 <= b <= 1b - a = 1aralığındaki değerleri normalleştirir. Bu normalleştirici sıfırdan sıfıra eşleyerek sparsity'yi korur.

mlTransforms

Eğitimden önce veya NULL hiçbir dönüşüm gerçekleştirilmeden önce veriler üzerinde gerçekleştirilecek MicrosoftML dönüşümlerinin listesini belirtir. Desteklenen dönüştürmeler için bkz. featurizeText, categorical ve categoricalHash. Bu dönüştürmeler, belirtilen R dönüştürmelerinden sonra gerçekleştirilir. Varsayılan değer şudur: NULL.

mlTransformVars

Içinde kullanılacak mlTransforms değişken adlarının karakter vektörünün veya NULL bunların hiçbirinin kullanılmayacağı bir karakter vektörünün belirtir. Varsayılan değer şudur: NULL.

rowSelection

Model tarafından veri kümesindeki bir mantıksal değişkenin adıyla (tırnak içinde) veya veri kümesindeki değişkenleri kullanan bir mantıksal ifadeyle kullanılacak satırları (gözlemleri) belirtir. Örneğin, rowSelection = "old" yalnızca değişkeninin oldTRUEdeğerinin olduğu gözlemleri kullanır. rowSelection = (age > 20) & (age < 65) & (log(income) > 10) yalnızca değişkenin değerinin age 20 ile 65 arasında olduğu ve değişkenin değerinin logincome 10'dan büyük olduğu gözlemleri kullanır. Satır seçimi, veri dönüştürmeleri işlendikten sonra gerçekleştirilir (veya bağımsız değişkenlerine transformstransformFuncbakın). Tüm ifadelerde olduğu gibi, rowSelection ifade işlevi kullanılarak işlev çağrısının dışında tanımlanabilir.

transforms

Değişken dönüşümlerinin ilk turunu temsil eden formun list(name = expression, ``...) ifadesi. Tüm ifadelerde olduğu gibi , transforms (veya rowSelection) ifade işlevi kullanılarak işlev çağrısı dışında tanımlanabilir.

transformObjects

, transformsve transformsFunctarafından rowSelectionbaşvurulabilen nesneler içeren adlandırılmış liste.

transformFunc

Değişken dönüştürme işlevi. Ayrıntılar için bkz. rxTransform.

transformVars

Dönüştürme işlevi için gereken giriş veri kümesi değişkenlerinin karakter vektörleri. Ayrıntılar için bkz. rxTransform.

transformPackages

Değişken dönüştürme işlevlerinde kullanılmak üzere kullanıma sunulacak ve önceden yüklenecek ek R paketlerini (içinde rxGetOption("transformPackages")belirtilenlerin dışında) belirten bir karakter vektör. Örneğin, RevoScaleR işlevlerinde ve bağımsız değişkenleri aracılığıyla transformstransformFunc açıkça tanımlananlar veya veya bağımsız değişkenleri aracılığıyla formularowSelection örtük olarak tanımlananlar. Bağımsız transformPackages değişken, NULLdışında rxGetOption("transformPackages") hiçbir paketin önceden yüklenmediğini belirten olabilir.

transformEnvir

Dahili olarak geliştirilen ve değişken veri dönüşümü için kullanılan tüm ortamların üst öğesi olarak görev yapmak için kullanıcı tanımlı bir ortam. ise transformEnvir = NULL, bunun yerine üst öğeye baseenv() sahip yeni bir "karma" ortam kullanılır.

blocksPerRead

Veri kaynağından okunan her veri öbekleri için okunacak blok sayısını belirtir.

reportProgress

Satır işleme ilerleme durumuyla ilgili raporlama düzeyini belirten bir tamsayı değeri:

  • 0: herhangi bir ilerleme bildirilmemiştir.
  • 1: işlenen satır sayısı yazdırılır ve güncelleştirilir.
  • 2: işlenen satırlar ve zamanlamalar bildirilir.
  • 3: işlenen satırlar ve tüm zamanlamalar bildirilir.

verbose

İstenen çıkış miktarını belirten bir tamsayı değeri. ise 0, hesaplamalar sırasında ayrıntılı çıktı yazdırılmaz. Artan miktarda bilgi sağlamak için 1 olan 4 tamsayı değerleri.

computeContext

Geçerli bir RxComputeContext ile belirtilen hesaplamaların yürütülme bağlamını ayarlar. Şu anda yerel ve RxInSqlServer işlem bağlamları desteklenmektedir.

ensemble

Benzerliği için denetim parametreleri.

...

Doğrudan Microsoft İşlem Altyapısı'na geçirilecek ek bağımsız değişkenler.

Ayrıntılar

algılama, bir hedef sınıfa ait olmayan aykırı değerleri tanımlamaktır. Eğitim kümesi yalnızca hedef sınıftan örnekler içerdiğinden bu tür SVM tek sınıftır. Hedef sınıftaki nesneler için hangi özelliklerin normal olduğunu çıkarsar ve bu özelliklerden hangi örneklerin normal örneklerden farklı olduğunu tahmin eder. Eğitim örneklerinin kıtlığı anomalilerin tanımlama karakteri olduğundan bu, anomali algılama için yararlıdır: genellikle ağ izinsiz giriş, sahtekarlık veya diğer anormal davranış türlerine çok az örnek vardır.

Değer

rxOneClassSvm rxOneClassSvm: Eğitilmiş modele sahip bir nesne.

OneClassSvm: OneClass Svm eğitmeni için sınıfın maml öğrenci belirtim nesnesi.

Notlar

Bu algoritma tek iş parçacıklıdır ve her zaman veri kümesinin tamamını belleğe yüklemeyi dener.

Yazar(lar)

Microsoft Corporation Microsoft Technical Support

Kaynaklar

Anomaly detection

Azure Machine Learning Studio (classic): One-Class Support Vector Machine

Support of a High-Dimensional Distribution

Support Vector Algorithms

for Support Vector Machines

Ayrıca bakınız

rbfKernel, linearKernel, polynomialKernel, sigmoidKernelrxFastTrees, rxFastForest, rxFastLinear, rxLogisticRegression, rxNeuralNet, featurizeText, kategorik, kategorikHash, rxPredict.mlModel.

Örnekler


 # 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)