【问题标题】:Neural network function forecasting神经网络功能预测
【发布时间】:2015-04-27 19:40:19
【问题描述】:

我正在尝试使用 matlab 提供的神经网络工具箱来预测 sinus 函数值。

我需要网络能够基于两个或多个周期预测单个周期的函数值。我认为这不是很难,因为 sin 是简单的函数。

不幸的是,我的网络似乎可以预测除我预期之外的一切。

这是我的代码:

x = 0:0.01:20;
y = sin(x);


net = fitnet(7);

net = init(net);

net.divideParam.trainRatio = 70/100;
net.divideParam.valRatio = 15/100;
net.divideParam.testRatio = 15/100;

net = train(net, x, y);


x = 21:0.01:25;
y = sin(x);

z = sim(net, x);

plot(x, [y; z]);

这是情节:

我尝试更改传递给fitnet 的参数并将netff 与各种参数一起使用。我错过了什么?

【问题讨论】:

    标签: matlab neural-network


    【解决方案1】:

    第一点是学习期间的归一化(normalization of training set)。我看不出,你以某种方式应用了它。另一个考虑点是测试集的规范化,我找不到你如何将规范化应用于测试集。还有一个考虑因素,您的测试集在训练集中根本没有表示。我的意思是您在 [0;20] 范围内训练了网络并检查了结果 [21;25]。规范化将帮助您解决此问题。由于很少有标准化的提示,我建议您考虑将研究值转换为弧度,并以 [-1;1] 为单位的弧度值进行缩放

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-02
      • 2013-05-12
      • 2012-05-06
      • 2017-12-28
      • 1970-01-01
      • 2018-01-20
      • 1970-01-01
      相关资源
      最近更新 更多