12 #ifndef MLPACK_CORE_KERNELS_EPANECHNIKOV_KERNEL_HPP 13 #define MLPACK_CORE_KERNELS_EPANECHNIKOV_KERNEL_HPP 40 inverseBandwidthSquared(1.0 / (bandwidth * bandwidth))
51 template<
typename VecTypeA,
typename VecTypeB>
52 double Evaluate(
const VecTypeA& a,
const VecTypeB& b)
const;
58 double Evaluate(
const double distance)
const;
65 double Gradient(
const double distance)
const;
82 template<
typename VecTypeA,
typename VecTypeB>
95 template<
typename Archive>
96 void serialize(Archive& ar,
const uint32_t version);
102 double inverseBandwidthSquared;
111 static const bool IsNormalized =
true;
113 static const bool UsesSquaredDistance =
true;
This is a template class that can provide information about various kernels.
Definition: kernel_traits.hpp:27
Linear algebra utility functions, generally performed on matrices or vectors.
Definition: cv.hpp:1
EpanechnikovKernel(const double bandwidth=1.0)
Instantiate the Epanechnikov kernel with the given bandwidth (default 1.0).
Definition: epanechnikov_kernel.hpp:38
void serialize(Archive &ar, const uint32_t version)
Serialize the kernel.
Definition: epanechnikov_kernel_impl.hpp:78
The core includes that mlpack expects; standard C++ includes and Armadillo.
double Gradient(const double distance) const
Evaluate the Gradient of Epanechnikov kernel given that the distance between the two input points is ...
Definition: epanechnikov_kernel.cpp:41
double GradientForSquaredDistance(const double distanceSquared) const
Evaluate the Gradient of Epanechnikov kernel given that the squared distance between the two input po...
Definition: epanechnikov_kernel.cpp:62
double ConvolutionIntegral(const VecTypeA &a, const VecTypeB &b)
Obtains the convolution integral [integral of K(||x-a||) K(||b-x||) dx] for the two vectors...
Definition: epanechnikov_kernel_impl.hpp:44
double Normalizer(const size_t dimension)
Compute the normalizer of this Epanechnikov kernel for the given dimension.
Definition: epanechnikov_kernel.cpp:22
The Epanechnikov kernel, defined as.
Definition: epanechnikov_kernel.hpp:30
double Evaluate(const VecTypeA &a, const VecTypeB &b) const
Evaluate the Epanechnikov kernel on the given two inputs.
Definition: epanechnikov_kernel_impl.hpp:25