GClasses
GClasses::GActivationBend Class Reference

This provides an alternative to using GActivationIdentity on the output layer for regression problems. It may add more power because it is non-linear, but like the identity function, its co-domain is the same as its domain. At very positive values, this is shaped like y=1.5*x. At very negative values, this is shaped like y=0.5*x. Around 0, it is shaped like y=x. More...

#include <GActivation.h>

Inheritance diagram for GClasses::GActivationBend:
GClasses::GActivationFunction

Public Member Functions

virtual double center ()
 Returns 0.0. More...
 
virtual GActivationFunctionclone ()
 See the comment for GActivationFunction::clone. More...
 
virtual double derivative (double x)
 Returns the derivative of the bend function. More...
 
virtual double halfRange ()
 Returns 10000. More...
 
virtual double identityBias ()
 Returns 0.0. More...
 
virtual double identityDiag ()
 Returns 1.0. More...
 
virtual double inverse (double y)
 Returns the inverse of the bend function. More...
 
virtual const char * name () const
 Returns the name of this activation function. More...
 
virtual double squash (double x)
 Returns the bend function of x. More...
 
- Public Member Functions inherited from GClasses::GActivationFunction
 GActivationFunction ()
 
virtual ~GActivationFunction ()
 
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.) More...
 
GDomNodeserialize (GDom *pDoc) const
 Serialize this object. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from GClasses::GActivationFunction
static GActivationFunctiondeserialize (GDomNode *pNode)
 Deserialize this object. More...
 

Detailed Description

This provides an alternative to using GActivationIdentity on the output layer for regression problems. It may add more power because it is non-linear, but like the identity function, its co-domain is the same as its domain. At very positive values, this is shaped like y=1.5*x. At very negative values, this is shaped like y=0.5*x. Around 0, it is shaped like y=x.

Member Function Documentation

virtual double GClasses::GActivationBend::center ( )
inlinevirtual

Returns 0.0.

Implements GClasses::GActivationFunction.

virtual GActivationFunction* GClasses::GActivationBend::clone ( )
inlinevirtual
virtual double GClasses::GActivationBend::derivative ( double  x)
inlinevirtual

Returns the derivative of the bend function.

Implements GClasses::GActivationFunction.

virtual double GClasses::GActivationBend::halfRange ( )
inlinevirtual

Returns 10000.

Implements GClasses::GActivationFunction.

virtual double GClasses::GActivationBend::identityBias ( )
inlinevirtual

Returns 0.0.

Implements GClasses::GActivationFunction.

virtual double GClasses::GActivationBend::identityDiag ( )
inlinevirtual

Returns 1.0.

Implements GClasses::GActivationFunction.

virtual double GClasses::GActivationBend::inverse ( double  y)
inlinevirtual

Returns the inverse of the bend function.

Implements GClasses::GActivationFunction.

virtual const char* GClasses::GActivationBend::name ( ) const
inlinevirtual

Returns the name of this activation function.

Implements GClasses::GActivationFunction.

virtual double GClasses::GActivationBend::squash ( double  x)
inlinevirtual

Returns the bend function of x.

Implements GClasses::GActivationFunction.