To my Home Page
Robert J Morton
Personal Project
A Generic Multi-Layer Perceptron.
These are the design notes for my generic multi-layer perceptron program. Their purpose is to show my interest and involvement with neural networks.
See also some interesting applications of neural networks.

Multi-Layer Perceptron: What it is, what it's for, its strengths, how it works, the neuron, scaling, layers, internal structure, Data structure, declarations, generalisation, the skeletal function, the layers loop, input and output pointers, input weights, the neuron loop, the neuron sub-function, the complete 'C' function.

The MLP Neuron: Its Input Summation Function - Outline, precision, speed, loop optimisation, testing, conclusion, final solution. Its Non-linear (Sigmoid) Transfer Function - The formula, look-up table, linear interpolation, new version of Sigmoid(), prototyping in QuickBASIC, the 'C' version, SigGen()'s coding, Sigmoid()'s coding, test results. The Completed Neuron - Introduction, input summation, sigmoid function, the complete neuron, testing.

A Complete MLP Program: Command line, input arguments, argument validation, dynamic allocation, the .WTS file, the perceptron functions, input/output, training manager, main().

Training The Network: Training method, Output Error Vector, Output Error Function, Weight Adjustment, direction of adjustment, size of adjustment, Computing ðF/ðw, Output Error, Activation Error, Sigmoid Function, Summation Function, ðF/ðo for hidden neurons, ðF/ða for hidden neurons, a hidden neurone's inputs, ðF/ðw for hidden neurons, rationalisation, adjusting output weights, adjusting hidden weights, back-propagation, the training algorithm, data structure, training procedure, skeleton 'C' function, complete 'C' function, overview, input arguments, declarations, layer loop, pointers, neuron loop, priming the output errors, activation error, weight adjustments, priming the next layer, rearrangements, adding momentum, the enhanced 'C' function, overflow considerations.

In these notes, to get the most realistic results on HTML browsers, the Icelandic 'eth' has been used to denote the partial differential operator. Greek letters are spelt out in full, eg epsilon, neta.


This page's parent within this Web Site. About this Web Site. Its home page. Email its Author.