C# 클래스 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.
상속: NeuralNetwork
파일 보기 프로젝트 열기: AlexCherkasov/Neuro.NET 1 사용 예제들

보호된 프로퍼티들

프로퍼티 타입 설명
learningRate double

공개 메소드들

메소드 설명
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.

보호된 메소드들

메소드 설명
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.

비공개 메소드들

메소드 설명
GetAdalineNode ( ) : AdalineNode

메소드 상세

AdalineNetwork() 공개 메소드

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

AdalineNetwork() 공개 메소드

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.
리턴 System.IO

AdalineNetwork() 공개 메소드

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

CreateNetwork() 보호된 메소드

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

GetInputNode() 보호된 메소드

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

GetInputNodesCount() 보호된 메소드

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

GetNetworkType() 보호된 메소드

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

GetOutPutNodesCount() 보호된 메소드

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

GetOutputNode() 보호된 메소드

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

Load() 공개 메소드

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

Save() 공개 메소드

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

SetValuesFromPattern() 공개 메소드

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

Train() 공개 메소드

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.
리턴 void

프로퍼티 상세

learningRate 보호되어 있는 프로퍼티

Stores a learning rate value.
protected double learningRate
리턴 double