Class 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 Detail

      • 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 Detail

      • 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.