Documentation of 'org.encog.util.benchmark.EncoderTrainingFactory' Java class
EncoderTrainingFactory
org.encog.util.benchmark

Class EncoderTrainingFactory



  • public class EncoderTrainingFactory
    extends java.lang.Object
    This benchmark implements a Fahlman Encoder. Though probably not invented by Scott Fahlman, such encoders were used in many of his papers, particularly: "An Empirical Study of Learning Speed in Backpropagation Networks" (Fahlman,1988) It provides a very simple way of evaluating classification neural networks. Basically, the input and output neurons are the same in count. However, there is a smaller number of hidden neurons. This forces the neural network to learn to encode the patterns from the input neurons to a smaller vector size, only to be expanded again to the outputs. The training data is exactly the size of the input/output neuron count. Each training element will have a single column set to 1 and all other columns set to zero. You can also perform in "complement mode", where the opposite is true. In "complement mode" all columns are set to 1, except for one column that is 0. The data produced in "complement mode" is more difficult to train. Fahlman used this simple training data to benchmark neural networks when he introduced the Quickprop algorithm in the above paper.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method and Description
      static MLDataSet generateTraining(int inputCount, boolean compl)
      Generate an encoder training set over the range [0.0,1.0].
      static MLDataSet generateTraining(int inputCount, boolean compl, double min, double max)
      Generate an encoder over the specified range.
      static MLDataSet generateTraining(int inputCount, boolean compl, double inputMin, double inputMax, double outputMin, double outputMax) 
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • EncoderTrainingFactory

        public EncoderTrainingFactory()
    • Method Detail

      • generateTraining

        public static MLDataSet generateTraining(int inputCount,
                                                 boolean compl)
        Generate an encoder training set over the range [0.0,1.0]. This is the range used by Fahlman.
        Parameters:
        inputCount - The number of inputs and outputs.
        compl - True if the complement mode should be use.
        Returns:
        The training set.
      • generateTraining

        public static MLDataSet generateTraining(int inputCount,
                                                 boolean compl,
                                                 double min,
                                                 double max)
        Generate an encoder over the specified range.
        Parameters:
        inputCount - The number of inputs and outputs.
        compl - True if the complement mode should be use.
        min - The minimum value to use(i.e. 0 or -1)
        max - The maximum value to use(i.e. 1 or 0)
        Returns:
        The training set.
      • generateTraining

        public static MLDataSet generateTraining(int inputCount,
                                                 boolean compl,
                                                 double inputMin,
                                                 double inputMax,
                                                 double outputMin,
                                                 double outputMax)

DMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.