Gaussian<T> is a Kernel. Specifically, it is a Mercer Kernel. If k is an object of class gaussian<T>, and u and v are objects of class T, then k(u,v) returns
where is the width of the kernel. Figure 1 shows a Gaussian kernel.
The Gaussian kernel is a good choice for a great deal of applications, although sometimes it is remarked as being overused [1].
std::vector< double > u(10); std::vector< double > v(10); gaussian< std::vector< double > > kernel(1.0); std::cout << kernel( u, v ) << std::endl;
Defined in the KML header <kml/gaussian.hpp>.
Parameter | Description | Default |
T | The gaussian argument type | |
T must be a vector type or a numeric type; distance_squared<T> should evaluate.
Member | Where defined | Description |
gaussian() | Default Constructible | The default constructor |
result_type | Input value | The type of the result: input_value<T> |
Mercer Kernel, linear, hermitian, polynomial, sigmoid
Bernhard Schölkopf and Alexander Smola. Learning with Kernels. Adaptive Computation and Machine Learning. The MIT Press, Cambridge, Massachusetts, USA, 2002. ISBN 0-262-19475-9.
http://www.learning-with-kernels.org