关于matlab中BP神经网络使用train函数的问题,求救,T.T
我已经设置了net.numInputs=3;但是不管我的输入矩阵P是3行6列还是6行3列,都提示我:错误使用network/train(line320)Numberofi...
我已经设置了 net.numInputs=3;
但是不管我的输入矩阵P是3行6列还是6行3列,都提示我:
错误使用 network/train (line 320)
Number of inputs does not match net.numInputs.
出错 test (line 28)
net = train(net,P,T);
哭了T T 展开
但是不管我的输入矩阵P是3行6列还是6行3列,都提示我:
错误使用 network/train (line 320)
Number of inputs does not match net.numInputs.
出错 test (line 28)
net = train(net,P,T);
哭了T T 展开
1个回答
展开全部
P、T矩阵均为一列为一个样本,因此P、T的列数必须相等,否则报错。你参考下别人的程序,我建议使用newff函数,不要弄得这么复杂。还有P、T的生成不需要那么复杂,只需要:
P(i,:)=YY(i:i+2);
附上newff函数的格式为:
net=newff(PR,[S1 S2 ...SN],{TF1 TF2...TFN},BTF,BLF,PF),函数newff建立一个可训练的前馈网络。输入参数说明:
PR:Rx2的矩阵以定义R个输入向量的最小值和最大值;
Si:第i层神经元个数;
TFi:第i层的传递函数,默认函数为tansig函数;
BTF:训练函数,默认函数为trainlm函数;
BLF:权值/阀值学习函数,默认函数为learngdm函数;
PF:性能函数,默认函数为mse函数。
追答
老版用法依然是兼容的,新版用法指的是newff函数的新用法,该函数依然存在。
net=newff(minmax(p),[S1,8],{'tansig','purelin'},'trainlm'); %老版用法
%net=newff(P,T,31,{'tansig','purelin'},'trainlm');%新版用法
归一化不是直接对原始的数据矩阵进行,而应先形成P、T矩阵,再分别归一化。
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询