ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:235.05KB ,
资源ID:17273279      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17273279.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(BP神经网络实例Word文件下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

BP神经网络实例Word文件下载.docx

1、(2)输入训练样本,对每个样本进行(3)(5)步。(3)计算各个网络层的实际输出(4)计算训练误差 ,输出层,隐含层和输入层(5)修正权值和阈值(6)当样本集中的所有样本都经历了(3)(5)步后,即完成了 一个训练周期(Epoch),计算性能指标,其中。(7)如果性能指标满足精度要求,即,那么训练结束,否则,转到(2),继续下一个训练周期。是小的正数,根据实际情况而定,例如3、流程图根据BP网络的算法,我们可得流程图如下。第二章BP神经网络实例分析一、实例要求1、取九个点来训练网络,然后得出拟合曲线。2、取适当数量训练点来训练网络,然后得出拟合曲线3、取11*11个点来训练网络,并用21*21

2、个点测试拟合的曲面。二、计算结果如下1、第一个函数:(2)学习率为,训练次数为3300时训练过程如学习曲线所示,圈圈为学习后产生的,折线为标准函数点连线。检验过程如检验曲线所示,点序列为拟合曲线上的点,曲线为标准函数曲线。误差曲线如右图所示。(2)学习率为,训练次数为3300时的曲线。从函数1可以看出,学习率比较大时,曲线收敛比较快,可以比较快速达到精度要求。但实际上,学习率比较大时(即收敛步长比较大),容易超出收敛边界,反而收敛导致不稳定,甚至发散。2、第二个函数:(1)学习率为,样本点数为10,学习次数为5000时的曲线如下:(2)学习率为,样本点数为30,学习次数为5000时的曲线如下:

3、从函数2可以看出,样本点个数越多时,曲线精度越高。但学习时间会有所增加。3、第三个函数学习率为,动量项学习率为,训练次数为5000,训练样本数为11*11。图形如下:附:程序源代码第一个和第二个函数的程序:%此BP网络为两层隐含层,每个隐含层4个节点。输入输出各一层%输入层和输出层均采用恒等函数,隐含层采用S形函数clear all;close all;b=; %精度要求a=; %学习率c=2;Num=30; %训练样本数N=3300; %训练次数Nj=80; %检验样本数o0=rand(2,1); %输入层阈值o1=rand(4,1); %第一层隐含层阈值o2=rand(4,1); %第二层

4、隐含层阈值o3=rand(1,1); %输出层阈值w1=rand(4,2); %输入信号为两个w2=rand(4,4); %第一层隐含层与第二层隐含层的权系数w3=rand(1,4); %第二层隐含层与输出层的权系数syms x y; %符号变量,用于两个输入值%fcn=cos(x); %被学习的函数fcn=abs(sin(x);x0=0:2*pi/(Num-1):2*pi; %输入的训练样本y0=0:x=x0;y=y0;X(1,:)=x0;X(2,:)=y0;yf=eval(fcn); %输出的训练样本x3=zeros(1,Num);time=0;for j=1:1:N for i=1:Nu

5、m %前向计算: s1=w1*X(:,i)-o1; x1=1./(1+exp(-s1); %第一层隐含层输出 s2=w2*x1-o2; x2=1./(1+exp(-s2); %第二层隐含层输出 s3=w3*x2-o3; %x3=1./(1+exp(-s3); %输出层输出 x3(i)=s3; %反向计算: %e3=(yf(i)-x3)./(exp(s3)+2+exp(-s3); %输出层误差 e3=yf(i)-x3(i); e2=(w3)*e3)./(exp(s2)+2+exp(-s2); %第二层隐含层误差 e1=(w2)*e2)./(exp(s1)+2+exp(-s1); %第一层隐含层误

6、差 %权值和阈值修正 w3=w3+a*e3*(x2); %权值修正 w2=w2+a*e2*(x1) w1=w1+a*e1*(X(:,i) o3=o3-a*e3; %阈值修正 o2=o2-a*e2; o1=o1-a*e1; end E(j)=*(yf-x3)*(yf-x3); %方差 time=time+1; %记录学习次数 if E(j)b break endend%检验m=0:2*pi/(Nj-1):n=0:x=m;y=n;ym=eval(fcn); %期望输出M(1,:)=x;M(2,:)=y;m3=zeros(1,Nj);for i=1:Nj S1=w1*M(: m1=1./(1+exp

7、(-S1); S2=w2*m1-o2; m2=1./(1+exp(-S2); %第二层隐含层输出 S3=w3*m2-o3; %m3(i)=1./(1+exp(-S3); %输出层输出 m3(i)=S3;figure(1);plot(m,ym,g-hold onplot(m,m3,r. title(检验曲线 xlabel(xylabel(y=cos(x) figure(2);plot(x0,yf,b-plot(x0,x3,ro学习曲线y=cos(x)k=1:time;figure(3);plot(k,E);误差曲线训练次数误差值第三个函数的程序%此BP网络为两层隐含层,每个隐含层10个节点。 %

8、精度要求c=; %动量项学习率Num=11;N=5000;Nj=21; %检验样本数 %输入层阈值o1=rand(10,1);o2=rand(10,1); %第二层隐含层阈值 %输出层阈值w1=rand(10,2); %输入层与第一层隐含层的权系数w2=rand(10,10); %第一层隐含层与第二层隐含层的权系数w3=rand(1,10);o1_before=zeros(4,1); %用于存储前一次的阈值o2_before=zeros(4,1);o3_before=zeros(1,1);w1_before=zeros(4,2); %用于存储前一次的权值w2_before=zeros(4,4)

9、;w3_before=zeros(1,4);o1_next=zeros(4,1); %用于存储后一次的阈值o2_next=zeros(4,1);o3_next=zeros(1,1);w1_next=zeros(4,2); %用于存储后一次的权值w2_next=zeros(4,4);w3_next=zeros(1,4);x0,y0=meshgrid(-10:20/(Num-1):10); %输入的训练样本yf=(sin(x0).*sin(y0)./(x0.*y0);x3=zeros(Num,Num);E=zeros(1,N); for h=1: X=zeros(2,1); X(1,:)=x0(i

10、,h); X(2,:)=y0(i,h); s1=w1*X-o1; x3(i,h)=s3; w3_next=w3+a*e3*(x2)+c*(w3-w3_before); w2_next=w2+a*e2*(x1)+c*(w2-w2_before); w1_next=w1+a*e1*X+c*(w1-w1_before); o3_next=o3-a*e3+c*(o3-o3_before); %阈值修正 o2_next=o2-a*e2+c*(o2-o2_before); o1_next=o1-a*e1+c*(o1-o1_before); w1_before=w1;w2_before=w2;w3_befo

11、re=w3; o1_before=o1;o2_before=o2;o3_before=o3; w1=w1_next;w2=w2_next;w3=w3_next; o1=o1_next;o2=o2_next;o3=o3_next; d=yf(i,h); y=x3(i,h); E(j)=E(j)+*(d-y)2); %方差 %记录学习次数 if E(j) breakm,n=meshgrid(-10:(20/(Nj-1):ym=(sin(m).*sin(n)./(m.*n);m3=zeros(Nj,Nj); for j=1: M=zeros(2,1); M(1,:)=m(i,j); M(2,:)=n(i,j); S1=w1*M-o1; m3(i,j)=S3; %输出层输出surf(x0,y0,yf);title(学习期望输出grid on;surf(x0,y0,x3);学习实际输出subplot(221);surf(m,n,ym);检验期望输出subplot(222);surf(m,n,m3);检验实际输出subplot(212);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1