smile.math.kernel.MercerKernel Maven / Gradle / Ivy
/******************************************************************************
* Confidential Proprietary *
* (c) Copyright Haifeng Li 2011, All Rights Reserved *
******************************************************************************/
package smile.math.kernel;
/**
* 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 nonnegative.
*
* @author Haifeng Li
*/
public interface MercerKernel {
/**
* Kernel function.
*/
public double k(T x, T y);
}