The kernel generating functions provided in kernlab.
The Gaussian RBF kernel \(k(x,x') = \exp(-\sigma \|x - x'\|^2)\)
The Polynomial kernel \(k(x,x') = (scale <x, x'> + offset)^{degree}\)
The Linear kernel \(k(x,x') = <x, x'>\)
The Hyperbolic tangent kernel \(k(x, x') = \tanh(scale <x, x'> + 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 Gaussian
RBF kernel.
The Spline kernel \( \prod_{d=1}^D 1 + x_i x_j + x_i x_j min(x_i,
x_j) - \frac{x_i + x_j}{2} min(x_i,x_j)^2 +
\frac{min(x_i,x_j)^3}{3}\) \
The String kernels (see stringdot
.
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)
splinedot()
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.
a list containing the kernel parameters (hyperparameters) used.
The kernel parameters can be accessed by the kpar
function.
The inverse kernel width used by the Gaussian the Laplacian, the Bessel and the ANOVA kernel
The degree of the polynomial, bessel or ANOVA kernel function. This has to be an positive integer.
The scaling parameter of the polynomial and tangent kernel is a convenient way of normalizing patterns without the need to modify the data itself
The offset used in a polynomial or hyperbolic tangent kernel
The order of the Bessel function to be used as a kernel
Alexandros Karatzoglou
alexandros.karatzoglou@ci.tuwien.ac.at
The kernel generating functions 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 passed as a kernel
argument on almost all
functions in kernlab(e.g., ksvm
, kpca
etc).
Although using one of the existing kernel functions as a
kernel
argument in various functions in kernlab has the
advantage that optimized code is used to calculate various kernel expressions,
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 and develop special kernels
for a given data set or algorithm.
For details on the string kernels see stringdot
.
stringdot
, kernelMatrix
, kernelMult
, kernelPol
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