欢迎来到天天文库
浏览记录
ID:39549480
大小:745.50 KB
页数:35页
时间:2019-07-06
《BP及RBP神经网络逼近》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《BP及RBP神经网络逼近、药品销售预测、基本遗传算法设计实验》实验指导书雷菊阳编机械工程学院2012年6月实验一、BP及RBP神经网络逼近一、实验目的1、了解MATLAB集成开发环境2、了解MATLAB编程基本方法3、加深对BP算法的理解和掌握4、掌握工具包入口初始化及调用5、加深BP、RBP神经网络对任意函数逼近的理解二、实验内容1、MATLAB基本指令和语法。2、BP算法的MATLAB实现三、实验步骤1、熟悉MATLAB开发环境2、输入参考程序3、设置断点,运行程序,观察运行结果四、参考程序1、BP算法的matlab实现程序%lr为学习步长,err_goal期望误差最小值,max
2、_epoch训练的最大次数,隐层和输出层初值为零lr=0.05;err_goal=0.01;max_epoch=3000;a=0.9;Oi=0;Ok=0;%两组训练集和目标值X=[11;-1-1;11];T=[11;11];%初始化wki,wij(M为输入节点j的数量;q为隐层节点i的数量;L为输出节点k的数量)[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));forepoch=1:max_epoch%计算隐层各神经元输出NETi
3、=wij*X;forj=1:Nfori=1:qOi(i,j)=2/(1+exp(-NETi(i,j)))-1;endend%计算输出层各神经元输出NETk=wki*Oi;fori=1:Nfork=1:LOk(k,i)=2/(1+exp(-NETk(k,i)))-1;endend%计算误差函数E=((T-Ok)'*(T-Ok))/2;if(E4、'*wki)';w=wij;wij=wij+lr*deltai*X';wij0=w;endepoch%显示计算次数%根据训练好的wki,wij和给定的输入计算输出X1=X;%计算隐层各神经元的输出NETi=wij*X1;forj=1:Nfori=1:qOi(i,j)=2/(1+exp(-NETi(i,j)))-1;endend%计算输出层各神经元的输出NETk=wki*Oi;fori=1:Nfork=1:LOk(k,i)=2/(1+exp(-NETk(k,i)))-1;endendOk%显示网络输出层的输出2、BP逼近任意函数算法的matlab实现程序nX=-4:0.08:4;nT=15、.1*(1-X+2*X.^2).*exp(-X.^2./2);nnet=newff(minmax(X),[20,1],{'tansig','purelin'});nnet.trainParam.epochs=15000;nnet.trainParam.goal=0.001;nnet=train(net,X,T);nX1=-1:0.01:1;ny=sim(net,X1);nfigure;nplot(X1,y,'-r',X,T,':b','LineWidth',2);3.RBF能够逼近任意的非线性函数nX=-4:0.08:4;nT=1.1*(1-X+2*X.^2).*exp(-X.^2./6、2);nnet=newrb(X,T,0.002,1);nX1=-1:0.01:1;ny=sim(net,X1);nfigure;nplot(X1,y,'-r',X,T,':b','LineWidth',3);五、思考题1、试设计一个函数并将结果用图画出。2、假设训练样本X=[11;-1-1;11],目标输出T=[11;11],建立一个输入层3个神经元,单隐层8个神经元,输出层2个神经元的网络结构,其中隐层、输出层神经元的传递函数均为sigmoid函数,(1)试利用BP学习算法实现该网络的训练过程;(2)利用增加动量项的BP学习算法实现该网络;(3)观察两种学习算法的运行结果,比较两种算7、法的优缺点3、训练参数的改变对逼近性能的影响实验二、药品销售预测实验一、实验目的1、了解利用神经网络处理实际问题的一般思路2、掌握MATLAB中常用神经网络函数二、实验内容1、数据预处理。2、神经网络的MATLAB实现三、实验步骤1、熟悉MATLAB开发环境2、输入参考程序3、设置断点,运行程序,观察运行结果四、参考程序下表为某药品的销售情况,现构建一个如下的三层BP神经网络对药品的销售进行预测:输入层有三个结点,隐含层结点数为5,隐含层的激活
4、'*wki)';w=wij;wij=wij+lr*deltai*X';wij0=w;endepoch%显示计算次数%根据训练好的wki,wij和给定的输入计算输出X1=X;%计算隐层各神经元的输出NETi=wij*X1;forj=1:Nfori=1:qOi(i,j)=2/(1+exp(-NETi(i,j)))-1;endend%计算输出层各神经元的输出NETk=wki*Oi;fori=1:Nfork=1:LOk(k,i)=2/(1+exp(-NETk(k,i)))-1;endendOk%显示网络输出层的输出2、BP逼近任意函数算法的matlab实现程序nX=-4:0.08:4;nT=1
5、.1*(1-X+2*X.^2).*exp(-X.^2./2);nnet=newff(minmax(X),[20,1],{'tansig','purelin'});nnet.trainParam.epochs=15000;nnet.trainParam.goal=0.001;nnet=train(net,X,T);nX1=-1:0.01:1;ny=sim(net,X1);nfigure;nplot(X1,y,'-r',X,T,':b','LineWidth',2);3.RBF能够逼近任意的非线性函数nX=-4:0.08:4;nT=1.1*(1-X+2*X.^2).*exp(-X.^2./
6、2);nnet=newrb(X,T,0.002,1);nX1=-1:0.01:1;ny=sim(net,X1);nfigure;nplot(X1,y,'-r',X,T,':b','LineWidth',3);五、思考题1、试设计一个函数并将结果用图画出。2、假设训练样本X=[11;-1-1;11],目标输出T=[11;11],建立一个输入层3个神经元,单隐层8个神经元,输出层2个神经元的网络结构,其中隐层、输出层神经元的传递函数均为sigmoid函数,(1)试利用BP学习算法实现该网络的训练过程;(2)利用增加动量项的BP学习算法实现该网络;(3)观察两种学习算法的运行结果,比较两种算
7、法的优缺点3、训练参数的改变对逼近性能的影响实验二、药品销售预测实验一、实验目的1、了解利用神经网络处理实际问题的一般思路2、掌握MATLAB中常用神经网络函数二、实验内容1、数据预处理。2、神经网络的MATLAB实现三、实验步骤1、熟悉MATLAB开发环境2、输入参考程序3、设置断点,运行程序,观察运行结果四、参考程序下表为某药品的销售情况,现构建一个如下的三层BP神经网络对药品的销售进行预测:输入层有三个结点,隐含层结点数为5,隐含层的激活
此文档下载收益归作者所有