Documentation of 'org.joone.engine.extenders.SimulatedAnnealingExtender' Java class
SimulatedAnnealingExtender
org.joone.engine.extenders

Class 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.
    • Constructor Summary

      Constructors 
      Constructor and Description
      SimulatedAnnealingExtender()
      Creates a new instance of SimulatedAnnealingExtender
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      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.
      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 java.lang.Object

        equals, 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.

DataMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.