public void GetErrorsOutputSignal() { //Arrange float[][] outputSignal = new float[][] { new float[] { 1 }, new float[] { 0 }, new float[] { 0 }, new float[] { 1 } }; float[][] actualSignal = new float[][] { new float[] { 1 }, new float[] { 0 }, new float[] { 0 }, new float[] { 1 } }; float[][] expected = new float[][] { new float[] { 0 }, new float[] { 0 }, new float[] { 0 }, new float[] { 0 } }; //Act var actual = NeuralMath.GetTotalLoss(outputSignal, actualSignal, LossFunc.MSE); //Assert for (int i = 0; i < expected.Length; i++) { for (int j = 0; j < expected[i].Length; j++) { Assert.AreEqual(expected[i][j], actual); } } }
public float CalculateError(float[][] inputSignals, float[][] expectedSignals) { var _outputSignals = OnActivationNeuralNet(inputSignals).OutputsSignalsPrevLayer; return(NeuralMath.GetTotalLoss(_outputSignals, expectedSignals, LossFunc)); }