dLife Home Page

Package dlife.nn

Classes and interfaces that support the creation of neural networks.

See:
          Description

Interface Summary
Neuron Implemented by classes representing the Neurons that make up a NeuralNetwork.
NNDataFilter Implemented by objects that can be used to filter the inputs or outputs of a NeuralNetwork.
 

Class Summary
BipolarNeuron Implementation of a bipolar transfer function for a Neuron.
BoundFilter An NNDataFilter that bounds its input values to a a specified range.
CMACNeuralNetwork Implementation of a CMAC (Cerebellar Model Articulation Controller) Neural Network.
ElmanNeuralNetwork Implementation of a fully connected multi-layer Elman neural network.
FFBPNeuralNetwork Implementation of a fully connected multi-layer feed forward neural network with back propagation training.
FFNeuralNetwork Implementation of a fully connected multi-layer feed forward neural network.
NeuralNetwork Abstract base class that provides common functionality for a variety of neural networks.
NNDataSet A set of input/output pairs for evaluating or training a NeuralNetwork.
NNDataSetPair Represents an input/output pair for a NNDataSet.
NNResults The results of either training or evaluating a NeuralNetwork on a specific NNDataSet.
ShiftAndScaleFilter A NNDataFilter that shifts and then scales a data value.
SigmoidNeuron Implementation of a Sigmoid transfer function for a Neuron.
UnipolarNeuron Implementation of a unipolar transfer function for a Neuron.
 

Package dlife.nn Description

Classes and interfaces that support the creation of neural networks. This package provides classes that are sufficient for many basic neural network applications. It has also been designed so that it can be easily extended for more advanced applications. The text below describes the overall structure of the dlife.nn package and how its classes and interfaces interact. The examples.dlife.nn.adder package contains a working example that uses the dlife.nn package.

Overview:

The core of the dlife.nn package is formed by one class and one interface:

Filtering Inputs and Outputs:

The NNDataFilter interface is implemented by classes that filter the inputs to a network before they are propagated through the neurons and/or filter the outputs of the network before they are returned to the client code. For example, a filter on the output can be used to change a sigmoid output in the range [0...1] to the range [-1...1] that may be more suitable for a particular application. The dlife.nn package provides several implementations of the NNDataFilter interface: BoundFilter, ShiftAndScaleFilter.

Data Sets:

The NNDataSet class provide a convenient means for specifying a set of input/output pairs for evaluating or training a NeuralNetwork. The data for a NNDataSet can be read from a file or can be constructed manually using the methods of that class.

Evaluating a Network:

The evaluate method in the NeuralNetwork class provides a convenient way to evaluate the performance of the network. Given a NNDataSet this method will (optionally) display detailed information about the network's performance on each input/output pair and will return a NNResults object containing summary information about its overall performance on the data set.


dLife Home Page