AdvancedOCR.MarkingWeights.TrainCore C# (CSharp) Method

TrainCore() protected method

protected TrainCore ( Step downstream ) : void
downstream Step
return void
        protected override void TrainCore(Step downstream)
        {
            int inputIndex = 0;
            int definitionIndex = correctClass * InputLength;
            foreach (Step upstream in downstream.Upstream)
            {
                Debug.Assert(inputIndex + upstream.Length <= InputLength);
                for (int i = 0; i < upstream.Length; i++)
                {
                    double desiredState = ClassStateDefinitions[definitionIndex];

                    double firstDerivative = 2.0 * (upstream.Output[inputIndex] - desiredState);
                    upstream.ErrorDerivative[inputIndex] = firstDerivative;

                    inputIndex += 1;
                    definitionIndex += 1;
                }
            }
        }