QuickPropagation
org.encog.neural.networks.training.propagation.quick

Class QuickPropagation

  • All Implemented Interfaces:
    MLTrain, BatchSize, LearningRate, Train, MultiThreadable


    public class QuickPropagationextends Propagationimplements LearningRate
    QPROP is an efficient training method that is based on Newton's Method. QPROP was introduced in a paper: An Empirical Study of Learning Speed in Back-Propagation Networks" (Scott E. Fahlman, 1988) http://www.heatonresearch.com/wiki/Quickprop
    • Field Detail

    • Constructor Detail

      • QuickPropagation

        public QuickPropagation(ContainsFlat network,                MLDataSet training)
        Construct a QPROP trainer for flat networks. Uses a learning rate of 2.
        Parameters:
        network - The network to train.
        training - The training data.
      • QuickPropagation

        public QuickPropagation(ContainsFlat network,                MLDataSet training,                double theLearningRate)
        Construct a QPROP trainer for flat networks.
        Parameters:
        network - The network to train.
        training - The training data.
        theLearningRate - The learning rate. 2 is a good suggestion as a learning rate to start with. If it fails to converge, then drop it. Just like backprop, except QPROP can take higher learning rates.
    • Method Detail

      • canContinue

        public boolean canContinue()
        Specified by:
        canContinue in interface MLTrain
        Returns:
        True if the training can be paused, and later continued.
      • getLastDelta

        public double[] getLastDelta()
        Returns:
        The last delta values.
      • getLearningRate

        public double getLearningRate()
        Specified by:
        getLearningRate in interface LearningRate
        Returns:
        The learning rate, this is value is essentially a percent. It is the degree to which the gradients are applied to the weight matrix to allow learning.
      • isValidResume

        public boolean isValidResume(TrainingContinuation state)
        Determine if the specified continuation object is valid to resume with.
        Parameters:
        state - The continuation object to check.
        Returns:
        True if the specified continuation object is valid for this training method and network.
      • setLearningRate

        public void setLearningRate(double rate)
        Set the learning rate, this is value is essentially a percent. It is the degree to which the gradients are applied to the weight matrix to allow learning.
        Specified by:
        setLearningRate in interface LearningRate
        Parameters:
        rate - The learning rate.
      • getOutputEpsilon

        public double getOutputEpsilon()
        Returns:
        the outputEpsilon
      • getShrink

        public double getShrink()
        Returns:
        the shrink
      • setShrink

        public void setShrink(double s)
        Parameters:
        s - the shrink to set
      • setOutputEpsilon

        public void setOutputEpsilon(double theOutputEpsilon)
        Parameters:
        theOutputEpsilon - the outputEpsilon to set
      • initOthers

        public void initOthers()
        Perform training method specific init.
        Specified by:
        initOthers in class Propagation
      • updateWeight

        public double updateWeight(double[] gradients,                  double[] lastGradient,                  int index)
        Update a weight.
        Specified by:
        updateWeight in class Propagation
        Parameters:
        gradients - The gradients.
        lastGradient - The last gradients.
        index - The index.
        Returns:
        The weight delta.
      • setBatchSize

        public void setBatchSize(int theBatchSize)
        Do not allow batch sizes other than 0, not supported.
        Specified by:
        setBatchSize in interface BatchSize
        Overrides:
        setBatchSize in class Propagation
        Parameters:
        theBatchSize - The batch size.

SCaVis 1.7 © jWork.org