MLPACK  1.0.7
Public Member Functions | Private Attributes | List of all members
mlpack::kernel::LaplacianKernel Class Reference

The standard Laplacian kernel. More...

Public Member Functions

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

Private Attributes

double bandwidth
 Kernel bandwidth. More...
 

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
bandwidthThe bandwidth of the kernel ( $\mu$).

Definition at line 54 of file laplacian_kernel.hpp.

Member Function Documentation

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::Bandwidth ( )
inline

Modify the bandwidth.

Definition at line 93 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
VecTypeType of vector (likely arma::vec or arma::spvec).
Parameters
aFirst vector.
bSecond 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().

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

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

Parameters
tThe 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.

Member Data Documentation

double mlpack::kernel::LaplacianKernel::bandwidth
private

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: