声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2036|回复: 0

[人工智能] 采用神经网络为什么不能预测呢?

[复制链接]
发表于 2009-5-11 15:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
%---------------------------------------------------------
%选取1-400个数据
x=1:1:400
y=A(1:1:400)
%选取1-400,间隔为2的200个数据作为样本数据
x_train1=1:2:400
y_train1=A(1:2:400)
%选取2-400,间隔为2的200个数据作为测试数据
x_test1=2:2:400
y_test1=A(2:2:400)
%归一化
[x_train2,minp,maxp,y_train2,mint,maxt] = premnmx(x_train1',y_train1);
x_test1 = tramnmx(x_test1,minp,maxp);
y_test2 = tramnmx(y_test1,mint,maxt);
% 设置网络参数
net = newff(minmax(x_train1),[20 1],{'tansig' 'purelin'},'trainlm');
net.trainParam.show = 20;          % 训练显示间隔
net.trainParam.lr = 0.3;            % 学习步长 - traingd,traingdm
net.trainParam.mc = 0.95;           % 动量项系数 - traingdm,traingdx
net.trainParam.mem_reduc = 1;      % 分块计算Hessian矩阵(仅对Levenberg-Marquardt算法有效)
net.trainParam.epochs = 1000;       % 最大训练次数
net.trainParam.goal = 1e-8;         % 最小均方误差
net.trainParam.min_grad = 1e-20;    % 最小梯度
net.trainParam.time = inf;          % 最大训练时间
%---------------------------------------------------
% 训练
net = train(net,x_train2',y_train2');
%---------------------------------------------------
% 测试
y_test3 = sim(net,x_test1)
%---------------------------------------------------
% 反归一
y_test4 = postmnmx(y_test3,mint,maxt);
% 结果作图
plot(x_test1,y_test1,'r-',x_test1,y_test4,'b*')
bp_predict.jpg

data.txt

3.52 KB, 下载次数: 5

回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-29 17:30 , Processed in 0.058810 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表