求助,在用MATLAB做神经网络预测,出现了图中的情况,mes=0,这不科学吧。。求大神指点我在哪里出错了

跪谢啊!!!... 跪谢啊!!! 展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励30(财富值+成长值)
meng2235
2014-12-12 · TA获得超过1.4万个赞
知道大有可为答主
回答量:4585
采纳率:74%
帮助的人:3216万
展开全部
这根本就还没开始训练,迭代次数还是0呢。看看是不是代码没有写对,参考下面的用法。

%% BP算法
function Out=bpnet(p,t,p_test)
global S1
net=newff(minmax(p),[S1,size(t,1)],{'tansig','purelin'},'trainlm'); %trainlm训练函数最有效
%net=newff(p,t,31,{'tansig','purelin'},'trainlm');%新版用法
net.trainParam.epochs=1000;
net.trainParam.goal=0.00001;
net.trainParam.lr=0.01;
net=train(net,p,t);
Out=sim(net,p_test);
end
追问

这是我写的代码,可以帮我看看哪里错了吗。。谢谢了!

追答
  1. 可以用旧版的newff函数

  2. 试试trainlm这个算法

  3. 你的pn矩阵应该很大,怎么最后又用来测试了呢?

还可以看看归一化的方法:

在最新版的matlab里面共有两个归一化函数:mapminmax()和mapstd(),

各自的归一化格式如下:
[pn,ps]=mapminmax(P)或=mapstd(P) %P是输入向量
[tn, ts]=mapminmax(t)或=mapstd(t) %t 是目标向量
在训练完后,对测试样本归一化格式为:
pnt=mapminmax('apply',pt,ps)或=mapstd('apply',pt,ps)
仿真后反归一化格式则为:
out=mapminmax('reverse',An,ts)或=mapstd('reverse',An,ts);其中An为sim函数的输出

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式