コード例 #1
0
        private double CalculateError(double[] outputs, double[] expected)  //For one line of data
        //Must Propagate() first
        {
            double[] squaredDifferenceArray = new double[outputs.Length];
            for (int i = 0; i < outputs.Length; i++)
            {
                squaredDifferenceArray[i] = Math.Pow(expected[i] - outputs[i], 2);
            }
            double avgSquaredDifference = NetMath.Sum(squaredDifferenceArray) / outputs.Length;

            return(avgSquaredDifference);
        }
コード例 #2
0
        private double GetDatasetError(Dataset dataset)
        {
            //Calculate average error for entire dataset
            double[] errors = new double[dataset.numOfDataPoints];

            for (int i = 0; i < dataset.numOfDataPoints; i++)
            {
                double[] inputs   = dataset.Inputs[i];
                double[] expected = dataset.Expected[i];
                double[] outputs  = OutVal(inputs);

                double error = CalculateError(outputs, expected);
                errors[i] = error;
            }
            double averageError = NetMath.Sum(errors) / dataset.numOfDataPoints;

            return(averageError);
        }