Back Propagation Network

The back propagation network (BPN) is a typical supervised network composed of three hierarchical layers: the input, hidden, and output layers with $N$, $L$, and $M$ nodes, respectively. Each node in the hidden and output layers is fully connected to all nodes in the previous layer. As the BPN has two levels of learning takeing place at both the hidden and output layers, it is a much more powerful algorithm in comparison to the perceptron network which has only a single learning level, in the sense that it can handle more complicated nonlinear classification problems.

For example, in supervised classification, the number of output nodes $M$ can be set to be the same as the number of classes $C$, i.e., $M=C$, and the desired output for an input ${\bf x}$ belonging to class $c$ is ${\bf y}=[0,\cdots,0,1,0,\cdots,0]^T$, for all output nodes to output 0 except the c-th one which should output 1 (one-hot method).

threelayernet.gif

Based on the training set of $K$ pattern pairs $\{({\bf x}_1, {\bf y}_1),
\cdots, ({\bf x}_K, {\bf y}_K)\}$, where ${\bf x}_i$ is the input patterns and ${\bf y}_i$ is the desired response of the network corresponding the output, the two-level BPN network is trained in two phases:

The forward and backward passes discussed above are repeatedly carried out, each time for a sample pair $({\bf x}_k,\;{\bf y}_k)$ randomly selected from the training set, unti eventually the error is small enough for all $K$ sample paris, i.e., the actual output of the BPN is close enough to the desired output corresponding to the input.



Subsections