public void Mutate(double probability, double standardDeviation) { if (Playfield.RNG.NextDouble() < probability) { WeightsInputToHidden = WeightsInputToHidden.Add(RandomGaussian(0, standardDeviation)); } if (Playfield.RNG.NextDouble() < probability) { WeightsHiddenToOutput = WeightsHiddenToOutput.Add(RandomGaussian(0, standardDeviation)); } if (Playfield.RNG.NextDouble() < probability) { BiasHidden = BiasHidden.Add(RandomGaussian(0, standardDeviation)); } if (Playfield.RNG.NextDouble() < probability) { BiasOutput = BiasOutput.Add(RandomGaussian(0, standardDeviation)); } UpdateVisualization(); }
private void InitWeights() { //Randomize weights WeightsInputToHidden.Random(); WeightsHiddenToOutput.Random(); }