核心:Kernel
支援用於計算內部產品的核心。
使用方式
linearKernel(...)
polynomialKernel(a = NULL, bias = 0, deg = 3, ...)
rbfKernel(gamma = NULL, ...)
sigmoidKernel(gamma = NULL, coef0 = 0, ...)
引數
a
字詞 (a*<x,y> + b)^d 中 a 的數值。 如果未指定,就會使用 (1/(number of features)
。
bias
字詞 (a*<x,y> + b)^d
中 b 的數值。
deg
字詞 (a*<x,y> + b)^d
中 d 的整數值。
gamma
運算式 tanh(gamma*<x,y> + c
) 中 gamma 的數值。 如果未指定,就會使用 1/(number of features)
。
coef0
運算式 tanh(gamma*<x,y> + c
) 中 c 的數值。
...
傳遞至 Microsoft ML 計算引擎的其他引數。
詳細資料
這些協助程式函數會指定用於訓練相關演算法的核心。 支援的核心:
linearKernel
:線性核心。
rbfKernel
:放射狀基礎函數核心。
polynomialKernel
:多項式核心。
sigmoidKernel
:sigmoid 核心。
值
定義核心的字元字串。
作者
Microsoft Corporation Microsoft Technical Support
參考資料
Estimating the Support of a High-Dimensional Distribution
另請參閱
範例
# 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)