实验一报告实验一--基于感知器的线性分类器设计.doc

实验一报告实验一--基于感知器的线性分类器设计.doc

ID:52715838

大小:131.50 KB

页数:6页

时间:2020-03-29

实验一报告实验一--基于感知器的线性分类器设计.doc_第1页
实验一报告实验一--基于感知器的线性分类器设计.doc_第2页
实验一报告实验一--基于感知器的线性分类器设计.doc_第3页
实验一报告实验一--基于感知器的线性分类器设计.doc_第4页
实验一报告实验一--基于感知器的线性分类器设计.doc_第5页
资源描述:

《实验一报告实验一--基于感知器的线性分类器设计.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、北华大学开放实验报告实验名称:实验一基于感知器的线性分类器设计所属课程:模式识别班级:信息10—1学号:36姓名:张慧6实验一、基于感知器算法的线性分类器设计一、实验目的:1.熟悉感知器算法。2.掌握感知准则函数分类器设计方法。3.掌握感知器算法,利用它对输入的数据进行分类。二、实验原理:感知机算法线性分类器的第一个迭代算法是1956年由FrankRosenblatt提出的,即具有自学习能力的感知器(Perceptron)神经网络模型,用来模拟动物或者人脑的感知和学习能力。这个算法被提出后,受到了

2、很大的关注。感知器在神经网络发展的历史上占据着特殊的位置:它是第一个从算法上完整描述的神经网络,是一种具有分层神经网络结构、神经元之间有自适应权相连接的神经网络的一个基本网络。感知器的学习过程是不断改变权向量的输入,更新结构中的可变参数,最后实现在有限次迭代之后的收敛。感知器的基本模型结构如图1所示:图1感知器基本模型其中,X输入,Xi表示的是第i个输入;Y表示输出;W表示权向量;w0是阈值,f是一个阶跃函数。感知器实现样本的线性分类主要过程是:特征向量的元素x1,x2,……,xk是网络的输入元素

3、,每一个元素与相应的权wi相乘。,乘积相加后再与阈值w0相加,结果通过f函数执行激活功能,f为系统的激活函数。因为f是一个阶跃函数,故当自变量小于0时,f=-1;当自变量大于0时,f=1。这样,根据输出信号Y,把相应的特征向量分到为两类。6然而,权向量w并不是一个已知的参数,故感知器算法很重要的一个步骤即是寻找一个合理的决策超平面。故设这个超平面为w,满足:(1)引入一个代价函数,定义为:(2)其中,Y是权向量w定义的超平面错误分类的训练向量的子集。变量定义为:当时,=-1;当时,=+1。显然,J

4、(w)≥0。当代价函数J(w)达到最小值0时,所有的训练向量分类都全部正确。为了计算代价函数的最小迭代值,可以采用梯度下降法设计迭代算法,即:(3)其中,w(n)是第n次迭代的权向量,有多种取值方法,在本设计中采用固定非负值。由J(w)的定义,可以进一步简化(3)得到:(4)通过(4)来不断更新w,这种算法就称为感知器算法(perceptronalgorithm)。可以证明,这种算法在经过有限次迭代之后是收敛的,也就是说,根据(4)规则修正权向量w,可以让所有的特征向量都正确分类。采用感知器算法实

5、现data1.m的数据分类流程如图2所示:图2单层感知器算法程序流程6三、实验内容1.获得增广样本向量和初始增广权向量2..对样本进行规范化处理3.获得解区,并用权向量迭代修正错分样本集,得到最终解区四、实验程序functionPer1()clearall;closeall;DATA=xlsread('zb0708.xls');fori=1:45x1(i,1)=DATA(i,1)x1(i,2)=DATA(i,2)endfori=1:55x2(i,1)=DATA(i,3)x2(i,2)=DATA(i

6、,4)endfori=1:45r1(i)=x1(i,1);end;fori=1:45r2(i)=x1(i,2);end;fori=1:55r3(i)=x2(i,1);end;fori=1:55r4(i)=x2(i,2);end;figure(1);plot(r1,r2,'*',r3,r4,'o');holdon;%保持当前的轴和图像不被刷新,在该图上接着绘制下一图x1(:,3)=1;%考虑到不经过原点的超平面,对x进行扩维x2(:,3)=1;%使x'=[x1],x为2维的,故加1扩为3维%进行初始

7、化w=rand(3,1);%随机给选择向量,生成一个3维列向量419.4813-719.9205-247.3682p=1;%p0非负正实数6ox1=-1;%代价函数中的变量ox2=1;%当x属于w1时为-1,当x属于w2时为1s=1;%标识符,当s=0时,表示迭代终止n=0;%表示迭代的次数w1=[0;0;0];whiles%开始迭代J=0;%假设初始的分类全部正确j=[0;0;0];%j=ox*xfori=1:45if(x1(i,:)*w)>0%查看x1分类是否错误,在x属于w1却被错误分类的情

8、况下,w'x<0w1=w;%分类正确,权向量估计不变else%分类错误j=j+ox1*x1(i,:)';%j=ox*x。进行累积运算J=J+ox1*x1(i,:)*w;%感知器代价进行累积运算endendfori=1:55if(x2(i,:)*w)<0%查看x2分类是否错误,在x属于w2却被错误分类的情况下,w'x>0w1=w;%分类正确,权向量估计不变else%分类错误j=j+ox2*x2(i,:)';%j=ox*x。进行累积运算J=J+ox2*x2(i,:)*w;%感知器代价进

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。