NelderMeadTraining
org.encog.neural.networks.training.nm

Class NelderMeadTraining

  • All Implemented Interfaces:
    MLTrain


    public class NelderMeadTrainingextends BasicTraining
    The Nelder-Mead method is a commonly used parameter optimization method that can be used for neural network training. It typically provides a good error rate and is relatively fast. Nelder-Mead must build a simplex, which is an n*(n+1) matrix of weights. If you have a large number of weights, this matrix can quickly overflow memory. The biggest enhancement that is needed for this trainer is to make use of multi-threaded code to evaluate the speed evaluations when training on a multi-core. This implementation is based on the source code provided by John Burkardt (http://people.sc.fsu.edu/~jburkardt/) http://people.sc.fsu.edu/~jburkardt/c_src/asa047/asa047.c
    • Constructor Detail

      • NelderMeadTraining

        public NelderMeadTraining(BasicNetwork network,                  MLDataSet training)
        Construct a Nelder Mead trainer with a step size of 100.
        Parameters:
        network - The network to train.
        training - The training set to use.
      • NelderMeadTraining

        public NelderMeadTraining(BasicNetwork network,                  MLDataSet training,                  double stepValue)
        Construct a Nelder Mead trainer with a definable step.
        Parameters:
        network - The network to train.
        training - The training data to use.
        stepValue - The step value. This value defines, to some degree the range of different weights that will be tried.
    • Method Detail

      • canContinue

        public boolean canContinue()
        Returns:
        True if the training can be paused, and later continued.
      • fn

        public double fn(double[] weights)
        Calculate the error for the neural network with a given set of weights.
        Parameters:
        weights - The weights to use.
        Returns:
        The current error.
      • getMethod

        public MLMethod getMethod()
        Get the current best machine learning method from the training.
        Returns:
        The best machine learningm method.
      • iteration

        public void iteration()
        Perform one iteration of training.
      • pause

        public TrainingContinuation pause()
        Pause the training to continue later.
        Returns:
        A training continuation object.
      • resume

        public void resume(TrainingContinuation state)
        Resume training.
        Parameters:
        state - The training continuation object to use to continue.

SCaVis 1.8 © jWork.org