注册 登录
编程论坛 Matlab

仿真误差大

带她去看海 发布于 2007-10-09 20:22, 1092 次点击

帮我看一下这个bp网络

//这是我写的bp程序,为什么在训练之后进行仿真的时候却差别超级大,这是为什么
//输入层神经节点为57个,输出曾节点为7个,隐层节点为9个,训练样本为55个;
//我把样本传上来
// 大家帮帮忙,看能不能帮我解决这个问题
sympin=dlmread('e:\sympin.txt',',');
%输入数据归一化
%pin=sympin';prestd(pp)';
pin=prestd(sympin)';
%目标矢量矩阵
sympout=dlmread('e:\sympout.txt',',');
pout=prestd(sympout)';
%建立网络结构
net1=newff(minmax(pin),[57,9,7],{'tansig','tansig','purelin'},'traingdm');
%net1=newff(minmax(pin),[57,5,7],{'tansig','tansig','purelin'},'traingdm');
%设置网络参数
net1.trainParam.show=50;
net1.trainParam.lr=0.2;
net1.trainParam.mc=0.1;
net1.trainParam.epochs=10000;
net1.trainParam.goal=1e-4;
%对网络进行训练
[net1,tr]=train(net1,pin,pout);

只有本站会员才能查看附件,请 登录

2 回复
#2
带她去看海2007-10-09 20:23

上面两个文件是训练样本

#3
带她去看海2007-10-09 22:37

不好意思
net1=newff(minmax(pin),[57,9,7],{'tansig','tansig','purelin'},'traingdm');
[57,9,7]这个地方我搞错了,还以为第一个是输入神经元节点个数,第二个是隐层神经元节点个数,第三个参数是输出神经元节点,刚查了一下资料,才了解前面两个参数是隐层节点个数,也就是说有两个荫层
呵呵
由于是刚学,所以~~~~~

1