org.encog.engine.network.activation
Class ActivationLOG

java.lang.Object
  extended by org.encog.engine.network.activation.ActivationLOG
All Implemented Interfaces:
Serializable, Cloneable, ActivationFunction

public class ActivationLOG
extends Object
implements ActivationFunction

An activation function based on the logarithm function. This type of activation function can be useful to prevent saturation. A hidden node of a neural network is said to be saturated on a given set of inputs when its output is approximately 1 or -1 "most of the time". If this phenomena occurs during training then the learning of the network can be slowed significantly since the error surface is very at in this instance.

Author:
jheaton
See Also:
Serialized Form

Constructor Summary
ActivationLOG()
          Construct the activation function.
 
Method Summary
 void activationFunction(double[] x, int start, int size)
          Implements the activation function.
 ActivationFunction clone()
           
 double derivativeFunction(double x)
          Calculate the derivative of the activation.
 String[] getParamNames()
          
 double[] getParams()
          
 boolean hasDerivative()
           
 void setParam(int index, double value)
          Set one of the params for this activation function.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ActivationLOG

public ActivationLOG()
Construct the activation function.

Method Detail

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:
activationFunction in interface ActivationFunction
Parameters:
x - The input array to the activation function.
start - The starting index.
size - The number of values to calculate.

clone

public final ActivationFunction clone()
Specified by:
clone in interface ActivationFunction
Overrides:
clone in class Object
Returns:
The object cloned.

derivativeFunction

public final double derivativeFunction(double x)
Calculate the derivative of the activation. It is assumed that the value d, which is passed to this method, was the output from this activation. This prevents this method from having to recalculate the activation, just to recalculate the derivative. The array is modified according derivative of the activation function being used. See the class description for more specific information on this type of activation function. Propagation training requires the derivative. Some activation functions do not support a derivative and will throw an error.

Specified by:
derivativeFunction in interface ActivationFunction
Parameters:
x - The input array to the activation function.
Returns:
The derivative.

getParamNames

public final String[] getParamNames()

Specified by:
getParamNames in interface ActivationFunction
Returns:
The names of the parameters.

getParams

public final double[] getParams()

Specified by:
getParams in interface ActivationFunction
Returns:
The params for this activation function.

hasDerivative

public final boolean hasDerivative()
Specified by:
hasDerivative in interface ActivationFunction
Returns:
Return true, log has a derivative.

setParam

public final void setParam(int index,
                           double value)
Set one of the params for this activation function.

Specified by:
setParam in interface ActivationFunction
Parameters:
index - The index of the param to set.
value - The value to set.


Copyright © 2011. All Rights Reserved.