神经网络基于BP网络的多层感知器实验报告.doc
《神经网络基于BP网络的多层感知器实验报告.doc》由会员分享,可在线阅读,更多相关《神经网络基于BP网络的多层感知器实验报告.doc(18页珍藏版)》请在三一办公上搜索。
1、神经网络及应用实验报告实验二、基于BP网络的多层感知器一:实验目的:1. 理解多层感知器的工作原理2. 通过调节算法参数了解参数的变化对于感知器训练的影响3. 了解多层感知器局限性二:实验原理:BP的基本思想:信号的正向传播 误差的反向传播 信号的正向传播:输入样本从输入层传入,经各隐层逐层处理后,传向输出层。 误差的反向传播:将输入误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号来作为修正各单元权值的依据。1. 基本BP算法的多层感知器模型:2.BP学习算法的推导:当网络输出与期望输出不等时,存在输出误差E将上面的误差定义式展开至隐层,有进一步
2、展开至输入层,有调整权值的原则是使误差不断地减小,因此应使权值的调整量与误差的梯度下降成正比,即(0,1)表示比例系数,在训练中反应学习速率 BP算法属于学习规则类,这类算法被称为误差的梯度下降(Gradient Descent)算法。 1. 用Matlab编程,实现解决该问题的单样本训练BP网络,设置一个停止迭代的误差Emin和最大迭代次数。在调试过程中,通过不断调整隐层节点数,学习率,找到收敛速度快且误差小的一组参数。产生均匀分布在区间-4,4的测试样本,输入建立的模型得到输出,与Hermit多项式的期望输出进行比较计算总误差(运行5次,取平均值),并记录下每次迭代结束时的迭代次数。(要求
3、误差计算使用RME,Emin 设置为0.1) 程序如下:function dyb %单样本程序 clc; close all; 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
4、,101);%噪声 erro=; ERRO=;%误差,为画收敛曲线准备 Emin=0.1; d=zeros(1,101); for m=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; for z=1:5 while q30000 Erme=0; for p=1:101 y=zeros(1,j); for i=1:j netj(1,i)=x(p,:)*v(:,i); y(1,i)=1/(1+exp(-netj(1,i); end;
5、y=-1 y; o(p)=w*y+zhaosheng(p);%噪声 wucha = d(p)-o(p); err(1,p)=1/2*wucha2; erro=erro,wucha; for m=1:j+1 w(1,m)=w(1,m)+n*wucha*y(1,m); end; for m=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; for t=1:101; Erme=Erme+err(1,t); end; err=zeros(1,101); Erme=sqrt(Erme/101); ERRO=
6、ERRO,Erme; if ErmeEmin break; end; end; azc=azc+Erme; acs=acs+q; end disp(最终误差:); pinjunwucha=1/5*azc figure(1); plot(x(:,2),d,-r); hold on; plot(x(:,2),o,-b); disp(次数:); pjcx=1/5*acs figure(2); plot(ERRO); figure(3); plot(x(:,2),d,-rp);endfunction F = hermit(x)%hermit子函数 F = 1.1*(1-x+2*x2)*exp(-x2/
7、2);end运行结果如下:表格1. 单样本BP算法平均最小误差学习率结点数0.050.070.10.120.150.1880.09650.08590.019530.09450.08740.0925100.09680.09440.09830.09200.08210.0982120.08860.08560.08850.09460.08340.0928150.09150.09270.08780.09240.07380.08442. 实现解决该问题的批处理训练BP网络,调整参数如上。产生均匀分布在区间-4,4的测试样本,输入建立的模型得到输出,与Hermit多项式的期望输出进行比较计算总误差(运行5次
8、,取平均值),并记录下每次迭代结束时的迭代次数。程序如下:function pcl %批处理 close all; clc; x=-4:0.08:4;%样本101个 j=input(请输入隐层节点数 j = );%隐层节点数 n=input(请输入学习效率 n = );%学习效率 a=0.1;%动量系数 w=rand(1,j); v=rand(1,j); err=zeros(1,101); wucha=0; zhaosheng=0.01*randn(1,101);%噪声 erro=; ERRO=;%误差,为画收敛曲线准备 Emin=0.1; d=zeros(1,101); for m=1:10
9、1 d(1,m)=hermit(x(m);%期望 end; o=zeros(1,101); netj=zeros(1,j); net=zeros(1,j); y=zeros(1,j); p=1; q=1; azc=0; acs=0; for z=1:5 while q30000 Erro=0; Erme=0; for p=1:101 for i=1:j netj(1,i)=v(1,i)*x(1,p); y(1,i)=1/(1+exp(-netj(1,i); end; o(1,p)=w*y+zhaosheng(p);%噪声 wucha=d(1,p)-o(1,p);%误差 err(1,p)=1/2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 神经网络 基于 BP 网络 多层 感知 实验 报告

链接地址:https://www.31ppt.com/p-4228225.html