To achieve this, the MLP possesses a number of basic units called neurons [6], [7]. These neurons are arranged in layers in the same way that biological neurons are found in the human brain. The working rules of artificial neurons are also inspired on their biological counterparts. Basically, an artificial neuron computes the weighted sum of its inputs and applies a non- linear function to the result. Inputs for a neuron in a particular layer are the outputs of the neurons in the preceding layer. In the particular case of the first layer, inputs to each neuron are the inputs to the MLP itself. Conversely, outputs of the neurons in the last layer are the very outputs of the MLP.
The fact that every single neuron applies a non-linear function to the sum of its weighted inputs makes the MLP capable of representing complex functions. The weights applied to the inputs of each neuron represent the degrees of freedom of the MLP model. They are modified during the training phase, whereby sets of input vectors and their associated output vectors are sequentially presented to the MLP. The modification of the weights is automatically executed by the training algorithm so as to minimize the difference between a calculated output vector and the corresponding desired output vector. For this reason, MLP training is of supervised type, because reference values for the outputs must be known prior to starting the training phase. Most MLP training algorithms are derived from a basic procedure called Error Back Propagation [5], [6]. MLP training is an iterative procedure that possesses a few control parameters for evaluating convergence and deciding when to stop iterations.
After the training phase is completed, all MLP weights have a well-defined value that will not change in time (unless more training iterations are performed). In this moment, the MLP is ready for use in processing mode, where only input vectors are presented to it.
Besides the ability of constructing representations of complex functions just by processing pairs of input and output vectors (and thus without knowing the underlying analytical expressions), the MLP model offers the following advantages:
i) it is capable of producing a good output vector for an input vector that it never saw during the training phase (generalization ability), and
ii) CPU times required in processing mode are almost always negligible, making the MLP a suitable choice for online applications.