Chapter I: Neural Net Overview

This chapter gives general information on neural networks. Besides the introduction of several neural net types, the different learning algorithms, suitable for the different net types, are also explained.


The chapter is divided into the following sections:

What are neural nets?

» The biological model: The human brain

» The components of a neural net

» What they can and where they fail


Types of neural nets

» Perceptron

» Multi-Layer-Perceptron

» Backpropagation

» Net Hopfield Net

» Kohonen Feature Map


The learning process

» What does "learning" mean refering to neural nets?

» Supervised and unsupervised learning

» Forwardpropagation

» Backpropagation

» Selforganization

Chapter II: Class Structure

This chapter shows the structure of the implemented classes. At the beginning you will find a description of object orientation, for I used this method to design the featured classes. After an overview of all classes and the relationships between them, each class will be explained in greater detail.


The chapter is divided into the following sections:

What is Object Orientation?

» Classes

» Objects

» Methods

» Encapsulation

» Inheritance

» Abstraction


The classes and their relationships


Neural Net classes

» Class NeuralNet

» Class BackpropagationNet

» Class KohonenFeatureMap


Common components

» Class Neuron

» Class NeuronLayer

» Class WeightMatrix


Net type specific components

» Class Pattern

» Class MapNeuron

» Class NeuronMatrix

» Class InputValue

» Class InputMatrix

Chapter III: Using the Classes

This chapter explains how to work with the implemented classes. First there are a few words about Java, the language I used to implement them. After a description of some basic aspects of Java, it is then shown how to use the neural network classes in your own programs.


The chapter is divided into the following sections:

Java = new ProgrammingLanguage()


Working with Java

» The look of a class

» Creating an object

» Invoking a method


Using the classes in your own programs

» Using the BackpropagationNet class

» The structure of a conversion file

» The structure of a pattern file

» Using the KohonenFeatureMap class

» Using the InputMatrix class

Chapter IV: Sample Applet

This chapter presents a Java applet that uses some of the implemented classes. The applet demonstrates a Kohonen Feature Map that learns to span itself over a given set of points in three-dimensional space. Several parameters of the neural net can be changed while the example is running.


You will find a more detailed description of the neural net's purpose and the applet's controls included in this page.

Appendix A: Glossary

This appendix explains expressions that are relevant in neural net theory. The chapters have several links to the entries on this page. Once you have been transferred to the glossary page that way, click the right mouse key and choose 'Back' to return to where you came from.


Note that you can jump directly to a specific letter using the links in this page's title bar instead of scrolling down the whole page.

Appendix B: Literature

This appendix shows the literature I used while developing. Listed are books and World Wide Web addresses, if a source is available online. As we all know, such addresses are changing sometimes. Due to that fact, I added the date of my last visit on a certain page.

Neural Net Components in an Object Oriented Class Structure