GClasses
|
The base class for activation functions. Typically, this are sigmoid-shaped functions used to "squash" the output of a network node. These are typically used in conjunction with the GNeuralNet class. More...
#include <GActivation.h>
Public Member Functions | |
virtual const char * | name ()=0 |
Returns the name of this activation function. | |
virtual double | squash (double x)=0 |
The activation function. | |
virtual double | derivative (double x)=0 |
The derivative of the activation function. | |
virtual double | inverse (double y)=0 |
The inverse of the activation function. (This function may throw an exception if the activation function cannot be inverted.) | |
virtual double | center ()=0 |
The center output value. This should return the value of squash(0.0). | |
virtual double | halfRange ()=0 |
The absolute difference between the max (or min) output value and the center. | |
virtual GActivationFunction * | clone ()=0 |
Returns a clone of this object. | |
virtual double | derivativeOfNet (double net, double activation) |
This computes the derivative of the net value. (Sometimes, such as with GActivationLogistic, it is more efficient to compute this from the activation value, so both are provided.) | |
GDomNode * | serialize (GDom *pDoc) |
Serialize this object. | |
Static Public Member Functions | |
static GActivationFunction * | deserialize (GDomNode *pNode) |
Deserialize this object. |
The base class for activation functions. Typically, this are sigmoid-shaped functions used to "squash" the output of a network node. These are typically used in conjunction with the GNeuralNet class.
virtual double GClasses::GActivationFunction::center | ( | ) | [pure virtual] |
The center output value. This should return the value of squash(0.0).
Implemented in GClasses::GActivationLogistic, GClasses::GActivationArcTan, GClasses::GActivationTanH, GClasses::GActivationAlgebraic, GClasses::GActivationIdentity, GClasses::GActivationBend, GClasses::GActivationBiDir, GClasses::GActivationPiecewise, GClasses::GActivationGaussian, and GClasses::GActivationSinc.
virtual GActivationFunction* GClasses::GActivationFunction::clone | ( | ) | [pure virtual] |
Returns a clone of this object.
Implemented in GClasses::GActivationLogistic, GClasses::GActivationArcTan, GClasses::GActivationTanH, GClasses::GActivationAlgebraic, GClasses::GActivationIdentity, GClasses::GActivationBend, GClasses::GActivationBiDir, GClasses::GActivationPiecewise, GClasses::GActivationGaussian, and GClasses::GActivationSinc.
virtual double GClasses::GActivationFunction::derivative | ( | double | x | ) | [pure virtual] |
The derivative of the activation function.
Implemented in GClasses::GActivationLogistic, GClasses::GActivationArcTan, GClasses::GActivationTanH, GClasses::GActivationAlgebraic, GClasses::GActivationIdentity, GClasses::GActivationBend, GClasses::GActivationBiDir, GClasses::GActivationPiecewise, GClasses::GActivationGaussian, and GClasses::GActivationSinc.
virtual double GClasses::GActivationFunction::derivativeOfNet | ( | double | net, |
double | activation | ||
) | [inline, virtual] |
This computes the derivative of the net value. (Sometimes, such as with GActivationLogistic, it is more efficient to compute this from the activation value, so both are provided.)
Reimplemented in GClasses::GActivationLogistic, GClasses::GActivationIdentity, and GClasses::GActivationPiecewise.
static GActivationFunction* GClasses::GActivationFunction::deserialize | ( | GDomNode * | pNode | ) | [static] |
Deserialize this object.
virtual double GClasses::GActivationFunction::halfRange | ( | ) | [pure virtual] |
The absolute difference between the max (or min) output value and the center.
Implemented in GClasses::GActivationLogistic, GClasses::GActivationArcTan, GClasses::GActivationTanH, GClasses::GActivationAlgebraic, GClasses::GActivationIdentity, GClasses::GActivationBend, GClasses::GActivationBiDir, GClasses::GActivationPiecewise, GClasses::GActivationGaussian, and GClasses::GActivationSinc.
virtual double GClasses::GActivationFunction::inverse | ( | double | y | ) | [pure virtual] |
The inverse of the activation function. (This function may throw an exception if the activation function cannot be inverted.)
Implemented in GClasses::GActivationLogistic, GClasses::GActivationArcTan, GClasses::GActivationTanH, GClasses::GActivationAlgebraic, GClasses::GActivationIdentity, GClasses::GActivationBend, GClasses::GActivationBiDir, GClasses::GActivationPiecewise, GClasses::GActivationGaussian, and GClasses::GActivationSinc.
virtual const char* GClasses::GActivationFunction::name | ( | ) | [pure virtual] |
Returns the name of this activation function.
Implemented in GClasses::GActivationLogistic, GClasses::GActivationArcTan, GClasses::GActivationTanH, GClasses::GActivationAlgebraic, GClasses::GActivationIdentity, GClasses::GActivationBend, GClasses::GActivationBiDir, GClasses::GActivationPiecewise, GClasses::GActivationGaussian, and GClasses::GActivationSinc.
virtual double GClasses::GActivationFunction::squash | ( | double | x | ) | [pure virtual] |
The activation function.
Implemented in GClasses::GActivationLogistic, GClasses::GActivationArcTan, GClasses::GActivationTanH, GClasses::GActivationAlgebraic, GClasses::GActivationIdentity, GClasses::GActivationBend, GClasses::GActivationBiDir, GClasses::GActivationPiecewise, GClasses::GActivationGaussian, and GClasses::GActivationSinc.