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.