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

The simple polynomial kernel. More...

Public Member Functions

 PolynomialKernel (const double degree=2.0, const double offset=0.0)
 Construct the Polynomial Kernel with the given offset and degree. More...
 
const double & Degree () const
 Get the degree of the polynomial. More...
 
double & Degree ()
 Modify the degree of the polynomial. More...
 
template<typename VecType >
double Evaluate (const VecType &a, const VecType &b) const
 Simple evaluation of the dot product. More...
 
const double & Offset () const
 Get the offset of the dot product of the arguments. More...
 
double & Offset ()
 Modify the offset of the dot product of the arguments. More...
 

Private Attributes

double degree
 The degree of the polynomial. More...
 
double offset
 The offset of the dot product of the arguments. More...
 

Detailed Description

The simple polynomial kernel.

For any two vectors $ x $, $ y $, $ degree $ and $ offset $,

\[ K(x, y) = (x^T * y + offset) ^ {degree}. \]

Definition at line 38 of file polynomial_kernel.hpp.

Constructor & Destructor Documentation

mlpack::kernel::PolynomialKernel::PolynomialKernel ( const double  degree = 2.0,
const double  offset = 0.0 
)
inline

Construct the Polynomial Kernel with the given offset and degree.

If the arguments are omitted, the default degree is 2 and the default offset is 0.

Parameters
offsetOffset of the dot product of the arguments.
degreeDegree of the polynomial.

Definition at line 48 of file polynomial_kernel.hpp.

Member Function Documentation

const double& mlpack::kernel::PolynomialKernel::Degree ( ) const
inline

Get the degree of the polynomial.

Definition at line 69 of file polynomial_kernel.hpp.

References degree.

double& mlpack::kernel::PolynomialKernel::Degree ( )
inline

Modify the degree of the polynomial.

Definition at line 71 of file polynomial_kernel.hpp.

References degree.

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

Simple evaluation of the dot product.

This evaluation uses Armadillo's dot() function.

Template Parameters
VecTypeType of vector (should be arma::vec or arma::spvec).
Parameters
aFirst vector.
bSecond vector.
Returns
K(a, b).

Definition at line 63 of file polynomial_kernel.hpp.

References degree, and offset.

const double& mlpack::kernel::PolynomialKernel::Offset ( ) const
inline

Get the offset of the dot product of the arguments.

Definition at line 74 of file polynomial_kernel.hpp.

References offset.

double& mlpack::kernel::PolynomialKernel::Offset ( )
inline

Modify the offset of the dot product of the arguments.

Definition at line 76 of file polynomial_kernel.hpp.

References offset.

Member Data Documentation

double mlpack::kernel::PolynomialKernel::degree
private

The degree of the polynomial.

Definition at line 80 of file polynomial_kernel.hpp.

Referenced by Degree(), and Evaluate().

double mlpack::kernel::PolynomialKernel::offset
private

The offset of the dot product of the arguments.

Definition at line 82 of file polynomial_kernel.hpp.

Referenced by Evaluate(), and Offset().


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