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); } } }
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(); }
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; }