Class LearningFactorFunctionFactory
java.lang.Object
org.apache.commons.math3.ml.neuralnet.sofm.LearningFactorFunctionFactory
Factory for creating instances of
LearningFactorFunction.- Since:
- 3.3
-
Method Summary
Modifier and TypeMethodDescriptionstatic LearningFactorFunctionexponentialDecay(double initValue, double valueAtNumCall, long numCall) Creates an exponential decayfunction.static LearningFactorFunctionquasiSigmoidDecay(double initValue, double slope, long numCall) Creates an sigmoid-likeLearningFactorFunction function.
-
Method Details
-
exponentialDecay
public static LearningFactorFunction exponentialDecay(double initValue, double valueAtNumCall, long numCall) Creates an exponential decayfunction. It will computea e-x / b, wherexis the (integer) independent variable anda = initValueb = -numCall / ln(valueAtNumCall / initValue)
- Parameters:
initValue- Initial value, i.e.value(0).valueAtNumCall- Value of the function atnumCall.numCall- Argument for which the function returnsvalueAtNumCall.- Returns:
- the learning factor function.
- Throws:
OutOfRangeException- ifinitValue <= 0orinitValue > 1.NotStrictlyPositiveException- ifvalueAtNumCall <= 0.NumberIsTooLargeException- ifvalueAtNumCall >= initValue.NotStrictlyPositiveException- ifnumCall <= 0.
-
quasiSigmoidDecay
public static LearningFactorFunction quasiSigmoidDecay(double initValue, double slope, long numCall) Creates an sigmoid-likeLearningFactorFunction function. The functionfwill have the following properties:f(0) = initValuenumCallis the inflexion pointslope = f'(numCall)
- Parameters:
initValue- Initial value, i.e.value(0).slope- Value of the function derivative atnumCall.numCall- Inflexion point.- Returns:
- the learning factor function.
- Throws:
OutOfRangeException- ifinitValue <= 0orinitValue > 1.NumberIsTooLargeException- ifslope >= 0.NotStrictlyPositiveException- ifnumCall <= 0.
-