Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.joone.engine.extenders
Class SimulatedAnnealingExtender

    java.lang.Object
      org.joone.engine.extenders.LearnerExtender
          org.joone.engine.extenders.DeltaRuleExtender
              org.joone.engine.extenders.SimulatedAnnealingExtender

    public class SimulatedAnnealingExtender

extends DeltaRuleExtender

Simulated annealing (SA) refers to the process in which random or thermal noise in a system is systematically decreased over time so as to enhance the system's response. Basically the change of weights and biases in SA is defined as: dW = dw + (n)(r)(2^-kt), where dw is the weight / bias change produced by standard back propagation, n is a constant controlling the initial intensity of the noise, k is the decay constant,t is the generation counter and r is a random number.

Author:
  Boris Jansen

Constructor Summary
`SimulatedAnnealingExtender()` Creates a new instance of SimulatedAnnealingExtender

Method Summary
`double` | `getDelta(double[] currentGradientOuts, int j, double aPreviousDelta)` Computes the delta value for a bias.
`double` | `getDelta(double[] currentInps, int j, double[] currentPattern, int k, double aPreviousDelta)` Computes the delta value for a weight.
`double` | `getK()` Gets the noise decay constant.
`double` | `getN()` Gets the constant controlling the initial noise.
`protected double` | `getRandom()` Gets a random value between the random boundary.
`double` | `getRandomBoundary()` Gets the random number boundary.
`void` | `postBiasUpdate(double[] currentGradientOuts)` Gives extenders a change to do some post-computing after the biases are updated.
`void` | `postWeightUpdate(double[] currentPattern, double[] currentInps)` Gives extenders a change to do some post-computing after the weights are updated.
`void` | `preBiasUpdate(double[] currentGradientOuts)` Gives extenders a change to do some pre-computing before the biases are updated.
`void` | `preWeightUpdate(double[] currentPattern, double[] currentInps)` Gives extenders a change to do some pre-computing before the weights are updated.
`void` | `setK(double aK)` Sets the noise decay constant.
`void` | `setN(double aN)` Sets the constant controlling the initial noise.
`void` | `setRandomBoundary(double aBoundary)` Sets the noise decay constant.

Methods inherited from class org.joone.engine.extenders.LearnerExtender
`getLearner, isEnabled, setEnabled, setLearner`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SimulatedAnnealingExtender

    public SimulatedAnnealingExtender()

  Creates a new instance of SimulatedAnnealingExtender

Method Detail

### getDelta

    public double getDelta(double[] currentGradientOuts,
                           int j,
                           double aPreviousDelta)

  Description copied from class: `DeltaRuleExtender`
  Computes the delta value for a bias.

  Specified by:
    `getDelta` in class `DeltaRuleExtender`
  Parameters:
    `currentGradientOuts` - the back propagated gradients.
    `j` - the index of the bias.
    `aPreviousDelta` - a delta value calculated by a previous delta extender.

### getDelta

    public double getDelta(double[] currentInps,
                           int j,
                           double[] currentPattern,
                           int k,
                           double aPreviousDelta)

  Description copied from class: `DeltaRuleExtender`
  Computes the delta value for a weight.

  Specified by:
    `getDelta` in class `DeltaRuleExtender`
  Parameters:
    `currentInps` - the forwarded input.
    `j` - the input index of the weight.
    `currentPattern` - the back propagated gradients.
    `k` - the output index of the weight.
    `aPreviousDelta` - a delta value calculated by a previous delta extender.

### postBiasUpdate

    public void postBiasUpdate(double[] currentGradientOuts)

  Description copied from class: `LearnerExtender`
  Gives extenders a change to do some post-computing after the biases are updated.

  Specified by:
    `postBiasUpdate` in class `LearnerExtender`
  Parameters:
    `currentGradientOuts` - the back propagated gradients.

### postWeightUpdate

    public void postWeightUpdate(double[] currentPattern,
                                 double[] currentInps)

  Description copied from class: `LearnerExtender`
  Gives extenders a change to do some post-computing after the weights are updated.

  Specified by:
    `postWeightUpdate` in class `LearnerExtender`
  Parameters:
    `currentPattern` - the back propagated gradients.
    `currentInps` - the forwarded input.

### preBiasUpdate

    public void preBiasUpdate(double[] currentGradientOuts)

  Description copied from class: `LearnerExtender`
  Gives extenders a change to do some pre-computing before the biases are updated.

  Specified by:
    `preBiasUpdate` in class `LearnerExtender`
  Parameters:
    `currentGradientOuts` - the back propagated gradients.

### preWeightUpdate

    public void preWeightUpdate(double[] currentPattern,
                                double[] currentInps)

  Description copied from class: `LearnerExtender`
  Gives extenders a change to do some pre-computing before the weights are updated.

  Specified by:
    `preWeightUpdate` in class `LearnerExtender`
  Parameters:
    `currentPattern` - the back propagated gradients.
    `currentInps` - the forwarded input.

### getN

    public double getN()

  Gets the constant controlling the initial noise.

  Returns:
    the constant controlling the initial noise.

### setN

    public void setN(double aN)

  Sets the constant controlling the initial noise.

  Parameters:
    `aN` - the constant controlling the initial noise.

### getK

    public double getK()

  Gets the noise decay constant.

  Returns:
    the noise decay constant.

### setK

    public void setK(double aK)

  Sets the noise decay constant.

  Parameters:
    `aK` - the noise decay constant.

### getRandomBoundary

    public double getRandomBoundary()

  Gets the random number boundary.

  Returns:
    the random number boundary.

### setRandomBoundary

    public void setRandomBoundary(double aBoundary)

  Sets the noise decay constant.

  Parameters:
    `aK` - the noise decay constant.

### getRandom

    protected double getRandom()

  Gets a random value between the random boundary.

  Returns:
    a random value between the random boundary.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit Feedback to pmarrone@users.sourceforge.net