pyriemann.utils.kernel.kernel_euclid¶
- pyriemann.utils.kernel.kernel_euclid(X, Y=None, *, Cref=None, reg=1e-10)¶
Euclidean kernel between two sets of matrices.
Euclidean kernel matrix \(\mathbf{K}\) of two sets \(\mathbf{X}\) and \(\mathbf{Y}\) of matrices in \(\mathbb{R}^{n \times m}\) at \(\mathbf{C}_\text{ref}\) is calculated with pairwise inner products:
\[\mathbf{K}_{i,j} = \text{tr}( (\mathbf{X}_i - \mathbf{C}_\text{ref})^T (\mathbf{Y}_j - \mathbf{C}_\text{ref}) )\]If \(\mathbf{C}_\text{ref}\) is None [1]:
\[\mathbf{K}_{i,j} = \text{tr}(\mathbf{X}_i^T \mathbf{Y}_j)\]- Parameters:
- Xndarray, shape (n_matrices_X, n, m)
First set of matrices.
- YNone | ndarray, shape (n_matrices_Y, n, m), default=None
Second set of matrices. If None, Y is set to X.
- CrefNone | ndarray, shape (n, m), default=None
Reference matrix. If None, Cref is defined as null matrix.
Added in version 0.8.
- regfloat, default=1e-10
When Y is None, regularization parameter to mitigate numerical errors in kernel matrix estimation, to provide a positive-definite kernel matrix.
- Returns:
- Kndarray, shape (n_matrices_X, n_matrices_Y)
Euclidean kernel matrix between X and Y.
See also
Notes
Added in version 0.3.
Changed in version 0.8: Add parameter Cref to use a reference matrix.
References
[1]A linear feature space for simultaneous learning of spatio-spectral filters in BCI J. Farquhar. Neural Networks, 2009