关于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
展开
 我来答
meng2235
推荐于2017-09-26 · TA获得超过1.4万个赞
知道大有可为答主
回答量:4585
采纳率:74%
帮助的人:3146万
展开全部

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函数。

追问

你好 我用的是r2014a的 newff这个函数已经obsolete了 而且 我 P 和 T 的列数是相同的

谢谢你 关于P,T 生成的建议。

追答

老版用法依然是兼容的,新版用法指的是newff函数的新用法,该函数依然存在。

net=newff(minmax(p),[S1,8],{'tansig','purelin'},'trainlm'); %老版用法
%net=newff(P,T,31,{'tansig','purelin'},'trainlm');%新版用法

归一化不是直接对原始的数据矩阵进行,而应先形成P、T矩阵,再分别归一化。

光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式