Learn R Programming

kernlab (version 0.2-2)

dots: Kernel Functions

Description

The kernel generating functions provided in kernlab. The Gaussian kernel $k(x,x') = \exp(-\sigma \|x - x'\|^2)$ the Polynomial kernel $k(x,x') = (scale + offset)^degree$. the Linear kernel $k(x,x') = $ the Hyperbolic tangent kernel $k(x, x') = \tanh(scale + offset)$ the Laplacian kernel $k(x,x') = \exp(-\sigma \|x - x'\|)$ the Bessel kernel $k(x,x') = (- Bessel_{(\nu+1)}^n sigma \|x - x'\|^2)$ the ANOVA RBF kernel $k(x,x') = \sum_{1\leq i_1 \ldots < i_D \leq N} \prod_{d=1}^D k(x_{id}, {x'}_{id})$ where k(x,x) is a RBF kernel.

Usage

rbfdot(sigma = 1)

polydot(degree = 1, scale = 1, offset = 1)

tanhdot(scale = 1, offset = 1)

vanilladot()

laplacedot(sigma = 1)

besseldot(sigma = 1, order = 1, degree = 1)

anovadot(sigma = 1, degree = 1)

Arguments

sigma
The inverse kernel width used by the Gaussian the Laplacian, the Bessel and the ANOVA kernel
degree
The degree of the polynomial, bessel or ANOVA kernel function. This has to be an integer.
scale
The scaling parameter of the polynomial and tangent kernel is a convenient way of normalizing patterns without the need to modify the data itself
offset
The offset used in a polynomial or hyperbolic tangent kernel
order
The order of the Bessel function to be used as a kernel

Value

  • Return an S4 object of class kernel which extents the function class. The resulting function implements the given kernel calculating the inner (dot) product between two vectors.
  • kpara list containing the kernel parameters (hyperparameters) used.
  • the kernel parameters can be accessed by the kpar function.

Details

The kernel generating function are used to initialize a kernel function which calculates the dot (inner) product between two feature vectors in a Hilbert Space. These functions can be based as a kernel argument on almost all functions in kernlab (eg. ksvm, kpca etc). Although using one of the above mentioned existing kernel functions as a kernel argument in various functions in kernlab has the advantage that use of optimize kernel utilities methods are used any other function implementing a dot product of class kernel can also be used as a kernel argument. This allows the user to use test an develop special kernels for a given data set and algorithm.

See Also

kernelMatrix, kernelMult, kernelPol

Examples

Run this code
rbfkernel <- rbfdot(sigma = 0.1)
rbfkernel

kpar(rbfkernel)

## create two vectors
x <- rnorm(10)
y <- rnorm(10)

## calculate dot product
rbfkernel(x,y)

Run the code above in your browser using DataLab