c++ - 用 C++ 实现的神经网络的可疑预测
问题描述
我在 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”是否正常?
解决方案
推荐阅读
- reactjs - 如何使用 React Router 获取通过 Route 传递的道具
- ruby-on-rails - 我得到了一个未定义的方法 `each' 用于 nil:NilClass | 尝试将帖子添加到用户个人资料
- jquery - 基于数组键的访问值
- javascript - 如何从数组中删除对象并将该数组与初始 for 循环一起使用?
- javascript - 2.5 MB .js 文件太大?无法从文件加载变量
- r - 总结其他变量
- javascript - 我尝试根据传递给函数的两个参数将字符串缩短两个字符。如何?
- python - 如何一次显示单个多维数组中的所有图像?
- mysql - 合并两个具有相同 ID 的数据库行
- openedge - 如果通过单击智能字段并在浏览器上显示具有相同的倍数,我如何获得一条记录?