我在 C++ 中创建了一个神经网络,用于近似加法函数y = x + y。我使用了一个带有 5 个神经元的隐藏层。x 和 y 的值在 0 和 10 的范围内。所以在训练之前,我通过最大值 (2x10) 对训练数据(输入和输出数据)进行了归一化。
在我的模型做出预测后(位于 0 和 1 之间),我通过将预测乘以 2x20 来反规范化预测。但是,我的结果仍然显示出一个转变。
即,如果结果 (y) 应该被预测为 8,我的网络给出 -12。同样,我得到的不是 1,而是 -19。为了纠正这种变化,我在我的预测值上加了 20。这就是我得到的:
忽略标题,f(x)= sin(x),其中,蓝色显示实际结果,红色显示预测值(我手动添加20后)
我的问题是:我的网络预测良好吗?“在结果中手动添加 20”是否正常?