AIMA.Core.Learning.Neural.LayerSensitivity.sensitivityMatrixFromErrorMatrix C# (CSharp) Method

sensitivityMatrixFromErrorMatrix() public method

public sensitivityMatrixFromErrorMatrix ( Vector errorVector ) : Matrix
errorVector AIMA.Core.Util.Math.Vector
return Matrix
	public Matrix sensitivityMatrixFromErrorMatrix(Vector errorVector) {
		Matrix derivativeMatrix = createDerivativeMatrix(layer
				.getLastInducedField());
		Matrix calculatedSensitivityMatrix = derivativeMatrix
				.times(errorVector).times(-2.0);
		sensitivityMatrix = calculatedSensitivityMatrix.copy();
		return calculatedSensitivityMatrix;
	}

Usage Example

Example #1
0
        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();
        }
All Usage Examples Of AIMA.Core.Learning.Neural.LayerSensitivity::sensitivityMatrixFromErrorMatrix