gausskernel {KRLS} | R Documentation |
Gaussian Kernel Distance Computation
Description
Given a N by D numeric data matrix, this function computes the N by N distance matrix with the pairwise distances between the rows of the data matrix as measured by a Gaussian Kernel.
Usage
gausskernel(X = NULL, sigma = NULL)
Arguments
X |
N by N numeric data matrix. |
sigma |
Positive scalar that specifies the bandwidth of the Gaussian kernel (see details). |
Details
Given two D dimensional vectors x_i
and x_j
. The Gaussian kernel is defined as
k(x_i,x_j)=exp(\frac{-|| x_i - x_j ||^2}{\sigma^2})
where ||x_i - x_j||
is the Euclidean distance given by
||x_i - x_j||=((x_i1-x_j1)^2 + (x_i2-x_j2)^2 + ... + (x_iD-x_jD)^2)^.5
and \sigma^2
is the bandwidth of the kernel.
Note that the Gaussian kernel is a measure of similarity between x_i
and x_j
. It evalues to 1 if the x_i
and x_j
are identical, and approaches 0 as x_i
and x_j
move further apart.
The function relies on the dist
function in the stats package for an initial estimate of the euclidean distance.
Value
An N by N numeric distance matrix that contains the pairwise distances between the rows in X.
Author(s)
Jens Hainmueller (Stanford) and Chad Hazlett (MIT)
See Also
dist
function in the stats package.
Examples
X <- matrix(rnorm(6),ncol=2)
gausskernel(X=X,sigma=1)