26 #ifndef MLPACK_METHODS_ANN_ACTIVATION_FUNCTIONS_SOFTPLUS_FUNCTION_HPP 27 #define MLPACK_METHODS_ANN_ACTIVATION_FUNCTIONS_SOFTPLUS_FUNCTION_HPP 52 static double Fn(
const double x)
54 const double val = std::log(1 + std::exp(x));
55 if (std::isfinite(val))
66 template<
typename InputType,
typename OutputType>
67 static void Fn(
const InputType& x, OutputType& y)
69 y.set_size(arma::size(x));
71 for (
size_t i = 0; i < x.n_elem; ++i)
81 static double Deriv(
const double y)
83 return 1.0 / (1 + std::exp(-y));
92 template<
typename InputType,
typename OutputType>
93 static void Deriv(
const InputType& y, OutputType& x)
95 x = 1.0 / (1 + arma::exp(-y));
104 static double Inv(
const double y)
106 const double val = std::log(std::exp(y) - 1);
107 if (std::isfinite(val))
118 template<
typename InputType,
typename OutputType>
119 static void Inv(
const InputType& y, OutputType& x)
121 x.set_size(arma::size(y));
123 for (
size_t i = 0; i < y.n_elem; ++i)
static void Deriv(const InputType &y, OutputType &x)
Computes the first derivatives of the softplus function.
static void Fn(const InputType &x, OutputType &y)
Computes the softplus function.
static void Inv(const InputType &y, OutputType &x)
Computes the inverse of the softplus function.
Linear algebra utility functions, generally performed on matrices or vectors.
static double Deriv(const double y)
Computes the first derivative of the softplus function.
The core includes that mlpack expects; standard C++ includes and Armadillo.
static double Fn(const double x)
Computes the softplus function.
The softplus function, defined by.
static double Inv(const double y)
Computes the inverse of the softplus function.