acceptNewBiasUpdate() public method

public acceptNewBiasUpdate ( Vector biasUpdate ) : void
biasUpdate AIMA.Core.Util.Math.Vector
return void
示例#1
0
        public void processError(Vector error)
        {
            Matrix weightUpdate = error.times(lastInput.transpose());

            layer.acceptNewWeightUpdate(weightUpdate);

            Vector biasUpdate = layer.getBiasVector().plus(error);

            layer.acceptNewBiasUpdate(biasUpdate);
        }
示例#2
0
        public static Vector calculateBiasUpdates(
            LayerSensitivity layerSensitivity, double alpha)
        {
            Layer  layer            = layerSensitivity.getLayer();
            Matrix biasUpdateMatrix = layerSensitivity.getSensitivityMatrix()
                                      .times(alpha).times(-1.0);

            Vector result = new Vector(biasUpdateMatrix.getRowDimension());

            for (int i = 0; i < biasUpdateMatrix.getRowDimension(); i++)
            {
                result.setValue(i, biasUpdateMatrix.get(i, 0));
            }
            layer.acceptNewBiasUpdate(result.copyVector());
            return(result);
        }
示例#3
0
        public Vector calculateBiasUpdates(LayerSensitivity layerSensitivity,
                                           double alpha, double momentum)
        {
            Layer  layer = layerSensitivity.getLayer();
            Matrix biasUpdateMatrixWithoutMomentum = layerSensitivity
                                                     .getSensitivityMatrix().times(alpha).times(-1.0);

            Matrix biasUpdateMatrixWithMomentum = layer.getLastBiasUpdateVector()
                                                  .times(momentum).plus(
                biasUpdateMatrixWithoutMomentum.times(1.0 - momentum));
            Vector result = new Vector(biasUpdateMatrixWithMomentum
                                       .getRowDimension());

            for (int i = 0; i < biasUpdateMatrixWithMomentum.getRowDimension(); i++)
            {
                result.setValue(i, biasUpdateMatrixWithMomentum.get(i, 0));
            }
            layer.acceptNewBiasUpdate(result.copyVector());
            return(result);
        }