Class ExponentialDecayFunction

java.lang.Object
org.apache.commons.math3.ml.neuralnet.sofm.util.ExponentialDecayFunction

public class ExponentialDecayFunction extends Object
Exponential decay function: a e-x / b, where x is the (integer) independent variable.
Class is immutable.
Since:
3.3
  • Constructor Details

    • ExponentialDecayFunction

      public ExponentialDecayFunction(double initValue, double valueAtNumCall, long numCall)
      Creates an instance. It will be such that
      • a = initValue
      • b = -numCall / ln(valueAtNumCall / initValue)
      Parameters:
      initValue - Initial value, i.e. value(0).
      valueAtNumCall - Value of the function at numCall.
      numCall - Argument for which the function returns valueAtNumCall.
      Throws:
      NotStrictlyPositiveException - if initValue <= 0.
      NotStrictlyPositiveException - if valueAtNumCall <= 0.
      NumberIsTooLargeException - if valueAtNumCall >= initValue.
      NotStrictlyPositiveException - if numCall <= 0.
  • Method Details

    • value

      public double value(long numCall)
      Computes a e-numCall / b.
      Parameters:
      numCall - Current step of the training task.
      Returns:
      the value of the function at numCall.