神经网络基于BP网络的多层感知器实验报告.docxVIP

神经网络基于BP网络的多层感知器实验报告.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
精心整理 神经网络及应用实验报告 实验二、基于 BP网络的多层感知器 一:实验目的: 理解多层感知器的工作原理 通过调节算法参数了解参数的变化对于感知器训练的影响 了解多层感知器局限性 二:实验原理: BP的基本思想:信号的正向传播误差的反向传播 –信号的正向传播:输入样本从输入层传入,经各隐层逐层处理后,传向输出层。 –误差的反向传播: 将输入误差以某种形式通过隐层向输入层逐层反传, 并将误差分摊给各层的所 有单元,从而获得各层单元的误差信号来作为修正各单元权值的依据。 基本 BP算法的多层感知器模型: 2.BP 学习算法的推导: 当网络输出与期望输出不等时,存在输出误差 E 将上面的误差定义式展开至隐层,有 进一步展开至输入层,有 调整权值的原则是使误差不断地减小,因此应使权值的调整量与误差的梯度下降成正比,即 η∈ (0,1) 表示比例系数,在训练中反应学习速率 BP算法属于 δ学习规则类,这类算法被称为误差的梯度下降( GradientDescent )算法。 实验步骤 用Matlab 编程,实现解决该问题的单样本训练 BP网络,设置一个停止迭代的误差 Emin和最大迭代次数 。在调试过程中,通过不断调整隐层节点数,学习率 η,找到收敛 速度快且误差小的一组参数。产生均匀分布在区间 [-4 ,4] 的测试样本,输入建立 的模型得到输出, 与Hermit 多项式的期望输出进行比较计算总误差(运行 5次,取 平均值),并记录下每次迭代结束时的迭代次数。 (要求误差计算使用 RME,Emin设置为 0.1 ) 精心整理 程序如下: functiondyb% 单样本程序 clc; closeall; clear; x0=[1:101;-4:0.08:4];% 样本 101 个 x0(1,:)=-1; x=x0; yuzhi=0.1;% 阈值 j=input( 请输入隐层节点数 j=);% 隐层节点数 n=input( 请输入学习效率 n=);% 学习效率 w=rand(1,j); w=[yuzhi,w];% 输出层阈值 v=rand(2,j); v(1,:)=yuzhi;% 隐层阈值 err=zeros(1,101); wucha=0; zhaosheng=0.01*randn(1,101);% 噪声 erro=[]; ERRO=[];%误差,为画收敛曲线准备 Emin=0.1; d=zeros(1,101); form=1:101 d(m)=hermit(x(m,2));% 期望 end; o=zeros(1,101); netj=zeros(1,j); net=zeros(1,j); p=1; q=1; azc=0; acs=0; forz=1:5 whileq30000 Erme=0; forp=1:101 y=zeros(1,j); fori=1:j netj(1,i)=x(p,:)*v(:,i); y(1,i)=1/(1+exp(-netj(1,i))); end; y=[-1y]; o(p)=w*y+zhaosheng(p);% 噪声 wucha=d(p)-o(p); err(1,p)=1/2*wucha^2; erro=[erro,wucha]; 精心整理 form=1:j+1 w(1,m)=w(1,m)+n*wucha*y(1,m); end; form=1:j v(:,m)=v(:,m)+n*wucha*w(1,m)*y(1,m)*(1-y(1,m))*x(p,:); end q=q+1; end; fort=1:101; Erme=Erme+err(1,t); end; err=zeros(1,101); Erme=sqrt(Erme/101); ERRO=[ERRO,Erme]; ifErmeEminbreak; end; end; azc=azc+Erme; acs=acs+q; end disp( 最终误差 :); pinjunwucha=1/5*azc figure(1); plot(x(:,2),d,--r); holdon; plot(x(:,2),o,--b); disp( 次数 :); pjcx=1/5*acs figure(2); plot(ERRO); figure(3); plot(x(:,2),d,--rp); end functionF=hermit(x)%hermit 子函数 F=1.1*(1-x+2*x^2)*exp(-x^2/2); end 精心整理 训练样本与测试样本 3 测试样本 2.5 训练样本 2 y 1.5 t u p t u o 1 0.5 0 -0.5 -3 -2 -1 0 1 2 3 4 -4 运行结果如下: input x 表格 1. 单样本

文档评论(0)

150****0902 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档