Interface MercerKernel<T>
- Type Parameters:
T
- the input type of kernel function.
- All Superinterfaces:
Serializable
,ToDoubleBiFunction<T,
T>
- All Known Implementing Classes:
BinarySparseGaussianKernel
,BinarySparseHyperbolicTangentKernel
,BinarySparseLaplacianKernel
,BinarySparseLinearKernel
,BinarySparseMaternKernel
,BinarySparsePolynomialKernel
,BinarySparseThinPlateSplineKernel
,GaussianKernel
,HellingerKernel
,HyperbolicTangentKernel
,LaplacianKernel
,LinearKernel
,MaternKernel
,PearsonKernel
,PolynomialKernel
,ProductKernel
,SparseGaussianKernel
,SparseHyperbolicTangentKernel
,SparseLaplacianKernel
,SparseLinearKernel
,SparseMaternKernel
,SparsePolynomialKernel
,SparseThinPlateSplineKernel
,SumKernel
,ThinPlateSplineKernel
k(x,y) = k(y,x)
.
A Mercer kernel is a kernel that is positive Semi-definite. When a kernel
is positive semi-definite, one may exploit the kernel trick, the idea of
implicitly mapping data to a high-dimensional feature space where some
linear algorithm is applied that works exclusively with inner products.
Assume we have some mapping Φ from an input space X to a feature space H,
then a kernel k(u, v) = <Φ(u), Φ(v)>
may be used
to define the inner product in feature space H.
Positive definiteness in the context of kernel functions also implies that a kernel matrix created using a particular kernel is positive semi-definite. A matrix is positive semi-definite if its associated eigenvalues are non-negative.
We can combine or modify existing kernel functions to make new one. For example, the sum of two kernels is a kernel. The product of two kernels is also a kernel.
A stationary covariance function is a function of distance x − y
.
Thus, it is invariant stationarity to translations in the input space.
If further the covariance function is a function only of |x − y|
then it is called isotropic; it is thus invariant to all rigid motions.
If a covariance function depends only on the dot product of x and y,
we call it a dot product covariance function.
-
Method Summary
Modifier and TypeMethodDescriptiondefault double
Kernel function.default double
applyAsDouble
(T x, T y) static MercerKernel
<int[]> Returns a binary sparse kernel function.double[]
hi()
Returns the upper bound of hyperparameters (in hyperparameter tuning).double[]
Returns the hyperparameters of kernel.double
Kernel function.default Matrix
Computes the kernel matrix.default Matrix
Returns the kernel matrix.double[]
Computes the kernel and its gradient over hyperparameters.default Matrix[]
Computes the kernel and gradient matrices.double[]
lo()
Returns the lower bound of hyperparameters (in hyperparameter tuning).of
(double[] params) Returns the same kind kernel with the new hyperparameters.static MercerKernel
<double[]> Returns a kernel function.static MercerKernel
<SparseArray> Returns a sparse kernel function.
-
Method Details
-
k
Kernel function.- Parameters:
x
- an object.y
- an object.- Returns:
- the kernel value.
-
kg
Computes the kernel and its gradient over hyperparameters.- Parameters:
x
- an object.y
- an object.- Returns:
- the kernel value and gradient.
-
apply
Kernel function. This is simply for Scala convenience.- Parameters:
x
- an object.y
- an object.- Returns:
- the kernel value.
-
applyAsDouble
- Specified by:
applyAsDouble
in interfaceToDoubleBiFunction<T,
T>
-
KG
Computes the kernel and gradient matrices.- Parameters:
x
- objects.- Returns:
- the kernel and gradient matrices.
-
K
Computes the kernel matrix.- Parameters:
x
- objects.- Returns:
- the kernel matrix.
-
K
Returns the kernel matrix.- Parameters:
x
- objects.y
- objects.- Returns:
- the kernel matrix.
-
of
Returns the same kind kernel with the new hyperparameters.- Parameters:
params
- the hyperparameters.- Returns:
- the same kind kernel with the new hyperparameters.
-
hyperparameters
double[] hyperparameters()Returns the hyperparameters of kernel.- Returns:
- the hyperparameters of kernel.
-
lo
double[] lo()Returns the lower bound of hyperparameters (in hyperparameter tuning).- Returns:
- the lower bound of hyperparameters.
-
hi
double[] hi()Returns the upper bound of hyperparameters (in hyperparameter tuning).- Returns:
- the upper bound of hyperparameters.
-
of
Returns a kernel function.- Parameters:
kernel
- the kernel function string representation.- Returns:
- the kernel function.
-
sparse
Returns a sparse kernel function.- Parameters:
kernel
- the kernel function string representation.- Returns:
- the kernel function.
-
binary
Returns a binary sparse kernel function.- Parameters:
kernel
- the kernel function string representation.- Returns:
- the kernel function.
-