public void processError(FeedForwardNeuralNetwork network, Vector error) { // TODO calculate total error somewhere // create Sensitivity Matrices outputSensitivity.sensitivityMatrixFromErrorMatrix(error); hiddenSensitivity .sensitivityMatrixFromSucceedingLayer(outputSensitivity); // calculate weight Updates calculateWeightUpdates(outputSensitivity, hiddenLayer .getLastActivationValues(), learningRate, momentum); calculateWeightUpdates(hiddenSensitivity, hiddenLayer .getLastInputValues(), learningRate, momentum); // calculate Bias Updates calculateBiasUpdates(outputSensitivity, learningRate, momentum); calculateBiasUpdates(hiddenSensitivity, learningRate, momentum); // update weightsAndBiases outputLayer.updateWeights(); outputLayer.updateBiases(); hiddenLayer.updateWeights(); hiddenLayer.updateBiases(); }