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

sensitivityMatrixFromSucceedingLayer() public method

public sensitivityMatrixFromSucceedingLayer ( LayerSensitivity nextLayerSensitivity ) : Matrix
nextLayerSensitivity LayerSensitivity
return Matrix
	public Matrix sensitivityMatrixFromSucceedingLayer(
			LayerSensitivity nextLayerSensitivity) {
		Layer nextLayer = nextLayerSensitivity.getLayer();
		Matrix derivativeMatrix = createDerivativeMatrix(layer
				.getLastInducedField());
		Matrix weightTranspose = nextLayer.getWeightMatrix().transpose();
		Matrix calculatedSensitivityMatrix = derivativeMatrix.times(
				weightTranspose).times(
				nextLayerSensitivity.getSensitivityMatrix());
		sensitivityMatrix = calculatedSensitivityMatrix.copy();
		return sensitivityMatrix;
	}

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::sensitivityMatrixFromSucceedingLayer