BP神经网络预测 matlab源程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
P=[0.65462754 0.985986547 0.774422735 0.826468973 0.053658537 0.01 0.764166667 0.025426781 0.01 0.01 0.009756098
1 0.985986547 0.774422735 0.208310452 0.053658537 0.127226463 0.714166667 0.066484189 0.009023687 0.01 0.009756098
0.989616253 0.985986547 0.774422735 0.231191653 0.059397418 0.127226463 0.584166667 0.020384643 0.027697706 0.01 0.009756098
0.863656885 0.985986547 0.774422735 0.507962658 0.059397418 0.127226463 0.724166667 0.036231362 0.047499687 0.01 0.009756098
0.989616253 0.985986547 0.774422735 0.408200622 0.059397418 0.127226463 0.503333333 0.05063747 0.066299035 0.01 0.009756098
0.548984199 0.985986547 0.774422735 0.406187077 0.059397418 0.127226463 0.764666667 0.01 0.085098383 0.01 0.009756098
0.01986456 0.985986547 0.774422735 0.831228263 0.059397418 0.127226463 1 0.026867392 0.105151021 0.01 0.009756098
0.441534989 0.985986547 0.359680284 0.729269632 0.062840746 0.178117048 0.3925 0.227832601 0.164055646 0.01 0.009756098
0.01 0.985986547 0.359680284 0.763316859 0.062840746 0.178117048 0.734166667 0.233595044 0.187868154 0.01 0.009756098
0.555756208 0.985986547 0.601687389 0.743913601 0.062840746 0.178117048 0.736666667 0.171648779 0.205414212 0.01 0.009756098
0.665462754 0.985986547 0.165630551 0.32088596 0.062840746 0.24173028 0.714166667 0.175250306 0.222960271 0.01 0.009756098
0.544469526 0.631726457 0.405417407 0.787845506 0.074318508 0.22264631 0.595 0.217748325 0.236746459 0.01 0.009756098
0.587810384 0.682174888 0.454706927 0.880468607 0.074318508 0.22264631 0.558333333 0.245840236 0.246772779 0.01 0.01
0.463205418 0.5 0.340586146 0.502654219 0.01 0.209923664 0.859166667 0.501548657 0.256799098 0.059701493 0.073170732
0.481715576 0.244955157 0.176287744 0.438952956 0.01 0.356234097 0.84 0.401426205 0.269331996 0.044776119 0.048780488
0.507900677 0.969170404 0.503108348 1 0.057388809 0.286259542 0.780833333 0.457610027 0.285624765 0.029850746 0.024390244
0.435665914 0.63396861 0.651865009 0.559399597 0.154949785 0.279898219 0.715 0.558452784 0.44366462 0.02238806 0.009756098
0.418510158 1 1 0.794435292 0.154949785 0.190839695 0.546666667 0.380537348 0.454066926 0.059701493 0.063414634
0.381038375 0.389013453 0.261989343 0.300201355 0.154949785 0.311704835 0.491666667 0.510192322 0.429753102 0.055970149 0.07804878
0.348081264 0.721973094 0.526198934 0.850814571 0.154949785 0.305343511 0.47 0.589425917 0.436771525 0.097014925 0.219512195
0.395936795 0.121636771 0.141651865 0.01 0.154949785 0.445292621 0.446666667 0.625441187 0.451309688 0.160447761 0.336585366
0.30744921 0.095852018 0.20026643 0.19073769 0.355810617 0.508905852 0.443333333 0.67514226 0.584659732 0.291044776 0.458536585
0.348532731 0.162556054 0.119449378 0.131795717 0.398852224 0.572519084 0.333333333 0.596628971 0.611605464 0.373134328 0.473170732
0.26275395 0.01 0.01 0.189456343 0.505308465 0.648854962 0.191666667 0.546207592 0.659355809 0.46641791 0.546341463
0.186004515 0.426569507 0.070159858 0.325828299 0.604017217 0.712468193
0.266666667 0.690268674 0.700965033 0.570895522 0.624390244
0.172460497 0.505605381 0.165186501 0.396485448 0.718794835 0.753180662 0.208333333 0.675862566 0.746459456 0.645522388 0.697560976
0.158916479 0.572869955 0.088365897 0.263225334 0.916786227 0.827608142 0.133333333 0.755096161 0.803233488 0.735074627 0.775609756
0.140857788 0.591928251 0.073268206 0.093538349 0.93687231 0.910941476 0.083333333 0.812720594 0.857124953 0.824626866 0.848780488
0.122799097 0.522982063 0.037744227 0.397217646 1 0.99173028 0.05 0.906360297 0.922296027 0.910447761 0.926829268
];
t=[0.104740406 0.627802691 0.122113677 0.657880286 0.932281205 1 0.01 1 1 1 1
];
H=[1 0.985986547 0.774422735 0.208310452 0.053658537 0.127226463 0.714166667 0.066484189 0.009023687 0.01 0.009756098
0.989616253 0.985986547 0.774422735 0.231191653 0.059397418 0.127226463 0.584166667 0.020384643 0.027697706 0.01 0.009756098
0.863656885 0.985986547 0.774422735 0.507962658 0.059397418 0.127226463 0.724166667 0.036231362 0.047499687 0.01 0.009756098
0.989616253 0.985986547 0.774422735 0.408200622 0.059397418 0.127226463 0.503333333 0.05063747 0.066299035 0.01 0.009756098
0.548984199 0.985986547 0.774422735 0.406187077 0.059397418 0.127226463 0.764666667 0.01 0.085098383 0.01 0.009756098
0.01986456 0.985986547 0.774422735 0.831228263 0.059397418 0.127226463 1 0.026867392 0.105151021 0.01 0.009756098
0.441534989 0.985986547 0.359680284 0.729269632 0.062840746 0.178117048 0.3925 0.227832601 0.164055646 0.01 0.009756098
0.01 0.985986547 0.359680284 0.763316859 0.062840746 0.178117048 0.734166667 0.233595044 0.187868154 0.01 0.009756098
0.555756208 0.985986547 0.601687389 0.743913601 0.062840746 0.178117048 0.736666667 0.171648779 0.205414212 0.01 0.009756098
0.665462754 0.985986547 0.165630551 0.32088596 0.062840746 0.24173028 0.714166667 0.175250306 0.222960271 0.01 0.009756098
0.544469526 0.631726457 0.405417407 0.787845506 0.074318508 0.22264631 0.595 0.217748325 0.236746459 0.01 0.009756098
0.587810384 0.682174888 0.454706927 0.880468607 0.074318508 0.22264631 0.558333333 0.245840236 0.246772779 0.01 0.01
0.463205418 0.5 0.340586146 0.502654219 0.01 0.209923664 0.859166667 0.501548657 0.256799098 0.059701493 0.073170732
0.481715576 0.244955157 0.176287744 0.438952956 0.01 0.356234097 0.84 0.401426205 0.269331996 0.044776119 0.048780488
0.507900677 0.969170404 0.503108348 1 0.057388809 0.286259542 0.780833333 0.457610027 0.285624765 0.029850746 0.024390244
0.435665914 0.63396861 0.651865009 0.559399597 0.154949785 0.279898219 0.715 0.558452784 0.44366462 0.02238806 0.009756098
0.418510158 1 1 0.794435292 0.154949785 0.190839695 0.546666667 0.380537348 0.454066926 0.059701493 0.063414634
0.381038375 0.389013453 0.261989343 0.300201355 0.154949785 0.311704835 0.491666667 0.510192322 0.429753102 0.055970149 0.07804878
0.348081264 0.721973094 0.526198934 0.850814571 0.154949785 0.305343511 0.47 0.589425917 0.436771525 0.097014925 0.219512195
0.395936795 0.121636771 0.1
41651865 0.01 0.154949785 0.445292621 0.446666667 0.625441187 0.451309688 0.160447761 0.336585366
0.30744921 0.095852018 0.20026643 0.19073769 0.355810617 0.508905852 0.443333333 0.67514226 0.584659732 0.291044776 0.458536585
0.348532731 0.162556054 0.119449378 0.131795717 0.398852224 0.572519084 0.333333333 0.596628971 0.611605464 0.373134328 0.473170732
0.26275395 0.01 0.01 0.189456343 0.505308465 0.648854962 0.191666667 0.546207592 0.659355809 0.46641791 0.546341463
0.186004515 0.426569507 0.070159858 0.325828299 0.604017217 0.712468193 0.266666667 0.690268674 0.700965033 0.570895522 0.624390244
0.172460497 0.505605381 0.165186501 0.396485448 0.718794835 0.753180662 0.208333333 0.675862566 0.746459456 0.645522388 0.697560976
0.158916479 0.572869955 0.088365897 0.263225334 0.916786227 0.827608142 0.133333333 0.755096161 0.803233488 0.735074627 0.775609756
0.140857788 0.591928251 0.073268206 0.093538349 0.93687231 0.910941476 0.083333333 0.812720594 0.857124953 0.824626866 0.848780488
0.122799097 0.522982063 0.037744227 0.397217646 1 0.99173028 0.05 0.906360297 0.922296027 0.910447761 0.926829268
0.104740406 0.627802691 0.122113677 0.657880286 0.932281205 1 0.01 1 1 1 1
];
net=newff([0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;;0 1;0 1;0 1;0 1;0 1;;0 1;0 1;0 1;0 1;0 1;;0 1;0 1;0 1],[23,1],{'tansig','logsig'},'trainrp');
%输入参数依次为:'样本P范围',[各层神经元数目],{各层传递函数},'训练函数'
%训练函数traingd--梯度下降法,有7个训练参数.
%训练函数traingdm--有动量的梯度下降法,附加1个训练参数mc(动量因子,缺省为0.9)
%训练函数traingda--有自适应lr的梯度下降法,附加3个训练参数:lr_inc(学习率增长比,缺省为1.05;
% lr_dec(学习率下降比,缺省为0.7);max_perf_inc(表现函数增加最大比,缺省为1.04)
%训练函数traingdx--有动量的梯度下降法中赋以自适应lr的方法,附加traingdm和traingda的4个附加参数
%训练函数trainrp--弹性梯度下降法,可以消除输入数值很大或很小时的误差,附加4个训练参数:
% delt_inc(权值变化增加量,缺省为1.2);delt_dec(权值变化减小量,缺省为0.5);
% delta0(初始权值变化,缺省为0.07);deltamax(权值变化最大值,缺省为50.0)
% 适合大型网络
%训练函数traincgf--Fletcher-Reeves共轭梯度法;训练函数traincgp--Polak-Ribiere共轭梯度法;
%训练函数traincgb--Powell-Beale共轭梯度法
%共轭梯度法占用存储空间小,附加1训练参数searchFcn(一维线性搜索方法,缺省为srchcha);缺少1个训练参数lr
%训练函数trainscg--量化共轭梯度法,与其他共轭梯度法相比,节约时间.适合大型网络
% 附加2个训练参数:sigma(因为二次求导对权值调整的影响参数,缺省为5.0e-5);
% lambda(Hessian阵不确定性调节参数,缺省
为5.0e-7)
% 缺少1个训练参数:lr
%训练函数trainbfg--BFGS拟牛顿回退法,收敛速度快,但需要更多内存,与共轭梯度法训练参数相同,适合小网络
%训练函数trainoss--一步正割的BP训练法,解决了BFGS消耗内存的问题,与共轭梯度法训练参数相同
%训练函数trainlm--Levenberg-Marquardt训练法,用于内存充足的中小型网络
net=init(net);
net.trainparam.epochs=20000; %最大训练次数(前缺省为10,自trainrp后,缺省为100)
net.trainparam.lr=0.05; %学习率(缺省为0.01)
net.trainparam.show=25; %限时训练迭代过程(NaN表示不显示,缺省为25)
net.trainparam.goal=1e-8; %训练要求精度(缺省为0)
%net.trainparam.max_fail 最大失败次数(缺省为5)
%net.trainparam.min_grad 最小梯度要求(前缺省为1e-10,自trainrp后,缺省为1e-6)
%net.trainparam.time 最大训练时间(缺省为inf)
[net,tr]=train(net,P,t); %网络训练
a=sim(net,H) %网络仿真