org.encog.examples.neural.benchmark
Class FahlmanEncoder

java.lang.Object
  extended by org.encog.examples.neural.benchmark.FahlmanEncoder

public class FahlmanEncoder
extends Object

This example 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.


Field Summary
static boolean COMPL
           
static int HIDDEN_COUNT
           
static int INPUT_OUTPUT_COUNT
           
static int TRIES
           
 
Constructor Summary
FahlmanEncoder()
           
 
Method Summary
static void evaluate()
           
static org.encog.ml.data.MLDataSet generateTraining(int inputCount, boolean compl)
           
static void main(String[] args)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INPUT_OUTPUT_COUNT

public static final int INPUT_OUTPUT_COUNT
See Also:
Constant Field Values

HIDDEN_COUNT

public static final int HIDDEN_COUNT
See Also:
Constant Field Values

TRIES

public static final int TRIES
See Also:
Constant Field Values

COMPL

public static final boolean COMPL
See Also:
Constant Field Values
Constructor Detail

FahlmanEncoder

public FahlmanEncoder()
Method Detail

generateTraining

public static org.encog.ml.data.MLDataSet generateTraining(int inputCount,
                                                           boolean compl)

evaluate

public static void evaluate()

main

public static void main(String[] args)


Copyright © 2011. All Rights Reserved.