Guide to Neural Networks

An Idiot's Guide to Neural Networks

by Richard Bowles

If you use the 'Search' option on your browser to look for articles on Neural Networks or "Connectionism" (which is another name for the same subject), you will find a great many sites explaining what they are and how they work. Unfortunately, they all seem to be written by mathematicians, all of whom speak Double Dutch. This is fine, providing you speak fluent higher mathematics, but when I wanted to find out how they worked, I looked from a programmer's point of view. What I really wanted to find was program source code, but could I find any? I could not!

That's why I wrote this article. The whole thing is something of a hotch-potch - it was the first part of my web site that I wrote, and I have been adding bits to it occasionally ever since. Over the years, I have become familiar with different computer languages, and they have crept into this part of the site.

Every now and then, you will find snippets of Turbo Pascal source code (and even the occasional Java applet, complete with downloadable source code), and at the end there is a section containing whole Turbo Pascal and C++ programs, which you can download and compile on your own computer. I know Turbo Pascal isn't quite the sexiest computer language around, but it's what I grew up on, and it is fairly easy to understand, even for the non-Pascal user. Please do feel free to convert the programs into other formats such as Perl.

The guide does contain all the mathematical formulae, obviously, but if you find them sounding like gobbledy-gook, you can always cross-reference them with the program code itself - the whole thing is fully commented.

Feel free to set up links to this page!

Netman!


A Neural Network Constructor

This link leads to a web page that will construct a simple back-propagation network for you. You will need to specify how many inputs and outputs there are, and whether those inputs are check boxes () or text slots in which numbers can be typed. You then need to specify a set of training data for the network to use. Once the network has been trained (which may take quite a while, so think twice if you are on an expensive Internet connection!), you can save it in the form of a stand-alone web page.

Please note: I am informed that this constructor does not work with Mozilla Firefox (sorry!)


Acknowledgements

I would like to thank Phil Taylor for his help in checking through these pages and pointing out a few omissions. Also to the many other people - too many to be named individually - who commented on this guide, both favourably and unfavourably, and thereby helped to shape it.


Back to the topTop of the Page