BP系统建模.docx
- 文档编号:5266453
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:12
- 大小:77.25KB
BP系统建模.docx
《BP系统建模.docx》由会员分享,可在线阅读,更多相关《BP系统建模.docx(12页珍藏版)》请在冰豆网上搜索。
BP系统建模
采用BP神经网络:
所要拟合的非线性函数为:
其中:
x
(-44)
各个训练参数:
隐层神经元个数:
10设置输入范围:
(-44)学习步长:
lr=0.005
迭代结束条件:
E0=0.01初始权值和阈值选取:
(-0.10.1)
functionmain();
clearall;
closeall;
samnum=101;%用101个数据对来训练神经网络
testsamum=101;%用另外101个数据对来验证神经网络的学习效果
hiddenunitnum=10;%隐单元数目定义为10
indim=1;%输入层神经元数目定义为1
outdim=1;%输出层神经元数目定义为1
rand('state',sum(100*clock));%设置随机数产生的模式
samin=8*rand(1,samnum)-4;%设置输入为(-4,4)
samout=samin.*sin(samin)+4*exp(-samin.^2)+0.1*samin;%计算相应的输出
testsamin=-4:
0.08:
4;%生成用于检验的数据
testsamout=testsamin.*sin(testsamin)+4*exp(-testsamin.^2)+0.1*testsamin;
maxepochs=10000;%最大的迭代次数
lr=0.005;%学习步长
E0=0.01;%结束迭代的另一个条件,总误差
w1=0.2*rand(hiddenunitnum,indim)-0.1;%初始权值和阈值选取为(-0.1,0.1)
b1=0.2*rand(hiddenunitnum,1)-0.1;
w2=0.2*rand(outdim,hiddenunitnum)-0.1;
b2=0.2*rand(outdim,1)-0.1;
w1ex=[w1b1];
w2ex=[w2b2];
saminex=[samin'ones(samnum,1)]';
errorhistory=[];
fori=1:
maxepochs
hiddenout=logsig(w1ex*saminex);%前向计算(输入层至隐层,采用S函数
hiddenoutex=[hiddenout'ones(samnum,1)]';
networkout=w2ex*hiddenoutex;%计算系统输出
error=samout-networkout;%计算网络输出与期望输出误差
SSE=sumsqr(error);%计算二次总误差
errorhistory=[errorhistorySSE];
ifSSE delta2=error; delta1=w2'*delta2.*hiddenout.*(1-hiddenout);%根据权值修改公式,计算权值 %修改量 dw2ex=delta2*hiddenoutex'; dw1ex=delta1*saminex'; w1ex=w1ex+lr*dw1ex;%修改权值 w2ex=w2ex+lr*dw2ex; w2=w2ex(: 1: hiddenunitnum); end; testinex=[testsamin'ones(testsamum,1)]'; testhiddenout=logsig(w1ex*testinex);%应用测试数据测试 testhiddenoutex=[testhiddenout'ones(testsamum,1)]';%神经网络的泛化能力 testnnout=w2ex*testhiddenoutex; figure holdon grid plot(testsamin,testsamout,'r+');%输出测试曲线 plot(testsamin,testnnout,'k-'); figure%输出结果学习误差曲线 holdon grid [xx,num]=size(errorhistory); plot(1: num,errorhistory,'r-'); 一.初始权值和学习步长不变,隐层神经元个数改变。 若w1=0.2*rand(hiddenunitnum,indim)-0.1; b1=0.2*rand(hiddenunitnum,1)-0.1; w2=0.2*rand(outdim,hiddenunitnum)-0.1; b2=0.2*rand(outdim,1)-0.1; (1)隐层神经元个数hiddenunitnum=5 仿真结果如下: (2)隐层神经元个数hiddenunitnum=20 仿真结果如下: 二、隐层神经元个数和学习步长不变,初始权值改变 (1)初始权值如下: w1=0.8*rand(hiddenunitnum,indim)-0.4; b1=0.8*rand(hiddenunitnum,1)-0.4; w2=0.8*rand(outdim,hiddenunitnum)-0.4; b2=0.8*rand(outdim,1)-0.4; 仿真结果如下: (2)、初始权值如下: w1=0.1*rand(hiddenunitnum,indim)-0.05; b1=0.1*rand(hiddenunitnum,1)-0.05; w2=0.1*rand(outdim,hiddenunitnum)-0.05; b2=0.1*rand(outdim,1)-0.05; 仿真结果如下: 三.隐层神经元个数和初始权值不变,学习步长改变 (1)学习步长lr=0.01 (2)学习步长lr=0.008 (3)学习步长lr=0.003
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- BP 系统 建模