Learn R Programming

kernlab (version 0.1-4)

kernelMatrix: Kernel Matrix functions

Description

kernelMatrix calculates the kernel matrix $K_{ij} = k(x_i,x_j)$ or $K_{ij} = k(x_i,y_j)$. kernelPol computes the quadratic kernel expression $H = z_i z_j k(x_i,x_j)$, $H = z_i k_j k(x_i,y_j)$. kernelMult calculates the kernel expansion $f(x_i) = sum_{i=1}^m z k(x_i,x_j)$

Usage

## S3 method for class 'kernel':
kernelMatrix(kernel, x, y = NULL)

## S3 method for class 'kernel': kernelPol(kernel, x, y = NULL, z, k = NULL)

## S3 method for class 'kernel': kernelMult(kernel, x, y = NULL, z, blocksize = 256)

Arguments

kernel
the kernel function to be used to calculate the kernel matrix. This has to be a function of class kernel
x
a data matrix to be used to calculate the kernel matrix
y
second data matrix to calculate the kernel matrix
z
a suitable vector or matrix
k
a suitable vector or matrix
blocksize
the kernel expansion computations are done block wise to avoid storing the kernel matrix into memory. blocksize defines the size of the computational blocks.

Value

  • kernelMatrix returns a symmetric diagonal semi-definite matrix. kernelPol returns a matrix. kernelMult{usually returns a one-column matrix}

Details

Common functions used during kernel based computations. This kernel parameter can be set to any function, of class kernel, which computes a dot product between two vector arguments. kernlab provides the most popular kernel functions which can be initialized by using the following functions:
  • rbfdot(Radial Basis kernel function)
  • polydot(Polynomial kernel function)
  • vanilladot(Linear kernel function)
  • tanhdot(Hyperbolic tangent kernel function)
(see example.)

See Also

rbfdot, polydot, tanhdot, vanilladot

Examples

Run this code
## use the spam data
data(spam)
dt <- as.matrix(spam[c(10:20,3000:3010),-58])

## initialize kernel function 
rbf <- rbfdot(sigma = 0.05)
rbf

## calculate kernel matrix
kernelMatrix(rbf, dt)

yt <- as.matrix(as.integer(spam[c(10:20,3000:3010),58]))
yt[yt==2] <- -1

## calculate the quadratic kernel expression
kernelPol(rbf, dt, ,yt)

## calculate the kernel expansion
kernelMult(rbf, dt, ,yt)

Run the code above in your browser using DataLab