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
: 시그모이드 커널입니다.
값
커널을 정의하는 문자열입니다.
작성자
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)