rdetools (version 1.0)

polykernel: Calculate polynomial kernel matrix

Description

Calculates the polynomial kernel matrix for the dataset contained in the matrix X, where each row of X is a data point. If Y is also a matrix (with the same number of columns as X), the kernel function is evaluated between all data points of X and Y.

Usage

polykernel(X, d, Y = NULL)

Arguments

X
matrix containing a data point in each column
d
polynomial kernel degree
Y
leave this NULL if the kernel function should be evaluated between the data points only contained in X (which can be regarded as Y = X) or to a matrix with same number of columns as X if you want to evaluate the function between the points of X and Y

Value

polynomial kernel matrix K for the given dataset

Details

Each row of X must be a data point, i.e. $X = (x_1, x_2, ..., x_n)$. The kernel matrix K is then defined as $$K = (k(x_i, x_j))_{i,j=1,...,n}$$ If Y is not NULL and also contains data points in each row, i.e. $Y = (y_1, y_2, ..., y_m)$, the kernel matrix K of X and Y is defined as $$K = (k(x_i, y_j))_{i=1,...,n,j=1,...,m}$$ In this case, k is the polynomial kernel, which is defined as $$k(x, y) = (\langle x,y \rangle + 1)^d$$ where x, y are data points and d is the polynomial kernel degree.

See Also

rbfkernel, sincdata

Examples

Run this code
## generate sinc data and calculate polynomial kernel matrix with d = 5
d <- sincdata(100, noise = 0.1)
K <- polykernel(d$X, 5)

Run the code above in your browser using DataCamp Workspace