mlpack::kernel::LaplacianKernel Class Reference

The standard Laplacian kernel. More...

List of all members.

Public Member Functions

 LaplacianKernel (double bandwidth)
 Construct the Laplacian kernel with a custom bandwidth.
 LaplacianKernel ()
 Default constructor; sets bandwidth to 1.0.
double & Bandwidth ()
 Modify the bandwidth.
double Bandwidth () const
 Get the bandwidth.
double Evaluate (const double t) const
 Evaluation of the Laplacian kernel given the distance between two points.
template<typename VecType >
double Evaluate (const VecType &a, const VecType &b) const
 Evaluation of the Laplacian kernel.

Private Attributes

double bandwidth
 Kernel bandwidth.

Detailed Description

The standard Laplacian kernel.

Given two vectors $ x $, $ y $, and a bandwidth $ \mu $ (set in the constructor),

\[ K(x, y) = \exp(-\frac{|| x - y ||}{\mu}). \]

The implementation is all in the header file because it is so simple.

Definition at line 40 of file laplacian_kernel.hpp.


Constructor & Destructor Documentation

mlpack::kernel::LaplacianKernel::LaplacianKernel (  )  [inline]

Default constructor; sets bandwidth to 1.0.

Definition at line 46 of file laplacian_kernel.hpp.

mlpack::kernel::LaplacianKernel::LaplacianKernel ( double  bandwidth  )  [inline]

Construct the Laplacian kernel with a custom bandwidth.

Parameters:
bandwidth The bandwidth of the kernel ($\mu$).

Definition at line 54 of file laplacian_kernel.hpp.


Member Function Documentation

double& mlpack::kernel::LaplacianKernel::Bandwidth (  )  [inline]

Modify the bandwidth.

Definition at line 93 of file laplacian_kernel.hpp.

References bandwidth.

double mlpack::kernel::LaplacianKernel::Bandwidth (  )  const [inline]

Get the bandwidth.

Definition at line 91 of file laplacian_kernel.hpp.

References bandwidth.

double mlpack::kernel::LaplacianKernel::Evaluate ( const double  t  )  const [inline]

Evaluation of the Laplacian kernel given the distance between two points.

Parameters:
t The distance between the two points the kernel should be evaluated on.
Returns:
K(t) using the bandwidth ($\mu$) specified in the constructor.

Definition at line 84 of file laplacian_kernel.hpp.

References bandwidth.

template<typename VecType >
double mlpack::kernel::LaplacianKernel::Evaluate ( const VecType &  a,
const VecType &  b 
) const [inline]

Evaluation of the Laplacian kernel.

This could be generalized to use any distance metric, not the Euclidean distance, but for now, the Euclidean distance is used.

Template Parameters:
VecType Type of vector (likely arma::vec or arma::spvec).
Parameters:
a First vector.
b Second vector.
Returns:
K(a, b) using the bandwidth ($\mu$) specified in the constructor.

Definition at line 70 of file laplacian_kernel.hpp.

References bandwidth, and mlpack::metric::LMetric< Power, TakeRoot >::Evaluate().


Member Data Documentation

Kernel bandwidth.

Definition at line 97 of file laplacian_kernel.hpp.

Referenced by Bandwidth(), and Evaluate().


The documentation for this class was generated from the following file:

Generated on 13 Aug 2014 for MLPACK by  doxygen 1.6.1