Counterpropagation Network

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.