第五章 BP神经网络matlab实例(简单而经典).doc
文本预览下载声明
p=p1;t=t1;
[pn,minp,maxp,tn,mint,maxt]=premnmx(p,t); %原始数据归一化
net=newff(minmax(pn),[5,1],{tansig,purelin},traingdx);
%设置网络,建立相应的BP网络,minmax(pn)找到pn矩阵的最大最小值
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); %对BP网络进行仿真
anew=postmnmx(anewn,mint,maxt); %还原数据
y=anew;
1、BP网络构建
(1)生成BP网络
:由维的输入样本最小最大值构成的维矩阵。
:各层的神经元个数。
:各层的神经元传递函数。
:训练用函数的名称。
(2)网络训练
(3)网络仿真
{tansig,purelin},trainrp
BP网络的训练函数
训练方法 训练函数 梯度下降法 traingd 有动量的梯度下降法 traingdm 自适应lr梯度下降法 traingda 自适应lr动量梯度下降法 traingdx 弹性梯度下降法 trainrp Fletcher-Reeves共轭梯度法 traincgf Ploak-Ribiere共轭梯度法 traincgp Powell-Beale共轭梯度法 traincgb 量化共轭梯度法 trainscg 拟牛顿算法 trainbfg 一步正割算法 trainoss Levenberg-Marquardt trainlm
BP网络训练参数
训练参数 参数介绍 训练函数 net.trainParam.epochs 最大训练次数(缺省为10) traingd、traingdm、traingda、traingdx、trainrp、traincgf、traincgp、traincgb、trainscg、trainbfg、trainoss、trainlm net.trainParam.goal 训练要求精度(缺省为0) traingd、traingdm、traingda、traingdx、trainrp、traincgf、traincgp、traincgb、trainscg、trainbfg、trainoss、trainlm net.trainParam.lr 学习率(缺省为0.01) traingd、traingdm、traingda、traingdx、trainrp、traincgf、traincgp、traincgb、trainscg、trainbfg、trainoss、trainlm net.trainParam.max_fail 最大失败次数(缺省为5) traingd、traingdm、traingda、traingdx、trainrp、traincgf、traincgp、traincgb、trainscg、trainbfg、trainoss、trainlm net.trainParam.min_grad 最小梯度要求(缺省为1e-10) traingd、traingdm、traingda、traingdx、trainrp、traincgf、traincgp、traincgb、trainscg、trainbfg、trainoss、trainlm net.trainParam.show 显示训练迭代过程(NaN表示不显示,缺省为25) traingd、traingdm、traingda、traingdx、trainrp、traincgf、traincgp、traincgb、trainscg、trainbfg、trainoss、trainlm net.trainParam.time 最大训练时间(缺省为inf) traingd、traingdm、traingda、traingdx、trainrp、traincgf、traincgp、traincgb、trainscg、trainbfg、trainoss、
显示全部