negDistMat
creates a square matrix of mutual
pairwise similarities of data vectors as negative distances. The
argument r
(default is 1) is used to transform the resulting
distances by computing the r-th power (use r=2
to obtain
negative squared distances as in Frey's and Dueck's demos), i.e.,
given a distance d, the resulting similarity is computed as
$s=-d^r$. Internally, the computation of distances is done using
dist
. All options of this function
except diag
and upper
can be used, especially
method
that allows for selecting different distance measures.expSimMat
computes similarities in a way similar to
negDistMat
, but the transformation of distances to similarities
is done in the following way:
$$s=\exp\left(-\left(\frac{d}{w}\right)^r\right)$$
As above, r is an exponent. The parameter w controls the speed of
descent. r=2
in conjunction with Euclidean distances
corresponds to the well-known Gaussian/RBF kernel,
whereas r=1
corresponds to the Laplace kernel. Note that these
similarity measures can also be understood as fuzzy equality relations.
linSimMat
provides another way of transforming distances
into similarities by applying the following transformation to a
distance d:
$$s=\max\left(0,1-\frac{d}{w}\right)$$
Here, w corresponds to a maximal radius of interest. Note that this
is a fuzzy equality relation with respect to the Lukasiewicz t-norm.
Unlike the above three functions, linKernel
computes pairwise
similarities as scalar products of data vectors, i.e. it corresponds,
as the name suggests, to the linear kernel. If
normalize=TRUE
, the values are scaled to the unit sphere in the
following way (for two samples x
and y
:
$$s=\frac{\vec{x}^T\vec{y}}{\|\vec{x}\| \|\vec{y}\|}$$