Learn R Programming

KernelICA (version 0.1.0)

kernel_matrix: Kernel Matrix Computation

Description

Computes kernel matrices for Gaussian and Hermite kernels.

Usage

kernel_matrix(
  x,
  y = x,
  kernel = c("gauss", "hermite"),
  sigma = 1,
  hermite_rank = 3
)

Arguments

x

Numeric vector.

y

Numeric vector, default is x.

kernel

Either "gauss" or "hermite".

sigma

Numeric value of the kernel variance. Default is 1.

hermite_rank

Rank of the Hermite kernel. Default is 3. Ignored, when the Gaussian kernel is chosen.

Value

A numeric kernel matrix.

Details

The function computes a matrix in the form of \((K_{ij})_{(i,j)} = K(x_i, x_j)\) or \((K_{ij})_{(i,j)} = K(x_i, y_j)\) for a kernel function \(K\) depending if a second vector was given. The following two kernels are offered:

  • Gaussian Kernel: \(K(x, y) = e^{(x-y)^2 / 2 \sigma^2}\)

  • Hermite Kernel: \(K(x, y) = \sum_{k=0}^d e^{-x^2 / 2 \sigma^2} e^{-y^2 / 2 \sigma^2} \frac{h_k(x / \sigma) h_k(y / \sigma)}{2^k k!}\) where \(h_k\) is the Hermite polynomial of grade \(k\)

Examples

Run this code
# NOT RUN {
x <- rnorm(10)
kernel_matrix(x, kernel = "gauss", sigma = 4)
kernel_matrix(x, kernel = "hermite", sigma = 4, hermite_rank = 3)
# }

Run the code above in your browser using DataLab