public void Adjust(IProposedNeuron prop, float learningRate) { Bias *= prop.AvgBiasProposal * learningRate; for (var weight = 0; weight < Weights.Length; weight++) { Weights[weight] *= prop.AvgWeightProposal[weight] * learningRate; } }
private void GenerateNetwork() { //create neurons var output = new FiringNeuron[Options.LayerStructure.Length, Options.MaxLayerDensity]; for (var layer = 1; layer < Options.LayerStructure.Length; layer++) { for (var neuron = 0; neuron < Options.LayerStructure[layer]; neuron++) { output[layer, neuron] = new FiringNeuron(new Coordinate(layer, neuron), Options.LayerStructure[layer - 1], new SigmoidActivationFunction()); } } NeuronLayers = output; _proposedNeurons = new IProposedNeuron[Options.LayerStructure.Length, Options.MaxLayerDensity]; }