This is the Lines problem from NeuroShell 1 which we have imported into NeuroShell 2. It is already trained to recognize line segment shapes.
In this problem we have taught NeuroShell to recognize which of 5 line shapes have been entered into the 10 input neurons. The shapes are Positive Slope (ascending), Negative Slope (descending), Zero Slope (horizontal), Concave Up, and Concave Down.
The 10 inputs contain the Y axis values corresponding to the X axis values of X=1, X=2, X=3, ... , X=10. There are three patterns for each of the 5 line shapes mentioned above, for a total of only 15. Use the Graphics module's Graph Variable Sets in a Pattern option to view these line shapes. The Y axis values range from 0 to 10.
There are 5 outputs, representing the 5 line shapes. The network was trained so that the appropriate shape category (output) was set to 10 if the input was that shape, and 0 if not.
This network was trained under NeuroShell 1 not even using Calibration, and yet it generalizes remarkably well considering there are only 3 exemplars for each shape in the Training file (.TRN). The Test set (.TST) contains several lines not in the training set, several of which have noise spikes or are ambiguous. The pattern file (.PAT) contains both sets of patterns. The network successfully recognizes the horizontal lines with noise spikes, and is somewhat unsure of itself (output activations are not very high) on those patterns which are indeed ambiguous.
Using Calibration, more patterns, and possibly other architectures like PNN, more robust networks are probably possible.
This same example is on the NeuroWindows Demo diskette done in PNN. In that example we found that horizontal lines were not recognized as well, so we left them out. However, the PNN network is capable of recognizing shapes very well after having been trained with only 1 exemplar of each!