




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、word电气工程学院神经网络实验报告院系:电气工程学院专业:电气工程及其自动化班级:电sdfasdf姓名:adsdf学号:20df实验二 基于BP网络的多层感知器一 实验目的:1.理解基于BP网络的多层感知器的工作原理2.通过调节算法参数的了解参数的变化对BP多层感知器训练的影响3了解BP多层感知器的局限性二 实验内容:1根据实验内容推导出输出的计算公式以及误差的计算公式2使用Matlab编程实现BP多层感知器3调节学习率及隐结点的个数,观察对于不同的学习率、不同的隐结点个数时算法的收敛速度4改用批处理的方法实验权值的收敛,并参加动量项来观察批处理以及改良的的算法对结果和收敛速度的影响。三实验
2、原理以及过程的推导1. 根本BP 算法的多层感知器模型下面所示是一个单输入单输出的BP多层感知器的模型,它含有一个隐层。 输出O输出层 W=(w1,w2,.wj) . Y=(y1,y2,.yj ) 隐层 y0 V=(v1,v2,.vj) 输入层 X0 X 下面对误差和权值的调整过程进行推导对于单样本的输入Xi那么隐层的输出:yi=f1(netj);netj=(xi*vi)输出层的输出:O=f2(net);net=(wi*yi)变换函数:f1=f2=x;当网络输出与期望输出不等时,存在输出误差EE=(d-o)2;计算各层的误差:把误差分配到各层以调整各层的权值,所以,各层权值的调整量等于误差E对
3、各权值的负偏导与学习率的乘积,计算得到对权值W和权值V的调整量如下:将上面的式子展开到隐层得:E=(d-o)2=d- f2(net)= d-f2( )将上式展开到输入层得:E=(d-o)2=d- f2(net)= d-f2( f1()调整权值的原那么是使误差不断地减小,因此应使权值的调整量与误差的梯度下降成正比,即wj=-vj=-计算得到对各权值的调整为:wj=*(d(1,p)-o(1,p)*y(1,i)vj= *(d(1,p)-o(1,p)*w(1,i)*y(1,i)*(1-y(1,i)*x(1,p)其中P为第P个样本:四 实验步骤Step 1 初始化对权值矩阵W、V 赋随机数,将样本模式计
4、数器p 和训练次数计数器q 置于1,误差E置0,学习率设为01 内的小数,网络训练后的精度Emin 设为一个正的小数;Step 2 输入训练样本对,计算各层输出用当前样本Xp、dp 对向量数组X、d 赋值,用下式计算Y 和O 中各分量yi=f1(netj);netj=(xi*vi)O=f2(netj);net=(wi*yi)Step 3 计算网络输出误差设共有P 对训练样本,网络对于不同的样本具有不同的误差2 åStep 4 计算各层误差信号:各层的误差信号为误差E对各层权值的偏导Step 5 调整各层权值w=*(d(1,p)-o(1,p)*y(1,i)v= *(d(1,p)-o(1
5、,p)*w(1,i)*y(1,i)*(1-y(1,i)*x(1,p)Step 6 检查是否对所有样本完成一次轮训假设p<P,计算器p=p+1,q=q+1,返回Step 2, 否那么转到Step 7Step 7 检查网络总误差是否到达精度要求当用ERME 作为网络的总误差时,假设满足ERME<Emin,训练结束,否那么E 置0,p 置1,返回Step 2。单样本训练:每输入一个样本,都要回传误差并调整权值,会导致收敛速度过慢批处理Batch训练:根据总误差,计算各层的误差信号并调整权值,在样本数较多时,批训练比单样本训练时的收敛速度快五 实验结果对于单本输入的网络程序如下:funct
6、ion limoyan;%建立以limoyan为文件名的m文件clc;clear;x=-4:0.08:4;%产生样本j=input('j=');%输入隐结点的个数n=input('n=');%输入学习率w=rand(1,j);%对权值w赋较小的初值w0=0.5;%对权值w0赋较小的初值v=rand(1,j);%对权值V赋较小的初值v1=rand(1,j);%对权值V1赋较小的初值x0=-1;%对阈值x0赋初值y0=-1;%对阈值y0赋初值err=zeros(1,101);wucha=0;erro=;Erme=0;zong=;Emin=0.1;d=zeros(1,
7、101);%以初值0赋给期望输出for m=1:101 d(1,m)=1.1*(1.0-x(1,m)+2*x(1,m)*x(1,m)*exp(-x(1,m)*x(1,m)/2);%以Hermit多项式产生期望输出end;o=zeros(1,101);netj=zeros(1,j);net=zeros(1,j);y=zeros(1,j);p=1;q=1;while q<30000 %设定最大的迭代交数 for p=1:101 %计算隐层的输出 for i=1:j netj(1,i)=v(1,i)*x(1,p)+v1(1,i)*x0; y(1,i)=1/(1+exp(-netj(1,i);
8、end; o(1,p)=w*y'+y0*w0+0.01*randn(1,1);%计算输出并给输出加上上定的扰动 wucha=1/2*(d(1,p)-o(1,p)*(d(1,p)-o(1,p);%计算误差 err(1,p)=wucha; erro=erro,wucha; for m=1:j;%调整各层的权值 w0=w0-n*w0; w(1,m)=w(1,m)+n*(d(1,p)-o(1,p)*y(1,m); v(1,m)=v(1,m)+n*(d(1,p)-o(1,p)*w(1,m)*y(1,m)*(1-y(1,m)*x(1,p); v1(1,m)=v1(1,m)+n*(d(1,p)-o(
9、1,p)*w(1,m)*y(1,m)*(1-y(1,m)*x0; end; q=q+1; end; Erme=0; for t=1:101; Erme=Erme+err(1,t); end; err=zeros(1,101); Erme=sqrt(Erme/101); zong=zong,Erme; if Erme<Emin break;%误差到达允许值时停止迭代 end;end;%输入结果Ermeplot(x,d,'-r');hold on;plot(x,o,'-.b');xlabel('Hermit多项式曲线与所构建BP网络输出曲线')
10、qfigure(2);plot(zong);xlabel('误差的收敛曲线')命令窗口的输出如下:j=5n=0.05Erme = 0.0996q = 19999Hermit多项式曲线与所构建BP网络输出曲线:误差的收敛曲线如下:单样本训练的统计如下:学习率结点数0.050.070.10.120.150.1750.093600.086590.097840.093640.087250.0932480.099210.089210.094580.091250.084570.09478100.89250.087940.085270.091450.084120.09147120.09784
11、0.092580.087960.091580.078360.08397对于批处理的情况:在原程序的根底上改变中间的一段;命令窗口的输出如下:j=10n=0.1Erme = 0.0997q = 15757Hermit多项式曲线与所构建BP网络输出曲线:误差的收敛曲线如下:单样本训练的统计如下:学习率结点数0.050.070.10.120.150.1750.099060.095870.094570.090960.099140.0987470.092580.091050.092670.091580.094570.09547100.089420.093240.091280.084570.092170.
12、09527120.085960.089250.087590.091540.082470.09457对于参加动量项的网络如下: 命令窗口的输出如下:j=15n=0.1Erme = 0.1000q = 6768Hermit多项式曲线与所构建BP网络输出曲线:误差的收敛曲线如下:单样本训练的统计如下:学习率结点数0.050.070.10.120.150.1750.096570.095780.096540.0983540.098240.0904780.096580.093680.093420.096480.094270.09153100.092570.094570.092310.094260.0954
13、70.08972120.092580.92150.091270.092380.093410.08931六.问题答复1. 比拟单样本训练和批处理训练的区别;答:单样本输入是每输入一个样本就调整一次权值,并计算误差的大小,而对于批处理来说,是等所有的样本都输入以后再调整权值.当样本较多的时候批处理能获得较快的收敛速度.2. 根据结果分析增加动量项后算法的变化答:参加动量项后,就等于让权值的收敛方向向着一定的方向进行,由输出的数据可以看出这一点,对于相同的结点数,相同的学习率,参加动量项后,收速度即迭代次数明显的降低.2 改变不同参数的BP网络运行情况及结果,并给予相应的结果分析答:改变不同参数,对网络运行情况的影响,可以概括为:随着结点数的增多,收敛的概率和速度都会相应的有把增加.相应的误差会要小一点.但误差的大小除了取决于结点外,还主要决定于到达允许误差时的值,所以总误差的值有一定的随机性.对于改变网络的学习率,对来说小的学习率会使收敛更稳定一点,但是速度也会相对地慢一点,大的学习率在一定程度上能加快收敛的速度,但是稳定性要比小的学习率小的多,换句话说,大的学习率收敛的概率要小得多,很容易发散,所以说,随着学习的增大,迭代的次数会先减小后增大。大到一定程度进,由于波动太大。结果就不在收敛;3 思考
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能硬件研发合作合同(2篇)
- 《餐饮服务与管理》课件-教学课件:中餐宴会服务
- 2025届高三押题信息卷(一)地理及答案
- 蝶骨嵴脑膜瘤的临床护理
- 团建新质生产力活动
- 2025年人教版小学数学一年级上册期中考试卷(带答案)
- 新质生产力新愿望
- 2025年监理工程师之水利工程目标控制自我检测试卷B卷附答案
- 2025年执业药师之西药学专业二全真模拟考试试卷B卷含答案
- 2020-2024年上海市秋考语文试题汇编含答案
- 刻字机快速使用指南
- 金蝶K3-WISE财务管理全操作手册
- 电路 (第四版) 全套教学课件
- 肥料、农药采购服务方案(技术方案)
- ISO17025经典培训教材
- 砖砌隔油池施工方案
- 2022山东省中鲁远洋渔业股份限公司招聘23人上岸笔试历年难、易错点考题附带参考答案与详解
- GA/T 1999.2-2022道路交通事故车辆速度鉴定方法第2部分:基于汽车事件数据记录系统
- 地基钎探记录表
- 中班科学《筷子提米》
- 北京大学研修班通讯录
评论
0/150
提交评论