C# 클래스 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)
상속: xpidea.neuro.net.adaline.AdalineNetwork
파일 보기 프로젝트 열기: AlexCherkasov/Neuro.NET

보호된 프로퍼티들

프로퍼티 타입 설명
columsCount int
currentIteration long
currentNeighborhoodSize int
finalLearningRate double
initialLearningRate double
initialNeighborhoodSize int
kohonenLayer ].NeuroNode[
neighborhoodReduceInterval int
rowsCount int
trainingIterations long
winnigCol int
winnigRow int

공개 메소드들

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

보호된 메소드들

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

메소드 상세

CreateNetwork() 보호된 메소드

Overridden.Constructs network topology.
protected CreateNetwork ( ) : void
리턴 void

Epoch() 공개 메소드

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

GetInputNode() 보호된 메소드

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

GetInputNodesCount() 보호된 메소드

Overridden.Returns number of nodes in input layer.
protected GetInputNodesCount ( ) : int
리턴 int

GetNetworkType() 보호된 메소드

Overridden.Returns xpidea.neuro.net.NeuralNetworkType.nntSON for SON network.
protected GetNetworkType ( ) : NeuralNetworkType
리턴 NeuralNetworkType

GetNodeError() 보호된 메소드

Overridden.Always returns 0. There is no output node.
protected GetNodeError ( ) : double
리턴 double

GetOutPutNodesCount() 보호된 메소드

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

GetOutputNode() 보호된 메소드

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

Learn() 공개 메소드

Overridden.Teaches the network.
public Learn ( ) : void
리턴 void

Load() 공개 메소드

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

Run() 공개 메소드

Overridden.Runs the network.
public Run ( ) : void
리턴 void

Save() 공개 메소드

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

SelfOrganizingNetwork() 공개 메소드

Constructs uninitialized instance of SON network. Used for persistance purposes.
public SelfOrganizingNetwork ( ) : System
리턴 System

SelfOrganizingNetwork() 공개 메소드

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

SelfOrganizingNetwork() 공개 메소드

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

SetNodeError() 보호된 메소드

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

Train() 공개 메소드

Overridden.Trains the network.
public Train ( PatternsCollection patterns ) : void
patterns xpidea.neuro.net.patterns.PatternsCollection
리턴 void

프로퍼티 상세

columsCount 보호되어 있는 프로퍼티

Number of colums in output layer.
protected int columsCount
리턴 int

currentIteration 보호되어 있는 프로퍼티

Current iteration.
protected long currentIteration
리턴 long

currentNeighborhoodSize 보호되어 있는 프로퍼티

Current neighborhood size.
protected int currentNeighborhoodSize
리턴 int

finalLearningRate 보호되어 있는 프로퍼티

Final learning rate.
protected double finalLearningRate
리턴 double

initialLearningRate 보호되어 있는 프로퍼티

Initial learning rate.
protected double initialLearningRate
리턴 double

initialNeighborhoodSize 보호되어 있는 프로퍼티

Initial neighborhood size.
protected int initialNeighborhoodSize
리턴 int

kohonenLayer 보호되어 있는 프로퍼티

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

neighborhoodReduceInterval 보호되어 있는 프로퍼티

Neighborhood reduce interval.
protected int neighborhoodReduceInterval
리턴 int

rowsCount 보호되어 있는 프로퍼티

Number of rows in output layer.
protected int rowsCount
리턴 int

trainingIterations 보호되어 있는 프로퍼티

Number of training iterations.
protected long trainingIterations
리턴 long

winnigCol 보호되어 있는 프로퍼티

Winning column in output layer.
protected int winnigCol
리턴 int

winnigRow 보호되어 있는 프로퍼티

Winning row in output layer.
protected int winnigRow
리턴 int