An activation function based on the Gaussian function. The output range is
between 0 and 1. This activation function is used mainly for the HyperNeat
A derivative is provided, so this activation function can be used with
propagation training. However, its primary intended purpose is for
HyperNeat. The derivative was obtained with the R statistical package.
If you are looking to implement a RBF-based neural network, see the
The idea for this activation function was developed by Ken Stanley, of
the University of Texas at Austin.
public final double derivativeFunction(double b,
Calculate the derivative. For performance reasons two numbers are provided.
First, the value "b" is simply the number that we would like to calculate
the derivative of.
Second, the value "a", which is the value returned by the activation function,
when presented with "b".
We use two values because some of the most common activation functions make
use of the result of the activation function. It is bad for performance to
calculate this value twice. Yet, not all derivatives are calculated this way.
By providing both the value before the activation function is applied ("b"),
and after the activation function is applied("a"), the class can be constructed
to use whichever value will be the most efficient.