Backpropagation and Feedforward neural networks

Training a neural network is an iterative process, which involves discovering values for its weights and its bias terms. These are used in conjunction with the input values to create outputs. After much iteration, the model is tested for the purposes of becoming a full production model that can be used to make predictions.

Training a neural network model is an iterative process, which is a key part of the Cross Industry Standard Process for Data Mining (CRISP-DM) as an integral part of the modeling phase. Training involves working out weights and bias values that lead the inputs towards the preferred output. As part of the training process, the model can be presented with the test data in order to evaluate its accuracy. This will help us to understand how well the model will perform when it is given new data, and we don't know the true output results.

During the training process, rows are presented to the neural network consecutively, one at a time. The weights associated with each input value are adjusted each time. Then, once all the rows from the training set are presented, the process starts again. During the model learning phase, the neural network adjusts the weights so that the cases are predicted by the correct output nodes.

The weights and functions in the hidden layer are readjusted so that the resulting findings are compared against the actual outputs. The error value is then fed back through the system, hence the name backpropagation. The middle layer is then adjusted to cater for the next inbound record.

Note

It should be noted that the same training set of data can be processed many times throughout the training process. Once this is deemed to be completed, the test data is presented to the network to see how well it performs.

Finally, it's crucial to split your data into training and test data. The training data sets an upper bound for the number of processing points in the hidden layer.

It would be strange, for example, if the number of points was greater than the number of training cases. It's possible to calculate the upper bound by using the number of training cases, and divide it by sum of the number of nodes in both the input and output layers in the network. Then, we take that result and divide it by a scaling factor between five and ten. If the data is less noisy, then it's possible to use a larger scaling factor. This process can help us to get a balance between training individual cases, and making the network inefficient to deal with new datasets.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset