Contents

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