A Counterpropagation network is a method for supervised learning which can
be used for prediction.
Its architecture resembles the one of a Kohonen network, but in addition
to the cubic Kohonen layer (input layer) it has an additional layer, the
output layer. Thus, an input object consists of two parts, the m-dimensional
input vector (just as for a Kohonen network) plus a second k-dimensional
vector with the properties for the object.
During training the input layer is adapted as in a regular Kohonen network,
i.e., the winning neuron is determined only on the basis of the input values. In addition, the output layer
is also adapted which gives an opportunity to use the network for prediction. It should, however be emphasized
that the winning neuron is only determined on the basis of the input descriptors whereas the weights of both
the input and the output layer are adapted.
After training the network is able to classify a set of new structures due to their structural similarity.