Поделиться через


kernel: ядро

Ядра поддерживаются для вычисления внутренних продуктов.

Использование

  linearKernel(...)

  polynomialKernel(a = NULL, bias = 0, deg = 3, ...)

  rbfKernel(gamma = NULL, ...)

  sigmoidKernel(gamma = NULL, coef0 = 0, ...)

Аргументы

a

Числовое значение a в члене (a*<x,y> + b)^d. Если этот параметр не задан, используется значение (1/(number of features).

bias

Числовое значение b в члене (a*<x,y> + b)^d.

deg

Целочисленное значение d в члене (a*<x,y> + b)^d.

gamma

Числовое значение gamma в выражении tanh(gamma*<x,y> + c). Если этот параметр не задан, используется значение 1/(number of features).

coef0

Числовое значение c в выражении tanh(gamma*<x,y> + c).

...

Дополнительные аргументы, передаваемые в модуль вычислений Microsoft ML.

Подробнее

Эти вспомогательные функции определяют ядро, используемое для обучения соответствующим алгоритмам. Поддерживаемые ядра:

linearKernel — линейное ядро.

rbfKernel — ядро радиальной базисной функции.

polynomialKernel — полином ядра.

sigmoidKernel — сигмоидальное ядро.

Значение

Строка символов, определяющая ядро.

Авторы

Корпорация Майкрософт Microsoft Technical Support

Ссылки

Estimating the Support of a High-Dimensional Distribution

New Support Vector Algorithms

См. также

rxOneClassSvm

Примеры


 # Simulate some simple data
 set.seed(7)
 numRows <- 200
 normalData <- data.frame(day = 1:numRows)
 normalData$pageViews = runif(numRows, min = 10, max = 1000) + .5 * normalData$day
 testData <- data.frame(day = 1:numRows)
 # The test data has outliers above 1000
 testData$pageViews = runif(numRows, min = 10, max = 1400) + .5 * testData$day

 train <- function(kernelFunction, args=NULL) {
     model <- rxOneClassSvm(formula = ~pageViews + day, data = normalData,
     kernel = kernelFunction(args))
     scores <- rxPredict(model, data = testData, writeModelVars = TRUE)
     scores$groups = scores$Score > 0
     scores
 }
 display <- function(scores) {
     print(sum(scores$groups))
     rxLinePlot(pageViews ~ day, data = scores, groups = groups, type = "p",
      symbolColors = c("red", "blue"))
 }
 scores <- list()
 scores$rbfKernel <- train(rbfKernel)
 scores$linearKernel <- train(linearKernel)
 scores$polynomialKernel <- train(polynomialKernel, (a = .2))
 scores$sigmoidKernel <- train(sigmoidKernel)
 display(scores$rbfKernel)
 display(scores$linearKernel)
 display(scores$polynomialKernel)
 display(scores$sigmoidKernel)