matlab-线性分类器的设计

matlab-线性分类器的设计

ID:47251014

大小:630.73 KB

页数:12页

时间:2019-08-30

matlab-线性分类器的设计_第1页
matlab-线性分类器的设计_第2页
matlab-线性分类器的设计_第3页
matlab-线性分类器的设计_第4页
matlab-线性分类器的设计_第5页
资源描述:

《matlab-线性分类器的设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、线性分类器设计1问题描述对“datal.m”数据,分别采用感知机算法、最小平方误差算法、线性SVM算法设计分类器,分别画出决策面,并比较性能。(注意讨论算法中参数设置的影响。)2方法描述2.1感知机算法线性分类器的笫一个迭代算法是1956年由FrankRosenblatt提出的,即具有自学习能力的感知器(Perceptron)神经网络模型,用来模拟动物或者人脑的感知和学习能力。这个算法被提出后,受到了很大的关注。感知器在神经网络发展的历史上占据着特殊的位置:它是笫一个从算法上完整描述的神经网络,是一种具有分层神经网络结构、神经元Z间有自适应权相连接的神经网络的一个基本网络。感知器的学习过程

2、是不断改变权向量的输入,更新结构中的可变参数,最后实现在有限次迭代之后的收敛。感知器的基本模型结构如图1所示:wO图1感知器基本模型其屮,X输入,Xi表示的是第i个输入;Y表示输出;W表示权向量;wO是阈值,f是一个阶跃函数。感知器实现样本的线性分类主要过程是:特征向量的元素xl,x2,……,xk是网络的输入元素,每一个元素与相应的权wi相乘。,乘积相加后再与阈值wO相加,结果通过f函数执行激活功能,f为系统的激活函数。因为f是一个阶跃函数,故当自变量小于0时,仁・1;当自变量大于0时,匸1。这样,根据输出信号Y,把相应的特征向量分到为两类。然而,权向量w并不是一个已知的参数,故感知器算法

3、很重要的一个步骤即是寻找一个合理的决策超平面。故设这个超平面为w,满足:W1^X>0,VxG⑴v/*XV0,&XGCO-,引入一个代价函数,定义为:J(w)=>氏*W7xgY英中,Y是权向量w定义的超平面错误分类的训练向量的子集。变量①定义为:当时,6a.--1;当xwa)2时,4=+1。显然,J(w)MO。当代价函数J(w)达到最小值0吋,所有的训练向量分类都全部正确。为了计算代价函数的最小迭代值,可以采用梯度下降法设计迭代算法,即:(3)⑷⑺+1)=W(H)-Pn亘絆

4、M.=H,(z/)其屮,w(n)是第n次迭代的权向量,几有多种取值方法,在本设计中采用固定非负值。由J(w)的定义,可

5、以进一步简化(3)得到:+1)=-p^Sx^X(4)x^Y通过(4)来不断更新w,这种算法就称为感知器算法(perceptronalgorithm)□可以证明,这种算法在经过有限次迭代之后是收敛的,也就是说,根据(4)规则修正权向量w,可以让所有的特征向量都正确分类。采用感知器算法实现datal.m的数据分类流程如图2所示:结束图2单层感知器算法程序流程MATLAB程序源代码如下:functionPerl()clearall;closeall;咎样本初始化xl(lzl)=0.1;xl(lz2)=1.1;xl(2,1)=6.8;xl(2,2)=7.1;xl(3f1)=-3.5;xl(3,2)

6、=-4.1;xl(4,1)=2.0;xl(4,2)=2.7;xl(5,1)=4.1;xl(5Z2)=2.8;xl(6Z1)=3.1;xl(6,2)=5.0;xl(7,1)=-0.8;xl(7Z2)=-1.3;xl(8,1)=0.9;xl(8,2)=1.2;[8.44.1;4.2-4.30.01.61.9-3.2-4.0-6.13.7・2.2]x2(1z1)=7.1;x2(1z2)=;x2(2Z1)=-1.4;x2(2,2)=;x2(3,1)=4.5;x2(3,2)=;x2(4,1)=6.3;x2(4,2)=;x2(5,1)=4.2;x2(5Z2)=;x2(6,1)=1.4;x2(6,2)=

7、;x2(7Z1)=2.4;x2(7,2)=;x2(8,1)=2.5;x2(8,2)=;fori=l:8rl(i)=xl(i,1);end;fori=l:8r2(i)=xl(i,2);end;fori=l:8r3(i)=x2(i,1);end;fori=l:8r4(i)=x2(i,2);end;figure(1);plot(rl,r2,'*',r3,r4,'o');holdon;%保持当前的轴和图像不被刷新,在该图上接着绘制下一图xl(:,3)=1;%考虑到不经过原点的超平面,对x进行扩维x2(:,3)=1;%使x*=[x1],x为2维的,故加1扩为3维数进行初始化w=rand(3,1);%

8、随机给选择向量,牛成一个3维列向量p=1;%p0菲负止实数oxi=-1;%代价函数中的变量ox2=1;%当x属于wl时为-1,当x属于w2时为1s=1;%标识符,当s=0时,表示迭代终止n=0;%表示迭代的次数wl=[0;0;0];whiles%开始迭代J=0;%假设初始的分类全部正确j=[0;0;0];%j=ox*xfori=1:45if(xl(i,:)*w)>0咎査看xl分类是否错误,在x属于wl却被错误分类的情况下

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

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

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