Class NelderMeadTraining

  • All Implemented Interfaces:

    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 (
    • Constructor Detail

      • NelderMeadTraining

        public NelderMeadTraining(BasicNetwork network,                  MLDataSet training)
        Construct a Nelder Mead trainer with a step size of 100.
        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.
        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()
        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.
        weights - The weights to use.
        The current error.
      • getMethod

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

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

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

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

SCaVis 2.0 © jWork.ORG