1. A self-organizing neural network for classifying an input pattern signal having a plurality of elements, which comprises: a) input buffers, each having an input for receiving an element of the input pattern signal, and an output which provides a copy of the element of the input pattern signal; b) intermediate nodes, each having an input connected to an output of each input buffer via first signal lines, an output through which an intermediate output value is provided, and means for storing weighting factors; c) output nodes, each having inputs connected to an output of each intermediate node of a class via second signal lines, each output node determining a minimum value among output values from the intermediate nodes of the class, and each having an output through which a class signal is provided as an indication of an intermediate node which provided said minimum value, and further as an indication of the minimum value; and d) a self-organizing selector having first inputs connected to the outputs of the output nodes, a first output through which a response signal is provided to an external component, the response signal indicating the class of the intermediate node which provided the minimum value output, a second output through which a learning signal is provided to said intermediate nodes via third signal lines, and a second input adapted to receive a teaching signal from an external component, the teaching signal indicating a correct class for said input pattern signal, said self-organizing selector being responsive to said inputs so as to select a class for the input pattern signal, to compare the selected class to the correct class indicated by the teaching signal and, when the selected class is the same as the correct class, to generate a learning signal so that weighting factors of said intermediate node are modified based on said learning signal if a difference between the output value of the output node of the correct class and the output value for the output node which has a second smallest output value of all of the output nodes is below a predetermined threshold.