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); }
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); }