Get the entire book!
Introduction to Neural Networks with Java

Computers can process information considerably faster than human beings. Yet a computer is incapable of performing many of the same tasks that a human can easily perform. For processes that cannot easily be broken into a finite number of steps, a neural network can be an ideal solution.

The term neural network is usually meant to refer to artificial neural network. An artificial neural network attempts to simulate the real neural networks that are contained in the brains of all animals. Neural networks were introduced in the 1950’s and have experienced numerous setbacks, and have yet to deliver on the promise of simulating human thought.

Neural networks are constructed of neurons that form layers. Input is presented to the layers of neurons. If the input to a neuron is within the range that the neuron has been trained for, then the neuron will fire. When a neuron fires, a signal is sent to whatever layer of neurons, or their outputs, the firing neuron was connected to. These connections between neurons are called synapses. Java can be used to construct such a network.

One such neural network, which was written in Java, is Java Object Oriented Neural Engine (JOONE). JOONE is an open source library that can be used free of charge. Several of the chapters in this book will explain how to use the JOONE engine.

Neural networks must be trained and validated. A training set is usually split in half to give both a training and validation set. Training the neural network consists of running the neural network over the training data until the neural network learns to recognize the training set with a sufficiently low error rate. Validation begins when the neural network’s results are checked.

Just because a neural network can process the training data with a low error, does not mean that the neural network is trained and ready for use. Before the neural network should be placed into production use, the results from the neural network must be validated. Validation involves presenting the validation set to the neural network and comparing the actual results of the neural network with the anticipated results.

At the end of validation, the neural network is ready to be placed into production if the results from the validation set result in an error level that is satisfactory. If the results are not satisfactory, then the neural network will have to be retrained before the neural network is placed into production.

The future of artificial intelligence programming may reside with the quantum computer or perhaps something other than the neural network. The quantum computer promises to speed computing to levels that are unimaginable on today’s computer platforms.

Early attempts at flying machines attempted to model the bird. This was done because the bird was our only working model of flight. It was not until Wilbur and Orville Write broke from the model of nature, and created the first fixed wing aircraft that success in flight was finally achieved. Perhaps modeling AI programs after nature is analogous to modeling airplanes after birds, and a much better model than the neural network exists. Only the future will tell.


Copyright 2005 - 2010 by Heaton Research, Inc.. Heaton Research™ and Encog™ are trademarks of Heaton Research. Click here for copyright and trademark information.