12 #ifndef MLPACK_CORE_KERNELS_HYPERBOLIC_TANGENT_KERNEL_HPP 13 #define MLPACK_CORE_KERNELS_HYPERBOLIC_TANGENT_KERNEL_HPP 45 scale(scale), offset(offset)
59 template<
typename VecTypeA,
typename VecTypeB>
60 double Evaluate(
const VecTypeA& a,
const VecTypeB& b)
62 return tanh(scale * arma::dot(a, b) + offset);
66 double Scale()
const {
return scale; }
68 double&
Scale() {
return scale; }
71 double Offset()
const {
return offset; }
76 template<
typename Archive>
79 ar(CEREAL_NVP(scale));
80 ar(CEREAL_NVP(offset));
HyperbolicTangentKernel()
This constructor sets the default scale to 1.0 and offset to 0.0.
Definition: hyperbolic_tangent_kernel.hpp:34
Linear algebra utility functions, generally performed on matrices or vectors.
Definition: cv.hpp:1
Hyperbolic tangent kernel.
Definition: hyperbolic_tangent_kernel.hpp:28
The core includes that mlpack expects; standard C++ includes and Armadillo.
double Scale() const
Get scale factor.
Definition: hyperbolic_tangent_kernel.hpp:66
double Evaluate(const VecTypeA &a, const VecTypeB &b)
Evaluate the hyperbolic tangent kernel.
Definition: hyperbolic_tangent_kernel.hpp:60
double & Offset()
Modify offset for the kernel.
Definition: hyperbolic_tangent_kernel.hpp:73
void serialize(Archive &ar, const uint32_t)
Serialize the kernel.
Definition: hyperbolic_tangent_kernel.hpp:77
HyperbolicTangentKernel(double scale, double offset)
Construct the hyperbolic tangent kernel with custom scale factor and offset.
Definition: hyperbolic_tangent_kernel.hpp:44
double & Scale()
Modify scale factor.
Definition: hyperbolic_tangent_kernel.hpp:68
double Offset() const
Get offset for the kernel.
Definition: hyperbolic_tangent_kernel.hpp:71