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
Afficher le fichier Open project: AlexCherkasov/Neuro.NET Class Usage Examples

Protected Properties

Свойство Type Description
learningRate double

Méthodes publiques

Méthode 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.

Méthodes protégées

Méthode 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

Méthode Description
GetAdalineNode ( ) : AdalineNode

Method Details

AdalineNetwork() public méthode

Creates unitialized instance of Adaline network.
public AdalineNetwork ( ) : System.IO
Résultat System.IO

AdalineNetwork() public méthode

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.
Résultat System.IO

AdalineNetwork() public méthode

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

CreateNetwork() protected méthode

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

GetInputNode() protected méthode

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

GetInputNodesCount() protected méthode

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

GetNetworkType() protected méthode

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

GetOutPutNodesCount() protected méthode

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

GetOutputNode() protected méthode

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

Load() public méthode

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

Save() public méthode

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

SetValuesFromPattern() public méthode

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

Train() public méthode

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.
Résultat void

Property Details

learningRate protected_oe property

Stores a learning rate value.
protected double learningRate
Résultat double