A neural net is a machine learning technique. Neural networks are organised in layers each consisting of neurons or processing elements that are interconnected. The neurons or perceptrons compute a weighted sum of their inputs, generating an output. If the sum exceeds a certain threshold, for example outputting 1 if the sum is greater than the threshold value or a 0 if otherwise.

 

Figure 3 Illustration of a feed forward multi-layer perceptron

 

 

Figure 3 is an example of a neural net. As you can see it is multi-layered and is known as a feed forward perceptron. The first layer called the input layer contains neurons that represent the set of input variables. The output layer represents the output variable which is the actual effort required to complete the project. The connections between the neurons have weighted numerical inputs associated with them. These weightings are initially random but are adjusted as the perceptrons learn on the training set of past projects.

There a number of learning methods to train neural nets but the back propagation (back-prop) paradigm has emerged as the most popular training mechanism. The back-prop method works by measuring the difference between output and the observed output value. The values being calculated at the output layer are propagated to the previous layers and used for adjusting the connection weights.

Some research studies have reported that neural nets can out perform statistical models [KARUNANITHI] and [WITTIG & FINNIE]. The results produced by the Wittig and Finnie study which used a back-prop multi layer perceptron neural net produced very accurate results but the study indicated that a large training set was required. In contradiction a study performed by Samsom using an Albus multi layer perceptron. Using Boehm's dataset the results compare badly against the Wittig and Finnie results.

These inconsistent results lead us to believe that although there is an increasing popularity in this method. There are potential drawbacks which are indicated below:

Assessment of Neural Nets

* I have identified "Many different learning algorithms to choose from" as an advantage, This is subjective as this point could also be classified as a disadvantage. It may be hard for an estimator to determine which learning algorithm will give the best results for their problem.

A paper which examines the performance of neural nets in detail is by [SAMSOM]. The aim of the work described in this paper was to evaluate the use of an adaptive learning system for the construction of the neural net and compare it with the more traditional statistical techniques which are used in the COCOMO model. The COCOMO dataset was chosen for the project. Emphasising that a large dataset is required to train a neural net. The results produced were quite poor as indicated earlier, but without doubt there is need for further work in this field.

 


This page was last updated 12/3/97 Dan. Snell, Bournemouth University, Copyright. 1997