Top Description Constructors Methods
org.apache.commons.math3.ml.neuralnet.sofm

public Class NeighbourhoodSizeFunctionFactory

extends Object
Class Inheritance
Imports
org.apache.commons.math3.ml.neuralnet.sofm.util.ExponentialDecayFunction, .QuasiSigmoidDecayFunction, org.apache.commons.math3.util.FastMath

Factory for creating instances of NeighbourhoodSizeFunction.
Since
3.3

Constructor Summary

AccessConstructor and Description
private
NeighbourhoodSizeFunctionFactory()

Class contains only static methods.

Method Summary

Modifier and TypeMethod and Description
public static NeighbourhoodSizeFunction

Returns:

the neighbourhood size function.
exponentialDecay
(final double
Initial value, i.e. value(0).
initValue
,
final double
Value of the function at numCall.
valueAtNumCall
,
final long
Argument for which the function returns valueAtNumCall.
numCall
)

Creates an exponential decay function.

public static NeighbourhoodSizeFunction

Returns:

the neighbourhood size function.
quasiSigmoidDecay
(final double
Initial value, i.e. value(0).
initValue
,
final double
Value of the function derivative at numCall.
slope
,
final long
Inflexion point.
numCall
)

Creates an sigmoid-like NeighbourhoodSizeFunction function.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

NeighbourhoodSizeFunctionFactoryback to summary
private NeighbourhoodSizeFunctionFactory()

Class contains only static methods.

Method Detail

exponentialDecayback to summary
public static NeighbourhoodSizeFunction exponentialDecay(final double initValue, final double valueAtNumCall, final long numCall)

Creates an exponential decay function. It will compute a e-x / b, where x is the (integer) independent variable and

  • a = initValue
  • b = -numCall / ln(valueAtNumCall / initValue)
Parameters
initValue:double

Initial value, i.e. value(0).

valueAtNumCall:double

Value of the function at numCall.

numCall:long

Argument for which the function returns valueAtNumCall.

Returns:NeighbourhoodSizeFunction

the neighbourhood size function.

Exceptions
NotStrictlyPositiveException:
  • if initValue <= 0.
  • if valueAtNumCall <= 0.
  • if numCall <= 0.
NumberIsTooLargeException:
if valueAtNumCall >= initValue.
quasiSigmoidDecayback to summary
public static NeighbourhoodSizeFunction quasiSigmoidDecay(final double initValue, final double slope, final long numCall)

Creates an sigmoid-like NeighbourhoodSizeFunction function. The function f will have the following properties:

  • f(0) = initValue
  • numCall is the inflexion point
  • slope = f'(numCall)
Parameters
initValue:double

Initial value, i.e. value(0).

slope:double

Value of the function derivative at numCall.

numCall:long

Inflexion point.

Returns:NeighbourhoodSizeFunction

the neighbourhood size function.

Exceptions
NotStrictlyPositiveException:
  • if initValue <= 0.
  • if numCall <= 0.
NumberIsTooLargeException:
if slope >= 0.