AForge.Neuro.Learning.ResilientBackpropagationLearning.ResilientBackpropagationLearning C# (CSharp) Метод

ResilientBackpropagationLearning() публичный Метод

Initializes a new instance of the ResilientBackpropagationLearning class.
public ResilientBackpropagationLearning ( ActivationNetwork network ) : System
network ActivationNetwork Network to teach.
Результат System
        public ResilientBackpropagationLearning( ActivationNetwork network )
        {
            this.network = network;

            int layersCount = network.Layers.Length;

            neuronErrors = new double[layersCount][];

            weightsDerivatives    = new double[layersCount][][];
            thresholdsDerivatives = new double[layersCount][];

            weightsPreviousDerivatives    = new double[layersCount][][];
            thresholdsPreviousDerivatives = new double[layersCount][];

            weightsUpdates    = new double[layersCount][][];
            thresholdsUpdates = new double[layersCount][];

            // initialize errors, derivatives and steps
            for ( int i = 0; i < network.Layers.Length; i++ )
            {
                Layer layer = network.Layers[i];
                int neuronsCount = layer.Neurons.Length;

                neuronErrors[i] = new double[neuronsCount];

                weightsDerivatives[i]         = new double[neuronsCount][];
                weightsPreviousDerivatives[i] = new double[neuronsCount][];
                weightsUpdates[i]             = new double[neuronsCount][];

                thresholdsDerivatives[i]         = new double[neuronsCount];
                thresholdsPreviousDerivatives[i] = new double[neuronsCount];
                thresholdsUpdates[i]             = new double[neuronsCount];

                // for each neuron
                for ( int j = 0; j < layer.Neurons.Length; j++ )
                {
                    weightsDerivatives[i][j]         = new double[layer.InputsCount];
                    weightsPreviousDerivatives[i][j] = new double[layer.InputsCount];
                    weightsUpdates[i][j]             = new double[layer.InputsCount];
                }
            }

            // intialize steps
            ResetUpdates( learningRate );
        }