ScaledConjugateGradient
org.encog.neural.networks.training.propagation.scg

Class ScaledConjugateGradient

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


    public class ScaledConjugateGradientextends Propagation
    This is a training class that makes use of scaled conjugate gradient methods. It is a very fast and efficient training algorithm.
    • Constructor Detail

      • ScaledConjugateGradient

        public ScaledConjugateGradient(ContainsFlat network,                       MLDataSet training)
        Construct a training class.
        Parameters:
        network - The network to train.
        training - The training data.
    • Method Detail

      • canContinue

        public boolean canContinue()
        This training type does not support training continue.
        Returns:
        Always returns false.
      • pause

        public TrainingContinuation pause()
        This training type does not support training continue.
        Returns:
        Always returns null.
      • resume

        public void resume(TrainingContinuation state)
        This training type does not support training continue.
        Parameters:
        state - Not used.
      • calculateGradients

        public void calculateGradients()
        Calculate the gradients. They are normalized as well.
        Overrides:
        calculateGradients in class Propagation
      • updateWeight

        public double updateWeight(double[] gradients,                  double[] lastGradient,                  int index)
        Update the weights.
        Specified by:
        updateWeight in class Propagation
        Parameters:
        gradients - The current gradients.
        lastGradient - The last gradients.
        index - The weight index being updated.
        Returns:
        The new weight value.

SCaVis 1.7 © jWork.org