public class BackPropagationStrategy implements IStrategy, Serializable { [...] public void updateWeightsAndBias(NeuralNetwork neuralNetwork, double[] inputs) { for (int i = neuralNetwork.getLayers().size() - 1; i >= 0; i--) { Layer layer = neuralNetwork.getLayers().get(i); for (Neuron neuron : layer.getNeurons()) { [...] Synapse bias = neuron.getBias(); double delta = learning * 1.0; bias.setWeight(bias.getWeight() + delta + this.momentum * bias.getDelta()); bias.setDelta(delta); } } } [...]
NeuralLayer l2 = (NeuralLayer) n2.getExtensionsAndNeuralLayersAndNeuralInputs().get( 3 ); assertEquals( l1.getNeurons().get( 4 ).getCons().get( 2 ).getWeight(), l2.getNeurons().get( 4 ).getCons().get( 2 ).getWeight(), 1e-9 ); assertEquals( weights[ ( inputfieldNames.length + 1 ) * 4 + 3 ], l2.getNeurons().get( 4 ).getCons().get( 2 ).getWeight(), 1e-9 );
NeuralLayer l2 = (NeuralLayer) n2.getExtensionsAndNeuralLayersAndNeuralInputs().get( 3 ); assertEquals( l1.getNeurons().get( 4 ).getCons().get( 2 ).getWeight(), l2.getNeurons().get( 4 ).getCons().get( 2 ).getWeight(), 1e-9 ); assertEquals( weights[ ( inputfieldNames.length + 1 ) * 4 + 3 ], l2.getNeurons().get( 4 ).getCons().get( 2 ).getWeight(), 1e-9 );