class PolynomialKernel¶
- class deeptime.kernels.PolynomialKernel(degree: int, inhomogeneity: float = 1.0)¶
Implementation of the polynomial kernel
\[\kappa (x,y) = (x^\top y + c)^d,\]where \(p\) is the degree and \(c\) is the inhomogeneity.
- Parameters:
degree (int) – The degree, must be non-negative.
inhomogeneity (float, must be non-negative, optional, default=1.) – The inhomogeneity.
Methods
apply
(data_1, data_2)Applies the kernel to data arrays.
gram
(data)Computes the corresponding Gram matrix, see also
apply()
.- __call__(x, y)¶
Computes the value of the kernel at two specific points.
- Parameters:
x ((d,) ndarray) – X point.
y ((d,) ndarray) – Y point.
- Returns:
kxy – The kernel evaluation \(\kappa (x, y)\).
- Return type:
float
Notes
This dispatches to
_evaluate()
which is an interface method intended to be overridden by a specific kernel implementation.
- apply(data_1: ndarray, data_2: ndarray) ndarray ¶
Applies the kernel to data arrays.
Given \(x\in\mathbb{R}^{T_1 \times d}\) and \(y\in\mathbb{R}^{T_2\times d}\), it yields a kernel matrix
\[K = (\kappa(x_i, y_j))_{i,j}\in\mathbb{R}^{T_1\times T_2}.\]Note that this corresponds to the kernel Gramian in case \(x = y\).
- Parameters:
data_1 ((T_1, d) ndarray) – Data array.
data_2 ((T_2, d) ndarray) – Data array.
- Returns:
K – The kernel matrix.
- Return type:
(T_1, T_2) ndarray