00001 #ifndef CGENERALACTIVATIONFUNCTION_H 00002 #define CGENERALACTIVATIONFUNCTION_H 00003 00004 /** \addtogroup neuralnet Neural Network filtering */ 00005 /* @{ */ 00006 00007 //! The base class for all activation functions in neural network 00008 00009 /*! The activation function in a neural network node determines the type of 00010 * non-linearity between input and output. We have to implement the activation function 00011 * and its derivative. 00012 */ 00013 class GeneralActivationFunction 00014 { 00015 public: 00016 //! The function that maps between the weighted sum that's the input of the neuron and the output 00017 virtual double CalcOutput(const double input) = 0; 00018 //! The derivative of the function defined in CalcOutput 00019 virtual double CalcDeriv(const double input) = 0; 00020 GeneralActivationFunction(); 00021 virtual ~GeneralActivationFunction(); 00022 }; 00023 /* @} */ 00024 #endif // CGENERALACTIVATIONFUNCTION_H
1.5.5