C# 클래스 Encog.Neural.Networks.Training.Competitive.BestMatchingUnit

The "Best Matching Unit" or BMU is a very important concept in the training for a SOM. The BMU is the output neuron that has weight connections to the input neurons that most closely match the current input vector. This neuron (and its "neighborhood") are the neurons that will receive training. This class also tracks the worst distance (of all BMU's). This gives some indication of how well the network is trained, and thus becomes the "error" of the entire network.
파일 보기 프로젝트 열기: encog/encog-silverlight-core 1 사용 예제들

공개 메소드들

메소드 설명
BestMatchingUnit ( CompetitiveTraining training ) : System

Construct a BestMatchingUnit class. The training class must be provided.

CalculateBMU ( ISynapse synapse, INeuralData input ) : int

Calculate the best matching unit (BMU). This is the output neuron that has the lowest Euclidean distance to the input vector.

CalculateEuclideanDistance ( ISynapse synapse, INeuralData input, int outputNeuron ) : double

Calculate the Euclidean distance for the specified output neuron and the input vector. This is the square root of the squares of the differences between the weight and input vectors.

Reset ( ) : void

Reset the "worst distance" back to a minimum value. This should be called for each training iteration.

메소드 상세

BestMatchingUnit() 공개 메소드

Construct a BestMatchingUnit class. The training class must be provided.
public BestMatchingUnit ( CompetitiveTraining training ) : System
training CompetitiveTraining The parent class.
리턴 System

CalculateBMU() 공개 메소드

Calculate the best matching unit (BMU). This is the output neuron that has the lowest Euclidean distance to the input vector.
public CalculateBMU ( ISynapse synapse, INeuralData input ) : int
synapse ISynapse The synapse to calculate for.
input INeuralData The input vector.
리턴 int

CalculateEuclideanDistance() 공개 메소드

Calculate the Euclidean distance for the specified output neuron and the input vector. This is the square root of the squares of the differences between the weight and input vectors.
public CalculateEuclideanDistance ( ISynapse synapse, INeuralData input, int outputNeuron ) : double
synapse ISynapse The synapse to get the weights from.
input INeuralData The input vector.
outputNeuron int The neuron we are calculating the distance for.
리턴 double

Reset() 공개 메소드

Reset the "worst distance" back to a minimum value. This should be called for each training iteration.
public Reset ( ) : void
리턴 void