C# Class xpidea.neuro.net.son.SelfOrganizingNetwork

Implements the Self Organizing Network (SON).
The basic Self-Organizing Network can be visualized as a sheet-like neural-network array , the cells (or nodes) of which become specifically tuned to various input signal patterns or classes of patterns in an orderly fashion. The learning process is competitive and unsupervised, meaning that no teacher is needed to define the correct output (or actually the cell into which the input is mapped) for an input. In the basic version, only one map node (winner) at a time is activated corresponding to each input. The locations of the responses in the array tend to become ordered in the learning process as if some meaningful nonlinear coordinate system for the different input features were being created over the network (Kohonen, 1995c).The SOM was developed by Prof. Teuvo Kohonen in the early 1980s. The first application area of the SOM was speech recognition, or perhaps more accurately, speech-to-text transformation. (Timo Honkela)
Inheritance: xpidea.neuro.net.adaline.AdalineNetwork
Afficher le fichier Open project: AlexCherkasov/Neuro.NET

Protected Properties

Свойство Type Description
columsCount int
currentIteration long
currentNeighborhoodSize int
finalLearningRate double
initialLearningRate double
initialNeighborhoodSize int
kohonenLayer ].NeuroNode[
neighborhoodReduceInterval int
rowsCount int
trainingIterations long
winnigCol int
winnigRow int

Méthodes publiques

Méthode Description
Epoch ( int epoch ) : void

Overridden.Epoch - number of patterns that was exposed to a network during one training cycle.

Learn ( ) : void

Overridden.Teaches the network.

Load ( BinaryReader binaryReader ) : void

Overridden.Loads network data from the binary stream.

Run ( ) : void

Overridden.Runs the network.

Save ( BinaryWriter binaryWriter ) : void

Overridden.Stores network into to a binary stream.

SelfOrganizingNetwork ( ) : System

Constructs uninitialized instance of SON network. Used for persistance purposes.

SelfOrganizingNetwork ( int aInputNodesCount, int aRowCount, int aColCount, double aInitialLearningRate, double aFinalLearningRate, int aInitialNeighborhoodSize, int aNeighborhoodReduceInterval, long aTrainingIterationsCount ) : System

Constructs the network.

SelfOrganizingNetwork ( string fileName ) : System

Creates the network from a file.

Train ( PatternsCollection patterns ) : void

Overridden.Trains the network.

Méthodes protégées

Méthode Description
CreateNetwork ( ) : void

Overridden.Constructs network topology.

GetInputNode ( int index ) : NeuroNode

Overridden.Retrieves the input node by its index.

GetInputNodesCount ( ) : int

Overridden.Returns number of nodes in input layer.

GetNetworkType ( ) : NeuralNetworkType

Overridden.Returns xpidea.neuro.net.NeuralNetworkType.nntSON for SON network.

GetNodeError ( ) : double

Overridden.Always returns 0. There is no output node.

GetOutPutNodesCount ( ) : int

Overridden.Number of nodes in output layer. Always return 0 since there are no nodes as its have an Kohonen layer.

GetOutputNode ( int index ) : NeuroNode

Overridden.Returns an output node by its index.

SetNodeError ( double value ) : void

Overridden.Doesn't do anything. There is no output node.

Method Details

CreateNetwork() protected méthode

Overridden.Constructs network topology.
protected CreateNetwork ( ) : void
Résultat void

Epoch() public méthode

Overridden.Epoch - number of patterns that was exposed to a network during one training cycle.
public Epoch ( int epoch ) : void
epoch int
Résultat void

GetInputNode() protected méthode

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

GetInputNodesCount() protected méthode

Overridden.Returns number of nodes in input layer.
protected GetInputNodesCount ( ) : int
Résultat int

GetNetworkType() protected méthode

Overridden.Returns xpidea.neuro.net.NeuralNetworkType.nntSON for SON network.
protected GetNetworkType ( ) : NeuralNetworkType
Résultat NeuralNetworkType

GetNodeError() protected méthode

Overridden.Always returns 0. There is no output node.
protected GetNodeError ( ) : double
Résultat double

GetOutPutNodesCount() protected méthode

Overridden.Number of nodes in output layer. Always return 0 since there are no nodes as its have an Kohonen layer.
protected GetOutPutNodesCount ( ) : int
Résultat int

GetOutputNode() protected méthode

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

Learn() public méthode

Overridden.Teaches the network.
public Learn ( ) : void
Résultat void

Load() public méthode

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

Run() public méthode

Overridden.Runs the network.
public Run ( ) : void
Résultat void

Save() public méthode

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

SelfOrganizingNetwork() public méthode

Constructs uninitialized instance of SON network. Used for persistance purposes.
public SelfOrganizingNetwork ( ) : System
Résultat System

SelfOrganizingNetwork() public méthode

Constructs the network.
public SelfOrganizingNetwork ( int aInputNodesCount, int aRowCount, int aColCount, double aInitialLearningRate, double aFinalLearningRate, int aInitialNeighborhoodSize, int aNeighborhoodReduceInterval, long aTrainingIterationsCount ) : System
aInputNodesCount int Number of input nodes.
aRowCount int Number of rows in output layer.
aColCount int Number of colums in output layer.
aInitialLearningRate double Starting learning rate.
aFinalLearningRate double Ending learning rate.
aInitialNeighborhoodSize int Initial neighborhood size.
aNeighborhoodReduceInterval int Number of training iterations after neighborhood size will be reduced.
aTrainingIterationsCount long Number of training iterations.
Résultat System

SelfOrganizingNetwork() public méthode

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

SetNodeError() protected méthode

Overridden.Doesn't do anything. There is no output node.
protected SetNodeError ( double value ) : void
value double Error value.
Résultat void

Train() public méthode

Overridden.Trains the network.
public Train ( PatternsCollection patterns ) : void
patterns xpidea.neuro.net.patterns.PatternsCollection
Résultat void

Property Details

columsCount protected_oe property

Number of colums in output layer.
protected int columsCount
Résultat int

currentIteration protected_oe property

Current iteration.
protected long currentIteration
Résultat long

currentNeighborhoodSize protected_oe property

Current neighborhood size.
protected int currentNeighborhoodSize
Résultat int

finalLearningRate protected_oe property

Final learning rate.
protected double finalLearningRate
Résultat double

initialLearningRate protected_oe property

Initial learning rate.
protected double initialLearningRate
Résultat double

initialNeighborhoodSize protected_oe property

Initial neighborhood size.
protected int initialNeighborhoodSize
Résultat int

kohonenLayer protected_oe property

Represents the Kohonen layer as two-dimetional array of xpidea.neuro.net.NeuroNode.
protected NeuroNode[,] kohonenLayer
Résultat ].NeuroNode[

neighborhoodReduceInterval protected_oe property

Neighborhood reduce interval.
protected int neighborhoodReduceInterval
Résultat int

rowsCount protected_oe property

Number of rows in output layer.
protected int rowsCount
Résultat int

trainingIterations protected_oe property

Number of training iterations.
protected long trainingIterations
Résultat long

winnigCol protected_oe property

Winning column in output layer.
protected int winnigCol
Résultat int

winnigRow protected_oe property

Winning row in output layer.
protected int winnigRow
Résultat int