Ejemplo n.º 1
0
        /// <summary>
        /// Obliczanie błędu
        /// </summary>
        /// <param name="trData">Dane treningowe</param>
        /// <returns>Macierz</returns>
        private double[,] ErrorCalculate(TrainingData trData)
        {
            double[,] y = MatrixHelper.ConvertToMatrix(trData.output);
            var ysim = Propagate(trData.input);

            return(MatrixHelper.MatrixSubstraction(y, ysim));
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Metoda propagacji - sporządza predykcję wektora wejściowego
 /// </summary>
 /// <param name="td"></param>
 /// <returns></returns>
 public double[,] Propagate(params double[] data)
 {
     trData = new TrainingData(data, new double[] { });
     double[,] inputData = MatrixHelper.ConvertToMatrix(trData.input);
     layerList[0].values = inputData;
     for (int i = 1; i < layerList.Length; i++)
     {
         inputData           = MatrixHelper.MatrixMultiply(inputData, layerList[i].perceptron.scalesMatrix);
         inputData           = ExecuteActivationFunction(inputData, layerList[i].perceptron.activationFunction);
         layerList[i].values = inputData;
     }
     return(inputData);
 }