文档详情

BP神经网络matlab实例(简单而经典).doc

发布:2025-05-16约9.79千字共9页下载文档
文本预览下载声明

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网络训练参数

训练参数

参数介绍

训练函数

最大训练次数〔缺省为10〕

traingd、traingdm、traingda、traingdx、trainrp、traincgf、traincgp、traincgb、trainscg、trainbfg、trainoss、trainlm

训练要求精度〔缺省为0〕

traingd、traingdm、traingda、traingdx、trainrp、traincgf、traincgp、traincgb、trainscg、trainbfg、trainoss、trainlm

学习率〔缺省为0.01〕

traingd、traingdm、traingda、traingdx、trainrp、traincgf、traincgp、traincgb、trainscg、trainbfg、trainoss、trainlm

最大失败次数〔缺省为5〕

traingd、traingdm、traingda、traingdx、trainrp、traincgf、traincgp、traincgb、trainscg、trainbfg、trainoss、trainlm

最小梯度要求〔缺省为1e-10〕

traingd、traingdm、traingda、traingdx、trainrp、traincgf、traincgp、traincgb、trainscg、trainbfg、trainoss、trainlm

显示训练迭代过程〔NaN表示不显示,缺省为25〕

traingd、traingdm、traingda、traingdx、trainrp、traincgf、traincgp、traincgb、trainscg、trainbfg、trainoss、trainlm

最大训练时间〔缺省为inf〕

traingd、traingdm、traingda、traingdx、trainrp、traincgf、traincgp、traincgb、trainscg、trainbfg、trainoss、trainlm

net.trainParam.mc

动量因子〔缺省0.9〕

traingdm、traingdx

net.trainParam.lr_inc

学习率lr增长比〔缺省为1.05〕

traingda、traingdx

net.trainParam.lr_dec

学习率lr下降比〔缺省为0.7〕

traingda、traingd

显示全部
相似文档