(完整版)BP神经网络matlab实例(简单而经典).doc
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
p=p1';t=t1';
[pn,minp,maxp,tn,mint,maxt]=premnmx(p,t); % 原始数据归一化
net=newff(minmax(pn),[5,1],{'tansig','purelin'},'traingdx'); %设置网络,建立相应的BP 网络net.trainParam.show=2000; % 训练网络
net.trainParam.lr=0.01;
net.trainParam.epochs=100000;
net.trainParam.goal=1e-5;
[net,tr]=train(net ,pn,tn); %调用TRAINGDM 算法训练BP 网络
pnew=pnew1';
pnewn=tramnmx(pnew,minp,maxp);
anewn=sim(net,pnewn);
anew=postmnmx(anewn,mint,maxt); %对 BP 网络进行仿真%还原数据
y=anew';
1、 BP 网络构建
(1)生成 BP 网络
net newff ( PR,[ S1 S2...SNl],{ TF1 TF 2...TFNl }, BTF , BLF , PF ) PR :由R 维的输入样本最小最大值构成的R 2 维矩阵。
[ S1 S2...SNl] :各层的神经元个数。
{TF 1 TF 2...TFNl } :各层的神经元传递函数。
BTF :训练用函数的名称。
(2)网络训练
[ net,tr ,Y, E, Pf , Af ] train (net, P, T , Pi , Ai ,VV , TV )
(3)网络仿真
[Y, Pf , Af , E, perf ] sim(net, P, Pi , Ai ,T )
{'tansig','purelin'},'trainrp'
BP 网络的训练函数
训练方法
梯度下降法
有动量的梯度下降法
自适应 lr 梯度下降法
自适应 lr 动量梯度下降法弹性梯度下降法训练函数traingd traingdm traingda traingdx trainrp
Fletcher-Reeves 共轭梯度法traincgf Ploak-Ribiere 共轭梯度法traincgp
Powell-Beale 共轭梯度法traincgb 量化共轭梯度法trainscg 拟牛顿算法trainbfg 一步正割算法trainoss Levenberg-Marquardt trainlm
BP 网络训练参数
训练参数
net.trainParam.epochs
net.trainParam.goal net.trainParam.lr
net.trainParam.max_fail net.trainParam.min_grad net.trainParam.show net.trainParam.time
net.trainParam.mc net.trainParam.lr_inc 参数介绍
最大训练次数(缺省为10)
训练要求精度(缺省为0)
学习率(缺省为0.01 )
最大失败次数(缺省为5)
最小梯度要求(缺省为
1e-10)
显示训练迭代过程( NaN 表示
不显示,缺省为 25)
最大训练时间(缺省为inf )
动量因子(缺省0.9)
学习率lr增长比(缺省为
1.05)
训练函数
traingd 、traingdm 、traingda 、
traingdx 、 trainrp 、 traincgf 、
traincgp 、traincgb 、trainscg、
trainbfg 、 trainoss、 trainlm
traingd 、traingdm 、traingda 、
traingdx 、 trainrp 、 traincgf 、
traincgp 、traincgb 、trainscg、
trainbfg 、 trainoss、 trainlm
traingd 、traingdm 、traingda 、
traingdx 、 trainrp 、 traincgf 、
traincgp 、traincgb 、trainscg、
trainbfg 、 trainoss、 trainlm
traingd 、traingdm 、traingda 、
traingdx 、 trainrp 、 traincgf 、
traincgp 、traincgb 、trainscg、
trainbfg 、 trainoss、 trainlm
traingd 、traingdm 、traingda 、
traingdx 、 trainrp 、 traincgf 、
traincgp 、traincgb 、trainscg、
trainbfg 、 trainoss、 trainlm
traingd 、traingdm 、traingda 、
traingdx 、 trainrp 、 traincgf 、
traincgp 、traincgb 、trainscg、
trainbfg 、 trainoss、 trainlm
traingd 、traingdm 、traingda 、
traingdx 、 trainrp 、 traincgf 、
traincgp 、traincgb 、trainscg、
trainbfg 、 trainoss、 trainlm
traingdm 、 traingdx traingda 、
traingdx
net.trainParam.lr_dec 学习率 lr 下降比(缺省为 0.7) traingda 、 traingdx
net.trainParam.max_perf_inc 表现函数增加最大比(缺省traingda 、 traingdx
为 1.04)
net.trainParam.delt_inc 权值变化增加量(缺省为trainrp
1.2)