Neural Network Engine

Posted on April 10, 2009. Filed under: Programming | Tags: , , , , , |

I was bored. And decided to do something about it. It was long time i did something creative. I thought i should brush up on my programming. So, i took my mini-project(Character Recognition Software using Neural Networks), and decided to expand it, generalize it. I’m talking about neural networks. Neural Networks are amazing things. They mimic biological intelligence. And try to identify patterns and process signals the way living beings do.

The neural network that i used is a simple backpropagation neural network, with a single hidden layer. I created a neural network generating, training, and testing engine. It is graphical, and very easy to understand. Its made in VC++ 2008 Express Edition. My software is in it’s initial stage. So, obviously, there will be a lot of bugs in it. You can teach it to identify and/or classify input patterns. Right now, it’s V1.0.

In this version(V1.0), input patterns are Boolean. That is either 1, or 0. Outputs are real numbers. Graphical output is also used. I will try to allow real valued inputs in the open interval [0,1], in future versions.

And since it is demo version, there will not be any file opens/saves involved. All inputs are entered manually on all program loads.

As a simple example, i have included a screenshot of the software below. In this run, i taught the neural network to act as a virtual 2 to 4 binary decoder. In the figure, the engine has completed reading inputs, training of network, testing for one pattern, and has generated the output for that pattern. And the output you see here is for the input pattern = 1,0

0,0 — decodes to -> 1,0,0,0

0,1 — decodes to -> 0,1,0,0

1,0 — decodes to -> 0,0,1,0

1,1 — decodes to -> 0,0,0,1

Neural Network Engine

Neural Network Engine


Neural Network Info(Current version)

Type : Simple 3-layer back-propagation network

Threshold function used : Sigmoid function f(x)=1/(1+e^(-x)) 

Number of layers : Input+Hidden+Output = 3

Current Version’s Maximum Capacity : 300 nodes/layer

Compiler : VC++ 2008 Express Edition

Memory Allocation : Static

Default network values are of the one used in my character recognition software. You can change the values to suit your requirements, and press the ‘create’ , and ‘initialize’ button to create new network.


Make a Comment

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

2 Responses to “Neural Network Engine”

RSS Feed for Jais’  Weblog Comments RSS Feed

i want code using backprop with matab
34 classes 350 feature
my dataset 350 25500
label 25500 1

What the ****? Do you think im a code vending machine? Google might be better for you.

Where's The Comment Form?

Liked it here?
Why not try sites on the blogroll...

%d bloggers like this: