C# Class xpidea.neuro.net.adaline.AdalineNetwork

Represents an Adaline network.
An adaptive linear element or Adaline, proposed by Widrow (1959, 1960), is a simple perceptron-like system that accomplishes classification by modifying weights in such a way as to diminish the mean squared error (MSE) at every iteration. The architecture of the Adaline is the simplest of all neural networks. It is a simple processing element capable of sorting a set of input patterns into two categories. It has an ability to learn through a supervised learning process. Although the Adaline works quite well for many applications, it is restrictd to a linear problem space. The input patterns in the Adaline's training set must be linearly separable; otherwise, the Adaline will never categorize all of the training patterns correctly even when it reaches the low point of the error surface paraboloid. However, the Adaline is guaranteed to reach its minimum error state since there are no obstacles along the error surface (like local minima) to interfere with the training process.Training occurs by repeatedly presenting sets of data composed of input patterns and their desired outputs. Learning occurs as the Adaline minimized the number of errors it makes when sorting the patterns into their correct categories. Once trained, the Adaline can categorize new inputs according to the experience it gained.
Inheritance: NeuralNetwork
Mostrar archivo Open project: AlexCherkasov/Neuro.NET Class Usage Examples

Protected Properties

Property Type Description
learningRate double

Public Methods

Method Description
AdalineNetwork ( ) : System.IO

Creates unitialized instance of Adaline network.

AdalineNetwork ( int aNodesCount, double learningRate ) : System.IO

Creates an instance of Adaline network.

AdalineNetwork ( string fileName ) : System.IO

Creates the network from a file.

Load ( BinaryReader binaryReader ) : void

Overridden.Loads network data from a binary stream.

Save ( BinaryWriter binaryWriter ) : void

Overridden.Saves the network to a binary stream.

SetValuesFromPattern ( Pattern pattern ) : void

Sets input values of the network from the pattern.

Train ( PatternsCollection patterns ) : void

Overridden.Performs network training. Here you write the code to train your network.

This method implementation is for reference only - You may want to implement your own method by overriding this one. This implementation will complete network training only after the network will produce correct output for all input patterns. Be advised that in this example network training will never complete if input patterns have non-linear character.

Protected Methods

Method Description
CreateNetwork ( ) : void

Overridden.Constructs network topology.

Creates nodes, links and connects nodes using created links.

GetInputNode ( int index ) : NeuroNode

Overridden.Retrieves an input node by its index.

GetInputNodesCount ( ) : int

Overridden.Returns number of Input nodes in the network.

GetNetworkType ( ) : NeuralNetworkType

Overridden.Returns type of the network.

Used for persistence purposes.

GetOutPutNodesCount ( ) : int

Overridden.Returns number of output nodes in the network.

GetOutputNode ( int index ) : NeuroNode

Overridden.Retrieves an output node by its index.

Private Methods

Method Description
GetAdalineNode ( ) : AdalineNode

Method Details

AdalineNetwork() public method

Creates unitialized instance of Adaline network.
public AdalineNetwork ( ) : System.IO
return System.IO

AdalineNetwork() public method

Creates an instance of Adaline network.
public AdalineNetwork ( int aNodesCount, double learningRate ) : System.IO
aNodesCount int Number of input nodes of the network.
learningRate double Learning rate.
return System.IO

AdalineNetwork() public method

Creates the network from a file.
public AdalineNetwork ( string fileName ) : System.IO
fileName string
return System.IO

CreateNetwork() protected method

Overridden.Constructs network topology.
Creates nodes, links and connects nodes using created links.
protected CreateNetwork ( ) : void
return void

GetInputNode() protected method

Overridden.Retrieves an input node by its index.
protected GetInputNode ( int index ) : NeuroNode
index int Node index
return NeuroNode

GetInputNodesCount() protected method

Overridden.Returns number of Input nodes in the network.
protected GetInputNodesCount ( ) : int
return int

GetNetworkType() protected method

Overridden.Returns type of the network.
Used for persistence purposes.
protected GetNetworkType ( ) : NeuralNetworkType
return NeuralNetworkType

GetOutPutNodesCount() protected method

Overridden.Returns number of output nodes in the network.
protected GetOutPutNodesCount ( ) : int
return int

GetOutputNode() protected method

Overridden.Retrieves an output node by its index.
protected GetOutputNode ( int index ) : NeuroNode
index int Node index.
return NeuroNode

Load() public method

Overridden.Loads network data from a binary stream.
public Load ( BinaryReader binaryReader ) : void
binaryReader System.IO.BinaryReader Binary stream reader.
return void

Save() public method

Overridden.Saves the network to a binary stream.
public Save ( BinaryWriter binaryWriter ) : void
binaryWriter System.IO.BinaryWriter Binary stream writer.
return void

SetValuesFromPattern() public method

Sets input values of the network from the pattern.
public SetValuesFromPattern ( Pattern pattern ) : void
pattern xpidea.neuro.net.patterns.Pattern Training pattern.
return void

Train() public method

Overridden.Performs network training. Here you write the code to train your network.
This method implementation is for reference only - You may want to implement your own method by overriding this one. This implementation will complete network training only after the network will produce correct output for all input patterns. Be advised that in this example network training will never complete if input patterns have non-linear character.
public Train ( PatternsCollection patterns ) : void
patterns xpidea.neuro.net.patterns.PatternsCollection Set of the patterns that will be exposed to a network during the training.
return void

Property Details

learningRate protected_oe property

Stores a learning rate value.
protected double learningRate
return double