Projects from year 1998 until NOW ... - Developed by AHYEEK

Tuesday, April 17, 2007

ADALINE TDL Neural Network Simulation In CSharp (C#)

Year: 16 Apr 2007
Programming Language: Microsoft .NET C#
Source code / Request for customization / Request a new custom made simulation, you can email to author : ahyeek@gmail.com
Simulation Application For Test: Download

As we know, neural network is a mathematic model that can be trained in order to "learn" certain information and able to perform some so called "intelligent" decision such as recognizing certain data pattern or understand certain object in a picture.

This Tapped Delay Line (TDL) neural network is using the previous value on a graph to train it and used to predict a furture value. Given points from a graph as (x1, y1), (x2, y2), .... , (x(n-1), y(n-1)), TDL Nnet with (n-1) delay step is able to predict (x(n), y(n)) by giving it the (n-1)previous values. For each iteration, the Neural Net will get trained again and again in real time by suplying the actual value to the Neural Net. Hence, we consider TDL is a real time neural network because the training mechanism can be done in real time.
When you try to run the simulation application, try to observe that the average error values will decrease when the iteration increase. You can try to use differerent data set and observe how the ADALINE TDL neural net perform its prediction. The weight values of the neural net will become stable while the error of prediction value is low. Observing that the predicted value (graph blue in color) is not overlap with the actual value (graph in yellow color) at the beginining. However, it will slowly overlap each and other after some iteration. This is because the neural net has been trained and recongnize the pattern of the given graph.

Please refer to the demonstration for further information. This demonstration has been implemented in Java 4 years back: ADALINE with TDL Neural Network model. But now, the author implement it again in 2 weeks time with some enhancement (using moving graph component - CSharp (C#) Control Component - Moving Graph Control) in C#.

You will observe the predicted values from the simulation will become more and more accurate after some iteration. The average error value will reduce while the iteration increase. The neural network will become more and more 'intelligent' in predicting the next value of the graph after it has been thought for some time. You can choose different graph set to test out the Nnet using the simulator. By noting down the result, you actually can compare what properties values of the neural net are the best setting for obtaining fastest and lowest error value. The "Delay Step" and "Learning Rate" are the properties that determine how fast the neural network are able to be trained and how accurate the predicted value.

No comments: