已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
智能信息处理技术基础实验报告专业班级电子信息工程1001班学生姓名潘新南学生学号1012140123指导教师周春临实验一 感知器网络的训练与应用一、实验目的1、掌握感知器网络的基本概念及训练方法;2、掌握感知器网络的基本使用;3、掌握利用Matlab对感知器网络进行构建与实现的方法。二、实验原理1、感知器网络模型(1)感知器网络模型的拓扑结构如图1所示: (2)感知器网络模型学习算法a、初始化:赋予权值一个较小的随机值错误!未找到引用源。(非零值);b、将第错误!未找到引用源。个模式错误!未找到引用源。送入输入神经元,并给出理想输出值错误!未找到引用源。;c、计算神经元网络模型的实际输出错误!未找到引用源。;d、根据错误!未找到引用源。与错误!未找到引用源。计算第错误!未找到引用源。条连线的权值增量:e、转b,选取第个样本,直到学完所有输入样本;f、按式g、若,转到b,否则结束。三、实验内容1、利用Matlab对感知器网络进行构建与实现(1)Percept1(简单分类问题):设计单一感知器神经元来解决一个简单的分类问题:将4个输入向量分为两类,其中两个输入向量对应的目标值为1,另两个对应的目标值为0,输入向量为:P=-2-0.90.5-0.5;-0.20.8-0.62.0,目标向量为:T=1010,源程序如下:P=-2-0.90.5-0.5;-0.20.8-0.62.0;T=1010;plotpv(P,T);pause;net=newp(-11;-11,1);watchon;cla;plotpv(P,T);linehandle=plotpc(net.IW1,net.b1);E=1;net=init(net);linehandle=plotpc(net.IW1,net.b1);while(sse(E)net,Y,E=adapt(net,P,T);linehandle=plotpc(net.IW1,net.b1);drawnow;end;pause;watchoff;p=0;-0.5;a=sim(net,p);plotpv(p,a);ThePoint=findobj(gca,type,line);set(ThePoint,Color,red);holdon;plotpv(P,T);plotpc(net.IW1,net.b1);holdoff;disp(Endofpercept1);运行结果如下图所示:(2) Percept2(多个感知器神经元的分类问题):将上例的输入向量扩充为10组,将输入向量分为4类,即输入向量为:P=0.60.70.90.91.70.00.4-0.7-0.4-1.5;1.61.81.60.70.80.60.50.9-1.0-1.3,目标向量为:T=1110011101;0000011111,源程序如下:P=0.60.70.90.91.70.00.4-0.7-0.4-1.5;1.61.81.60.70.80.60.50.9-1.0-1.3;T=1110011101;0000011111;plotpv(P,T);net=newp(-1.51;-1.51,2);figure;watchon;cla;plotpv(P,T);linehandle=plotpc(net.IW1,net.b1);E=1;net=init(net);linehandle=plotpc(net.IW1,net.b1);while(sse(E)net,Y,E=adapt(net,P,T);linehandle=plotpc(net.IW1,net.b1,linehandle);drawnow;end;watchoff;figure;p=0.7;1.2;a=sim(net,p);plotpv(p,a);ThePoint=findobj(gca,type,line);set(ThePoint,Color,red);holdon;plotpv(P,T);plotpc(net.IW1,net.b1);holdoff;disp(Endofpercept2);运行结果如下图所示:(3) Percept3(输入奇异样本对网络训练的影响)当网络的输入样本中存在奇异样本时(即该样本向量相对其他所有样本向量特别大或特别小),此时网络训练时间将大大增加,如输入向量为:P=-0.7-0.50.6-0.1-40;-0.60.7-0.51.060,目标向量为:T=11011,源程序如下:P=-0.7-0.50.6-0.1-40;-0.60.7-0.51.060;T=11011;plotpv(P,T);net=newp(-401;-150,1);pause;plotpv(P,T);linehandle=plotpc(net.IW1,net.b1);cla;plotpv(P,T);linehandle=plotpc(net.IW1,net.b1);E=1;net.adaptParam.passes=1net=init(net);linehandle=plotpc(net.IW1,net.b1);while(sse(E)net,Y,E=adapt(net,P,T);linehandle=plotpc(net.IW1,net.b1,linehandle);drawnow;end;pause;p=0.7;1.2;a=sim(net,p);plotpv(p,a);ThePoint=findobj(gca,type,line);set(ThePoint,Color,red);holdon;plotpv(P,T);plotpc(net.IW1,net.b1);holdoff;pause;axis(-22-22);disp(Endofpercept3);运行结果如下图所示:在上述网络中由于样本向量相对其他所有样本向量特别大或特别小,故网络训练时间将大大增加,为解决此问题只需用标准化感知器学习规则训练即可大大缩短训练时间。原始感知器学习规则的权值调整为:标准化感知器学习规则的权值调整为:编写源程序如下:P=-0.6-0.80.5-0.5-40;-0.50.5-0.51.350;T=11001;plotpv(P,T);pause;net=newp(-401;-150,1,hardlim,learnpn);cla;plotpv(P,T);linehandle=plotpc(net.IW1,net.b1);E=1;net.adaptParam.passes=1;net=init(net);linehandle=plotpc(net.IW1,net.b1); while(sse(E)net,Y,E=adapt(net,P,T);linehandle=plotpc(net.IW1,net.b1,linehandle);drawnow;end;pause;p=0.7;1.2;a=sim(net,p);plotpv(p,a);ThePoint=findobj(gca,type,line);set(ThePoint,Color,red);holdon;plotpv(P,T);plotpc(net.IW1,net.b1);holdoff;pause;axis(-22-22);disp(Endofpercept4);采用标准化感知器学习规则训练的运行结果如下图所示:(4) Percept5(线性不可分的输入向量)定义向量,输入向量为:P=-0.5-0.50.3-0.1-0.8;-0.50.5-0.51.00.0;输出向量为:T=11000;源程序如下:P=-0.8-0.50.30-0.8; -0.10.5-0.51.00.0;T=11010;plotpv(P,T);net=newp(-11;-11,1);plotpv(P,T);linehandle=plotpc(net.IW1,net.b1);pause;fora=1:25net,Y,E=adapt(net,P,T);linehandle=plotpc(net.IW1,net.b1,linehandle);drawnow;end;运行结果如下图所示:四、实验心得单层感知器仅对线性可分问题具有分类能力故具有一定的局限性,由于它的结构与功能都比较简单,所以在解决实际问题时很少被采用,但在神经网络中具有重要意义,是研究其他网络的基础,而且较容易学习和理解,适合与作为学习神经网络的起点。在输入奇异样本时,采用标准化感知器学习规则训练即可大大缩短训练时间。实验二BP网络的训练与应用一 实验目的:1.理解基于BP网络的多层感知器的工作原理2.通过调节算法参数的了解参数的变化对BP多层感知器训练的影响3了解BP多层感知器的局限性二 实验内容:1根据实验内容推导出输出的计算公式以及误差的计算公式2使用Matlab编程实现BP多层感知器3调节学习率及隐结点的个数,观察对于不同的学习率、不同的隐结点个数时算法的收敛速度4改用批处理的方法实验权值的收敛,并加入动量项来观察批处理以及改进的的算法对结果和收敛速度的影响。三实验原理以及过程的推导1. 基本BP 算法的多层感知器模型下面所示是一个单输入单输出的BP多层感知器的模型,它含有一个隐层。下面对误差和权值的调整过程进行推导对于单样本的输入Xi则隐层的输出:yi=f1(netj);netj=(xi*vi)输出层的输出:O=f2(net);net=(wi*yi)变换函数:f1=f2=x;当网络输出与期望输出不等时,存在输出误差EE=(d-o)2;计算各层的误差:把误差分配到各层以调整各层的权值,所以,各层权值的调整量等于误差E对各权值的负偏导与学习率的乘积,计算得到对权值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 赋随机数,将样本模式计数器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,p)*w(1,i)*y(1,i)*(1-y(1,i)*x(1,p)Step 6 检查是否对所有样本完成一次轮训若pP,计算器p=p+1,q=q+1,返回Step 2, 否则转到Step 7Step 7 检查网络总误差是否达到精度要求当用ERME 作为网络的总误差时,若满足ERMEEmin,训练结束,否则E 置0,p 置1,返回Step 2。单样本训练:每输入一个样本,都要回传误差并调整权值,会导致收敛速度过慢批处理(Batch)训练:根据总误差,计算各层的误差信号并调整权值,在样本数较多时,批训练比单样本训练时的收敛速度快五 实验结果对于单本输入的网络程序如下:function 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,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 q30000 %设定最大的迭代交数 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); 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(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 ErmeEmin break;%误差达到允许值时停止迭代 end;end;%输入结果Ermeplot(x,d,-r);hold on;plot(x,o,-.b);xlabel(Hermit多项式曲线与所构建BP网络输出曲线)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.097840.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.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.095470.08972120.092580.92150.091270.092380.093410.08931六.问题回答1. 比较单样本训练和批处理训练的区别;答:单样本输入是每输入一个样本就调整一次权值,并计算误差的大小,而对于批处理来说,是等所有的样本都输入以后再调整权值.当样本较多的时候批处理能获得较快的收敛速度.2. 根据结果分析增加动量项后算法的变化答:加入动量项后,就等于让权值的收敛方向向着一定的方向进行,由输出的数据可以看出这一点,对于相同的结点数,相同的学习率,加入动量项后,收速度即迭代次数明显的降低.3. 改变不同参数的BP网络运行情况及结果,并给予相应的结果分析答:改变不同参数,对网络运行情况的影响,可以概括为:随着结点数的增多,收敛的概率和速度都会相应的有把增加.相应的误差会要小一点.但误差的大小除了取决于结点外,还主要决定于到达允许误差时的值,所以总误差的值有一定的随机性.对于改变网络的学习率,对来说小的学习率会使收敛更稳定一点,但是速度也会相对地慢一点,大的学习率在一定程度上能加快收敛的速度,但是稳定性要比小的学习率小的多,换句话说,大的学习率收敛的概率要小得多,很容易发散,所以说,随着学习的增大,迭代的次数会先减小后增大。大到一定程度进,由于波动太大。结果就不在收敛。4. 思考:输出层可以采用Sigmoid函数吗?为什么?答:输出层可以采用的函数很多,从理论上说,一个函数都是可以应用的,但是如果采用Sigmoid函数的话,占用的内存要比用线性函数大的多,相对的运行的速度也要比用线性函数慢的多,而对于连续的函数的拟合,输出函数用线性函数就能很好的解决。5. 试验中遇到的问题和解决方法?答:在开始的时候把问题想得太简单,在没有加阈值的情下编出了程序,运行后才发现,结点数很多,想明白后再阈值加上使程序显得混乱。实验三SOM模型的训练与应用一、实验目的:1、熟悉MATLAB中SOM神经网络工具箱的使用方法;2、了解SOM神经网络各种优化算法的原理;3、掌握SOM神经网络各种优化算法的特点;4、掌握使用SOM神经网络各种优化算法解决实际问题的方法。二、实验内容:从网络结构上来说,SOM网络最大的特点是神经元被放置在一维、二维或者更高维的网格节点上。下图就是最普遍的自组织特征映射二维网格模型。SOM网络的一个典型特性就是可以在一维或二维的处理单元阵列上,形成输入信号的特征拓扑分布,因此SOM网络具有抽取输入信号模式特征的能力。SOM网络一般只包含有一维阵列和二维阵列,但也可以推广到多维处理单元阵列中去。下面只讨论应用较多的二维阵列。输入层是一维的神经元,具有N个节点,竞争层的神经元处于二维平面网格节点上,构成一个二维节点矩阵,共有M个节点。输入层与竞争层的神经元之间都通过连接权值进行连接,竞争层临近的节点之间也存在着局部的互联。SOM网络中具有两种类型的权值,一种是神经元对外部输入的连接权值,另一种是神经元之间的互连权值,它的大小控制着神经元之间相互作用的强弱。在SOM网络中,竞争层又是输出层。SOM网络通过引入网格形成了自组织特征映射的输出空间,并且在各个神经元之间建立了拓扑连接关系。神经元之间的联系是由它们在网格上的位置所决定的,这种联系模拟了人脑中的神经元之间的侧抑制功能,成为网络实现竞争的基础。SOM网络的主要目的是将任意维数的输入转换为一维或二维的离散映射,并且以拓扑有序的方式自适应实现
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 课题申报参考:金融高质量发展视角下的区域广义协调发展机理与政策统筹研究
- 课题申报参考:减碳责任量化与多产品企业投资绿色转型:内在机理、效应评估与策略选择
- 2025版委托担保合同范本:供应链金融合作风险控制协议3篇
- 二零二五版国际物流保险合同订立与理赔3篇
- 2025年伊犁货车从业资格证考什么
- 2025年度个人自建别墅地基买卖合同8篇
- 二零二五年度混凝土工程进度协调协议2篇
- 二零二五版木材加工企业环保责任承诺合同4篇
- 2025年建筑钢材批量供应及售后保障合同3篇
- 二零二五年度夫妻离婚后子女医疗费用分担协议2篇
- 2025-2030年中国陶瓷电容器行业运营状况与发展前景分析报告
- 二零二五年仓储配送中心物业管理与优化升级合同3篇
- 2025届厦门高三1月质检期末联考数学答案
- 音乐作品录制许可
- 江苏省无锡市2023-2024学年高三上学期期终教学质量调研测试语文试题(解析版)
- 拉萨市2025届高三第一次联考(一模)英语试卷(含答案解析)
- 开题报告:AIGC背景下大学英语教学设计重构研究
- 师德标兵先进事迹材料师德标兵个人主要事迹
- 连锁商务酒店述职报告
- 2024年山东省烟台市初中学业水平考试地理试卷含答案
- 《实践论》(原文)毛泽东
评论
0/150
提交评论