BP神经网络matlab源程序代码_第1页
BP神经网络matlab源程序代码_第2页
BP神经网络matlab源程序代码_第3页
BP神经网络matlab源程序代码_第4页
BP神经网络matlab源程序代码_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

BP神经网络matlab源程序代码)%******************************%学习程序%******************************%%======原始数据输入========p=[284528334488;283344884554;448845542928;455429283497;292834972261;...349722616921;226169211391;692113913580;139135804451;358044512636;...445126363471;263634713854;347138543556;385435562659;355626594335;...265943352882;433528824084;433528821999;288219992889;199928892175;...288921752510;217525103409;251034093729;340937293489;372934893172;...348931724568;317245684015;]';%===========期望输出=======t=[4554292834972261692113913580445126363471385435562659...4335288240841999288921752510340937293489317245684015...3666];ptest=[284528334488;283344884554;448845542928;455429283497;292834972261;...349722616921;226169211391;692113913580;139135804451;358044512636;...445126363471;263634713854;347138543556;385435562659;355626594335;...265943352882;433528824084;433528821999;288219992889;199928892175;...288921752510;217525103409;251034093729;340937293489;372934893172;...348931724568;317245684015;456840153666]';[pn,minp,maxp,tn,mint,maxt]=premnmx(p,t);%将数据归一化NodeNum1=20;%隐层第一层节点数NodeNum2=40;%隐层第二层节点数TypeNum=1;%输出维数TF1='tansig';TF2='tansig';TF3='tansig';net=newff(minmax(pn),[NodeNum1,NodeNum2,TypeNum],{TF1TF2TF3},'traingdx');%网络创建traingdmnet.trainParam.show=50;net.trainParam.epochs=50000;%训练次数设置net.trainParam.goal=1e-5;%训练所要达到的精度net.trainParam.lr=0.01;%学习速率net=train(net,pn,tn);p2n=tramnmx(ptest,minp,maxp);%测试数据的归一化an=sim(net,p2n);[a]=postmnmx(an,mint,maxt)%数据的反归一化,即最终想得到的预测结果plot(1:length(t),t,'o',1:length(t)+1,a,'+');title('o表示预测值---*表示实际值')gridonm=length(a);%向量a的长度t1=[t,a(m)];error=t1-a;%误差向量figureplot(1:length(error),error,'-.')title('误差变化图')gridon中国振动联盟'sArchiver论坛›Matlab讨论区›BP神经网络输入向量和目标向量的格式问题wxywan368发表于2008-3-1511:46BP神经网络输入向量和目标向量的格式问题P=[-1,

-2,

3,

1;

-1,

1,

5,

-3];

%T为目标矢量

T=[-1,-1,1,1];

pause;

clc

%

创建一个新的前向神经网络

net=newff(minmax(P),[3,1],{'tansig','purelin'},'traingdm')

%

当前输入层权值和阈值

inputWeights=net.IW{1,1}

inputbias=net.b{1}

%

当前网络层权值和阈值

layerWeights=net.LW{2,1}

layerbias=net.b{2}

pause

clc

%

设置训练参数

net.trainParam.show=50;

net.trainParam.lr=0.05;

net.trainParam.mc=0.9;

net.trainParam.epochs=1000;

net.trainParam.goal=1e-3;

pause

clc

%

调用TRAINGDM算法训练BP网络

[net,tr]=train(net,P,T);

pause

clc

%

对BP网络进行仿真

A=sim(net,P)

%

计算仿真误差

E=T-A

MSE=mse(E)

pause

clc

echooff

上面这个程序运行没有问题,但是下面我把

按行向量写入输入向量P=[0.3459,0.3548,0.475,0.6691,0.6903;0.3595,0.3705,0.4932,0.6848,0.7302;0.3574,0.3688,0.4914

0.6809,0.7258;0.3592,0.3695,0.493,0.6846,0.7298;0.3198,0.3492,0.4554,0.65250.6486;0.345,0.3542,0.4731,0.6687,0.6899;0.3481,0.3579,0.4776,0.6742,0.6957;0.3626,0.4094,0.52150.7033,0.7915;0.3646,0.4114,0.5235,0.7079,0.7975;0.344,0.3525,0.4728,0.6646,0.6854]

目标向量Q=[206,34.5,7850,2600;226,38.5,7850,2600;206,34.5,7650,2500;226,34.5,7650,2500;186,30.5,

7850,2600;206,34.5,7450,2200;206,40.5,7450,2200;266,34.5,7850,2600;266,38.5,7850,2600;206,30.5,7450,2400]

输入向量为10x5矩阵,输出向量为10x4矩阵

当程序运行时,提示Matricesallhave1rows,请教下怎么实现上面输入与输出的bp实现。

望各位可以不吝赐教,先谢谢!F117_ren_0发表于2008-3-1618:32%

创建一个新的前向神经网络

net=newff(minmax(P),[3,1],{'tansig','purelin'},'traingdm')

%

当前输入层权值和阈值

inputWeights=net.IW{1,1}

inputbias=net.b{1}

你写的(3,1)你还指望能输出10*4的矩阵?

你写的代码有问题,输入和输出有问题.

[[i]本帖最后由F117_ren_0于2008-3-1618:35编辑[/i]]wxywan368发表于2008-3-1619:57问题找出来了,net=newff(minmax(P),[3,1],{'tansig','purelin'},'traingdm')

newff()为建立BP神经网络的函数,minmax(pn)表示样本数据经预处理后的网络输入pn的取值范围,[3,1]表示隐层节点数是3,输出层节点数是1,{'tansig','purelin'}表示隐含层中的神经元采用tansig转换函数,输出层采用purelin函数,'traingdm'表示选择的学习算法。

我的矩阵输出矩阵是10*4,输出层节点数应该为4,隐含层节点数可参考下式:m=(p+q)0.5+a,其中m为隐层节点数。隐层节点应该为1-10之间的常数,我更改为10.

还有楼上仁兄提出的输入和输出问题,后来经多方面查证,是我的矩阵没有做归一化处理,误差得不到收敛。最后对其进行归一化处理后,并把输出矩阵改成10*5,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论