示例#1
0
文件: Map.cs 项目: j-keravica/som
 public void initialize()
 {
     Randomizer rand = new Randomizer();
     for (int i = 0; i < size;  i++)
     {
         for (int j = 0; j < size; j++)
         {
             lattice[i, j] = new Neuron(dim);
             lattice[i, j].Weights = rand.getRandomVector(dim);
         }
     }
 }
示例#2
0
文件: Program.cs 项目: j-keravica/som
        static void Main(string[] args)
        {
            Map map = new Map(10, 1128);
            map.initialize();

            TrainingSet trainingSet = new TrainingSet();
            trainingSet.prepare();

            Neuron n = new Neuron(1128);
            n.Weights = trainingSet.Set[2];
            Neuron winner = map.findWinner(n);

            Console.ReadLine();
        }
示例#3
0
文件: Map.cs 项目: j-keravica/som
 public Neuron findWinner(Neuron neuron)
 {
     double min = Double.MaxValue;
     Neuron winner = null;
     for (int i = 0; i < size; i++)
     {
         for (int j = 0; j < size; j++)
         {
             double distance = calculateDistance(neuron.Weights, lattice[i, j].Weights);
             if (distance < min)
             {
                 min = distance;
                 winner = lattice[i, j];
             }
         }
     }
     return winner;
 }