神经网络实验报告_第1页
神经网络实验报告_第2页
神经网络实验报告_第3页
神经网络实验报告_第4页
神经网络实验报告_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

神经网络实验报告实验目的和任务掌握产生实验数据的方法;掌握“时钟”的使用方法,记录程序运行时间;掌握评估神经网络学习效果的指标方法;模拟神经元模型,理解其工作原理;模拟感知机网络,用hebbu规则和BP算法训练神经网络,用实验数据测试两种算法学习效果的差异;构建两层自组织映射(SOM)神经网络、两层ART神经网络或两层hopfield神经网络,并进行测试分析,比较不同网络的差异。实验工具和方法借助软件MATLAB(R2009a)及其神经网络工具箱NeuralNetworkToolboxVersion6.0.2实验过程实验数据的产生:假设噪声数据服从均值为0,方差为1的正态分布。首先在变量论域产生100个随机数,并利用函数表达式分别计算其相应函数值,最后分别叠加噪声数据,得到与变量对应的100个实验数据。函数数据的产生:使用MATLAB生成均匀随机数的函数rand(m,n),可生成在m行n列的在(0,1)之间符合均匀分布的随机数。x0=rand(1,100);x=100*x0;如此可生成在变量论域(0,100)之间的100个符合均匀分布的随机数。假如用来生成实验数据的函数为,输入:y1=x.^2+sin(x)即可得到所需的函数数据。噪声数据的产生由于噪声数据服从均值为0,方差为1的正态分布,使用MATLAB函数randn(m,n),可生成在m行n列的在(0,1)之间符合要求的随机数。y2=randn(1,100)生成实验数据将实验数据和噪声数据叠加:y=y1+y2“时钟”的使用方法在编写MATLAB代码的时候,经常需要获知代码执行的实际时间,这就这程序中用到即使函数。MATLAB里提供了cputime,tic/toc,etime三种方法。cputime方法返回MATLAB启动以来的CPU时间,可以在程序代码执行前保存当时的CPU时间,然后在程序代码执行结束后用cputime减去之前保存的数值,就可以获取程序实际运行的时间。tic/toc方法tic用在程序代码首部,启动一个计时器;toc放在程序代码末尾,终止计时器并返回tic启动以来的总时间。etime方法etime(t1,t2)用来计算两个日期向量t1,t2之间的时间差。神经网络性能的评价使用MATLAB的性能函数mae。该函数以平均绝对误差为准则来确定神经网络的性能。单个神经元的模拟如图所示为有偏置的神经元模型,据其结构编制如下程序仿真其性能。function[uy]=mnshjy(x)w=[0.3-0.50.4];u=w*x;ifu>=1y=logsig(u);endifu<1y=0;end在上述程序中,我们去取权值向量为:取阈值为:激活函数取为logsig(对数S形函数),可取为purelin(线性函数),tansig(正切S形函数),hardlim(硬限幅函数)等等。感知机网络的模拟(采用BP算法)构建一个两层的感知机网络,激活函数均选为logsig(对数S形函数),编制如下程序进行仿真。tica1=randn(1,90);a2=100*rand(1,90);y10=2*a2+3;y20=a2.^2+sin(a2);y1=y10+a1;y2=y20+a1;p=[y1;y2];pr=minmax(p);goal=[ones(1,90);zeros(1,90)];plot(a2,y1,'h',a2,y2,'o')net=newff(pr,[3,2],{'logsig','logsig'});net.trainParam.show=10;net.trainParam.lr=0.05;net.trainParam.goal=1e-10;net.trainParam.epochs=50000;net=train(net,p,goal);y0=sim(net,p);err0=mae(y0,goal);toc上述程序,采用前述方法生成90个实验数据,将这些数据用于神经网络的训练,并记录程序运行时间,并对神经网络性能作出评价。下面的程序可以生成10个新的实验数据,用来测试前面产生的神经网络的性能。b1=randn(1,10);b2=100*rand(1,10);y10=2*b2+3;y20=b2.^2+sin(b2);h1=y10+b1;h2=y20+b1;c=[h1;h2];r=sim(net,c);t=[ones(1,10);zeros(1,10)];err=mae(r,t);如下为仿真过程中得到的图像,包括每一次运算的误差,训练状态等。程序执行时间为0.558756seconds误差为0.5000用测试数据分析,实现了准确的分类。将激活函数取为tansig(正切S形函数)后,所得结果如下:程序执行时间为59.905634seconds竞争型网络的模拟在前述前馈误差方向传播网络的基础上,采用竞争型(LVQ)网络。得到的仿真结果如下:程序执行时间为14.410639用测试数据分析,分类是有误差。自组织映射(SOM)网络的模拟构建一个两层的自组织映射网络,程序如下:tica1=randn(1,90);a2=100*rand(1,90);y10=2*a2+3;y20=a2.^2+sin(a2);y1=y10+a1;y2=y20+a1;p=[y1;y2];net=newsom([02;01],[35]);plotsom(net.layers{1}.positions);net.trainParam.epochs=10;net=train(net,p);plot(a2,y1,'h',a2,y2,'o');holdon;plotsom(net.iw{1,1},net.layers{1}.distances);holdoff;figure;net=init(net);net.trainParam.epochs=20;net=train(net,p);plotsom(net.iw{1,1},net.layers{1}.distances);toc程序执行时间为10.375700实验结论对于前馈反向传播网

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论