2022年BP及RBP神经网络逼 .pdf
《2022年BP及RBP神经网络逼 .pdf》由会员分享,可在线阅读,更多相关《2022年BP及RBP神经网络逼 .pdf(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、BP及 RBP神经网络逼近、药品销售预测、基本遗传算法设计实验实验指导书雷菊阳编机械工程学院2012 年 6 月名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 35 页 - - - - - - - - - 实验一、 BP及 RBP神经网络逼近一、实验目的1、了解 MATLAB 集成开发环境2、了解 MATLAB 编程基本方法3、加深对算法的理解和掌握4、掌握工具包入口初始化及调用5、加深 BP、RBP 神经网络对任意函数逼近的理解二、实验内容1、MATLAB 基本指令和语
2、法。2、算法的 MATLAB 实现三、实验步骤1、熟悉 MATLAB 开发环境2、输入参考程序3、设置断点,运行程序,观察运行结果四、参考程序1、BP 算法的 matlab实现程序%lr 为学习步长, err_goal期望误差最小值,max_epoch训练的最大次数,隐层和输出层初值为零lr=0.05; err_goal=0.01; max_epoch=3000; a=0.9; Oi=0; Ok=0; % 两组训练集和目标值X=1 1;-1 -1;1 1; T=1 1;1 1; % 初始化 wki ,wij ( M 为输入节点 j 的数量; q为隐层节点 i 的数量; L为输出节点 k的数量)
3、M,N=size(X); q=8; L,N=size(T); wij=rand(q,M); wki=rand(L,q); wij0=zeros(size(wij); wki0=zeros(size(wki); for epoch=1:max_epoch 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 35 页 - - - - - - - - - %计算隐层各神经元输出 NETi=wij*X; for j=1:N for i=1:q Oi(i,j)=2/(1+exp(-NE
4、Ti(i,j)-1; end end %计算输出层各神经元输出 NETk=wki*Oi; for i=1:N for k=1:L Ok(k,i)=2/(1+exp(-NETk(k,i)-1; end end %计算误差函数 E=(T-Ok)*(T-Ok)/2; if (Eerr_goal) break; end %调整输出层加权系数 deltak=Ok.*(1-Ok).*(T-Ok); w=wki; wki=wki+lr*deltak*Oi; wki0=w; %调整隐层加权系数 deltai=Oi.*(1-Oi).*(deltak*wki); w=wij; wij=wij+lr*deltai*
5、X; wij0=w; end epoch % 显示计算次数% 根据训练好的wki ,wij 和给定的输入计算输出X1=X; % 计算隐层各神经元的输出NETi=wij*X1; for j=1:N for i=1:q Oi(i,j)=2/(1+exp(-NETi(i,j)-1; end end % 计算输出层各神经元的输出NETk=wki*Oi; for i=1:N for k=1:L 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 35 页 - - - - - - - -
6、 - Ok(k,i)=2/(1+exp(-NETk(k,i)-1; end end Ok %显示网络输出层的输出2、BP 逼近任意函数算法的 matlab 实现程序X=-4:0.08:4;T=1.1*(1-X+2*X.2).*exp(-X.2./2);net=newff(minmax(X),20,1,tansig,purelin);net.trainParam.epochs=15000;net.trainParam.goal=0.001;net=train(net,X,T);X1=-1:0.01:1;y=sim(net,X1);figure;plot(X1,y,-r,X,T ,:b,LineW
7、idth,2);-4-3-2-10123400.511.522.53名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 35 页 - - - - - - - - - 3.RBF能够逼近任意的非线性函数X=-4:0.08:4;T=1.1*(1-X+2*X.2).*exp(-X.2./2);net=newrb(X,T,0.002,1);X1=-1:0.01:1;y=sim(net,X1);figure;plot(X1,y,-r,X,T ,:b,LineWidth,3);-4-3-
8、2-10123400.511.522.53-4-3-2-1012342468101214名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 35 页 - - - - - - - - - 五、思考题1、试设计一个函数并将结果用图画出。2、假设训练样本 X=1 1;-1 -1;1 1,目标输出 T=1 1;1 1,建立一个输入层 3个神经元,单隐层 8个神经元,输出层 2个神经元的网络结构,其中隐层、输出层神经元的传递函数均为 sigmoid函数,(1)试利用 BP学习算法实现该
9、网络的训练过程;(2)利用增加动量项的 BP学习算法实现该网络;(3)观察两种学习算法的运行结果,比较两种算法的优缺点3、训练参数的改变对逼近性能的影响名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 35 页 - - - - - - - - - 实验二、药品销售预测实验一、实验目的1、 了解利用神经网络处理实际问题的一般思路2、 掌握 MATLAB中常用神经网络函数二、实验内容1、数据预处理。2、神经网络的MA TLAB 实现三、实验步骤1、 熟悉 MATLAB开发环境2
10、、 输入参考程序3、 设置断点,运行程序,观察运行结果四、参考程序下表为某药品的销售情况,现构建一个如下的三层BP神经网络对药品的销售进行预测:输入层有三个结点,隐含层结点数为5,隐含层的激活函数为tansig ;输出层结点数为1个,输出层的激活函数为logsig ,并利用此网络对药品的销售量进行预测,预测方法采用滚动预测方式, 即用前三个月的销售量来预测第四个月的销售量,如用 1、2、3 月的销售量为输入预测第4 个月的销售量,用2、 3、4 月的销售量为输入预测第5 个月的销售量 . 如此反复直至满足预测精度要求为止。月份123456销量205623952600229816341600月份
11、789101112销量187314781900150020461556程序实现:production=2056 2395 2600 2298 1634 1600 1873 1478 1900 1500 2046 1556; gyhvector=(production-1478)/(2600-1478); P=0.5152 0.8173 1.0000 ; 0.8173 1.0000 0.7308; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 35 页 - - - - -
12、 - - - - 1.0000 0.7308 0.1390; 0.7308 0.1390 0.1087; 0.1390 0.1087 0.3520; 0.1087 0.3520 0.0000; T=0.7308 0.1390 0.1087 0.3520 0.0000 0.3761; net=newff(0 1;0 1;0 1,5,1,tansig,logsig,traingd); net.trainParam.epochs=500;%可以改net.trainParam.goal=0.005; LP.lr=0.1; net=train(net,P,T); test=0.0196 0.5062 0
13、.0695; 0.3761 0.0196 0.5062; 0 0.3761 0.0196; 0.5152 0.8173 1.0000 ; 0.8173 1.0000 0.7308; 1.0000 0.7308 0.1390; 0.7308 0.1390 0.1087; 0.1390 0.1087 0.3520; 0.1087 0.3520 0.0000; 0.3520 0 0.3761; 0 0.3761 0.0196; 0.3761 0.0196 0.5062; y=sim(net,test); x=1:12; figure; plot(x,gyhvector,rs,x,y,bo); set
14、(gca,xtick,x);名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 35 页 - - - - - - - - - 实验结果: goal=0.005 五、思考题简述利用MATLAB神经网络函数处理实际工程问题的一般方法和步骤名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 35 页 - - - - - - - - - 实验三、基本遗传算法设计实验
15、一、实验目的1、 了解基本遗传算法全局优化一般思路2、 掌握选择、交叉、变异算子如何实现3、轮盘赌方法(roulette wheel model) 如何用程序方法实现4、适应度函数设计方法二、实验内容1、初始化处理。2、神经网络的MA TLAB 实现三、实验步骤1、熟悉 MATLAB开发环境2、输入参考程序3、设置断点,运行程序,观察运行结果四、参考程序1、初始化function result=Initial(length)for i=1:lengthr=rand();result(i)=round(r);end2、Matlab 实现 - 十进制与二进制转换function y=Dec(a,b
16、,x,L)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 35 页 - - - - - - - - - base=2.(L-1):-1:0);y=dot(base,x);y=a+y*(b-a)/(2L-1);3、Matlab 实现 - 适应度函数计算function F=fitness(x)F=20+x+10*sin(4*x)+8*cos(3*x);4、 Matlab 实现 -GA() function xv, fv=GA(fitness,a,b,NP,NG,pc,pm
17、)L= 24 ; %L=ceil(log(b-a)/eps+1)L=24x=zeros(NP,L);for i=1:NP; x(i,:)=Initial(L); fx(i)=fitness(Dec(a,b,x(i,:),L);endfor k=1:NG sumfx=sum(fx); px=fx/sumfx; ppx=0; ppx(1)=px(1);for i=2:NP ppx(i)=ppx(i-1)+px(i);endfor i=1:NP sita=rand();for n=1:NPif sita=ppx(n) SelFather=n;break;endend SelMother=floor(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年BP及RBP神经网络逼 2022 BP RBP 神经网络
限制150内