Beispiel #1
0
        internal INeuron CalculateBMU(IVector input)
        {
            INeuron bmu      = _matrix[0, 0];
            double  bestDist = input.EuclidianDistance(bmu.Weights);

            for (int i = 0; i < _width; i++)
            {
                for (int j = 0; j < _height; j++)
                {
                    var distance = input.EuclidianDistance(_matrix[i, j].Weights);
                    if (distance < bestDist)
                    {
                        bmu      = _matrix[i, j];
                        bestDist = distance;
                    }
                }
            }

            return(bmu);
        }