mlpack
|
The simple polynomial kernel. More...
#include <polynomial_kernel.hpp>
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... | |
template<typename VecTypeA , typename VecTypeB > | |
double | Evaluate (const VecTypeA &a, const VecTypeB &b) const |
Simple evaluation of the dot product. More... | |
const double & | Degree () const |
Get the degree of the polynomial. | |
double & | Degree () |
Modify the degree of the polynomial. | |
const double & | Offset () const |
Get the offset of the dot product of the arguments. | |
double & | Offset () |
Modify the offset of the dot product of the arguments. | |
template<typename Archive > | |
void | serialize (Archive &ar, const uint32_t) |
Serialize the kernel. | |
The simple polynomial kernel.
For any two vectors \( x \), \( y \), \( degree \) and \( offset \),
\[ K(x, y) = (x^T * y + offset) ^ {degree}. \]
|
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.
offset | Offset of the dot product of the arguments. |
degree | Degree of the polynomial. |
|
inline |
Simple evaluation of the dot product.
This evaluation uses Armadillo's dot() function.
VecTypeA | Type of first vector (should be arma::vec or arma::sp_vec). |
VecTypeB | Type of second vector (arma::vec / arma::sp_vec). |
a | First vector. |
b | Second vector. |