Esempio n. 1
0
 //Wsteczna propagacja dla warstwy output
 public void BackPropOutput(int layerNumber, int rowOfNeurons, List <double> outputs)
 {
     //Iterowanie po każdym neuronie w warstwie output
     for (int i = 0; i < layers[layerNumber].neurons.Count; i++)
     {
         //Obliczanie błędu dla każdego neurona
         errors[layerNumber][i] = (expectedResult[rowOfNeurons][i] - outputs[i]) *
                                  Function_Activation.DerivativeBipolar(layers[layerNumber].neurons[i].InputValue);
     }
 }
Esempio n. 2
0
        //Wsteczna propagacja dla warstwy ukrytej
        public void BackPropHidden(int layerNumber)
        {
            for (int i = 0; i < layers[layerNumber].neurons.Count; i++)
            {
                errors[layerNumber][i] = 0;

                //Iterowanie po każdym neuronie w warstwie kolejnej, czyli output
                for (int j = 0; j < layers[layerNumber + 1].neurons.Count; j++)
                {
                    errors[layerNumber][i] += errors[layerNumber + 1][j] * layers[layerNumber + 1].neurons[j].inputs[i].Weight;
                }
                errors[layerNumber][i] *= Function_Activation.DerivativeBipolar(layers[layerNumber].neurons[i].InputValue);
            }
        }
Esempio n. 3
0
 //Zwrócenie wartości output dla każdego inputu
 public void GetOutputValue()
 {
     InputValue  = Function_Input.WeightedSumInputFunction(inputs);
     OutputValue = Function_Activation.BipolarActivationFunction(InputValue);
 }