关于BP神经网络出现的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于BP神经网络出现的问题相关的知识,希望对你有一定的参考价值。

%bp神经网络构建
P=[8 9 9 9 8 9 9 9 2 2 2 2 70;
6 9 9 7 0 0 0 1 1 2 2 0 31;
9 0 7 11 7 9 2 5 1 1 3 4 50;
8 5 0 8 7 7 9 7 1 1 2 4 51;
0 4 9 4 4 11 9 11 1 2 3 7 52;
9 14 1 10 5 1 10 6 1 1 3 4 56;
1 9 11 8 6 0 11 10 1 2 6 3 56;
7 0 0 0 9 9 9 6 1 1 1 4 40;
6 9 9 8 8 9 13 9 2 2 4 3 71;
10 9 4 5 8 9 11 2 2 1 3 7 58];
T=[0 1 2 3 4 5 6 7 8 9];
net=newff(minmax(P),[13,22 ,1],'tansig','tansig','purelin','trainscg','learngd');
%bp神经网络参数设置
net.trainParam.epochs=10000; %设置训练步数
net.trainParam.goal=0.000000001; %设置训练目标
net.trainParam.lr=0.3; %设置训练学习速率
net.trainParam.mc=0.5; %设置动量因子
%bp神经网络训练仿真保存
net=train(net,P,T);
sz=sim(net,P);
%save sznet net

??? Error using ==> network.train
Targets are incorrectly sized for network.
Matrix must have 13 columns.

Error in ==> Untitled at 60
net=train(net,P,T);

>>

p和t后面加个‘!你的p和t维数不对,这样输入不对了! 参考技术A p的列维数与T的列维数不一致。追问

能具体下么,初学BP网络,13个特征点识别字符用的

关于BP神经网络MATLAB程序

我是菜鸟,想求教一下,有几个问题,麻烦高手帮忙了
1、写MATLAB程序的时候,矩阵的一行代表一个样本还是一列代表一个样本?
2、能不能给出一个傻瓜型的程序,想用的时候改一下数据和参数改一下就行了?
3、net_1.trainParam.lr = 0.05;
net_1.trainParam.mc = 0.9; 是什么意思,这些参数是根据什么确定的?

1,我用的是matlab R2008,一列代表一个样本。其他版本的不知道
2,matlab中神经网络工具箱就已经很方便了,调用函数和修改参数就可以用了。
3,net_1.trainParam.lr代表学习速率,net_1.trainParam.mc则是动量系数。至于参数的确定,要看具体情况。
参考技术A 1.matlab不同版本好像对样本设置不太一样,你可以试试。我用过的是一行是一个样本。
2.有matlab第三方程序可以下载,只需要修改相关参数就可以实现神经网络的训练。也有相关的书籍已经出版了,好像是思科出的,可以参考。
3.神经网络训练本身是依靠人的经验的,这些参数的确定也是这样。当然要考虑训练样本的实际情况和你所要求的训练精度。具体参数的意义忘记了,可以参考思科的书看看。
参考技术B matlab编写bp神经网络很方便的,这个工作不用像编程序的c什么的那样还要编写算法。这个算法早已经在软件的库里提供了。你只要用一条语句就出来了。把参数,深度和节点固定的往里一代数就可以了。还有一点,注意最后结果的收敛性,神经网络发展一直是曲折前进的,为什么这样,现在不太给力,因为面临着一个收敛的问题,实现起来效果不好。这些程序网上有很多,你借一本基本的神经网络的书里面也有。望采纳。

以上是关于关于BP神经网络出现的问题的主要内容,如果未能解决你的问题,请参考以下文章

关于BP网络的一些总结

简单的RNN和BP多层网络之间的区别

优化预测基于matlab粒子群算法优化BP神经网络(多输入多输出)含Matlab源码 1418期

有关BP神经网络的编程问题,用matlab,希望大家指点一下,谢谢!

优化预测基于matlab粒子群算法优化BP神经网络预测含Matlab源码 F003期

在看了案例二中的BP神经网络训练及预测代码后,我开始不明白BP神经网络究竟能做啥了。。。 程序最后得到