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
VecTypeA
,
typename
VecTypeB
>
double Evaluate (const VecTypeA &a, const VecTypeB &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...

 
template
<
typename
Archive
>
void serialize (Archive &ar, const uint32_t)
 Serialize the kernel. 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 28 of file polynomial_kernel.hpp.

Constructor & Destructor Documentation

◆ 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 38 of file polynomial_kernel.hpp.

Member Function Documentation

◆ Degree() [1/2]

const double& Degree ( ) const
inline

Get the degree of the polynomial.

Definition at line 61 of file polynomial_kernel.hpp.

◆ Degree() [2/2]

double& Degree ( )
inline

Modify the degree of the polynomial.

Definition at line 63 of file polynomial_kernel.hpp.

◆ Evaluate()

double Evaluate ( const VecTypeA &  a,
const VecTypeB &  b 
) const
inline

Simple evaluation of the dot product.

This evaluation uses Armadillo's dot() function.

Template Parameters
VecTypeAType of first vector (should be arma::vec or arma::sp_vec).
VecTypeBType of second vector (arma::vec / arma::sp_vec).
Parameters
aFirst vector.
bSecond vector.
Returns
K(a, b).

Definition at line 55 of file polynomial_kernel.hpp.

◆ Offset() [1/2]

const double& Offset ( ) const
inline

Get the offset of the dot product of the arguments.

Definition at line 66 of file polynomial_kernel.hpp.

◆ Offset() [2/2]

double& Offset ( )
inline

Modify the offset of the dot product of the arguments.

Definition at line 68 of file polynomial_kernel.hpp.

◆ serialize()

void serialize ( Archive &  ar,
const uint32_t   
)
inline

Serialize the kernel.

Definition at line 72 of file polynomial_kernel.hpp.


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