GClasses

GClasses::GActivationFunction Class Reference

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>

Inheritance diagram for GClasses::GActivationFunction:
GClasses::GActivationAlgebraic GClasses::GActivationArcTan GClasses::GActivationBend GClasses::GActivationBiDir GClasses::GActivationGaussian GClasses::GActivationIdentity GClasses::GActivationLogistic GClasses::GActivationPiecewise GClasses::GActivationSinc GClasses::GActivationTanH

List of all members.

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 GActivationFunctionclone ()=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.)
GDomNodeserialize (GDom *pDoc)
 Serialize this object.

Static Public Member Functions

static GActivationFunctiondeserialize (GDomNode *pNode)
 Deserialize this object.

Detailed Description

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.


Member Function Documentation

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]
virtual double GClasses::GActivationFunction::inverse ( double  y) [pure virtual]
GDomNode* GClasses::GActivationFunction::serialize ( GDom pDoc)

Serialize this object.