org.encog.engine.network.activation
Class ActivationGaussian
- java.lang.Object
-
- org.encog.engine.network.activation.ActivationGaussian
-
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, ActivationFunction
public class ActivationGaussian extends java.lang.Object implements ActivationFunction
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 implementation. 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 RBFNetwork class. The idea for this activation function was developed by Ken Stanley, of the University of Texas at Austin. http://www.cs.ucf.edu/~kstanley/- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor and Description ActivationGaussian()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description voidactivationFunction(double[] x, int start, int size)Implements the activation function.ActivationFunctionclone()doublederivativeFunction(double b, double a)Calculate the derivative.java.lang.StringgetFactoryCode()java.lang.StringgetLabel()java.lang.String[]getParamNames()double[]getParams()booleanhasDerivative()voidsetParam(int index, double value)Set one of the params for this activation function.
-
-
-
Method Detail
-
clone
public final ActivationFunction clone()
- Specified by:
clonein interfaceActivationFunction- Overrides:
clonein classjava.lang.Object- Returns:
- The object cloned.
-
hasDerivative
public final boolean hasDerivative()
- Specified by:
hasDerivativein interfaceActivationFunction- Returns:
- Return true, gaussian has a derivative.
-
activationFunction
public final void activationFunction(double[] x, int start, int size)Implements the activation function. The array is modified according to the activation function being used. See the class description for more specific information on this type of activation function.- Specified by:
activationFunctionin interfaceActivationFunction- Parameters:
x- The input array to the activation function.start- The starting index.size- The number of values to calculate.
-
derivativeFunction
public final double derivativeFunction(double b, double a)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.- Specified by:
derivativeFunctionin interfaceActivationFunction- Parameters:
b- The number to calculate the derivative of, the number "before" the activation function was applied.a- The number "after" an activation function has been applied.- Returns:
- The derivative.
-
getParamNames
public final java.lang.String[] getParamNames()
- Specified by:
getParamNamesin interfaceActivationFunction- Returns:
- The names of the parameters.
-
getParams
public final double[] getParams()
- Specified by:
getParamsin interfaceActivationFunction- Returns:
- The params for this activation function.
-
setParam
public final void setParam(int index, double value)Set one of the params for this activation function.- Specified by:
setParamin interfaceActivationFunction- Parameters:
index- The index of the param to set.value- The value to set.
-
getFactoryCode
public java.lang.String getFactoryCode()
- Specified by:
getFactoryCodein interfaceActivationFunction- Returns:
- The string for the Encog factory code. Return null if you do not care to be support for creating of your activation through factory.
-
getLabel
public java.lang.String getLabel()
- Specified by:
getLabelin interfaceActivationFunction- Returns:
- The human-friendly name for this activation
-
-
DMelt 3.0 © DataMelt by jWork.ORG