Matlab 神经网络函数预测

Matlab 神经网络函数预测,matlab,neural-network,Matlab,Neural Network,我正在尝试使用matlab提供的神经网络工具箱预测窦函数值 我需要网络能够基于两个或多个周期预测单个周期的函数值。我认为这不是很难,因为罪是简单的功能 不幸的是,我的人际网络似乎预测了除我预期之外的一切 这是我的密码: 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

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

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

不幸的是,我的人际网络似乎预测了除我预期之外的一切

这是我的密码:

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
。我遗漏了什么?

第一点是研究过程中的规范化(训练集的规范化)。我看不出你用了什么方法。另一个需要考虑的问题是测试集的规范化,我找不到您是如何将规范化应用于测试集的。还有一点需要考虑,您的测试集在训练集中根本并没有表示。我的意思是你在[0;20]范围内训练了网络,并检查了结果[21;25]。规范化将帮助您解决此问题。作为正常化的几个提示,我建议您考虑将学习值转换为弧度,并从[-1;1 ] < /P>中的弧度中缩放值。