资源描述:
《3种线性分类器地设计及matlab建模》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用标准文案线性分类器设计(张天航空天科学技术研究院201121250314)1问题描述对“data1.m”数据,分别采用感知机算法、最小平方误差算法、线性SVM算法设计分类器,分别画出决策面,并比较性能。(注意讨论算法中参数设置的影响。)2方法描述2.1感知机算法线性分类器的第一个迭代算法是1956年由FrankRosenblatt提出的,即具有自学习能力的感知器(Perceptron)神经网络模型,用来模拟动物或者人脑的感知和学习能力。这个算法被提出后,受到了很大的关注。感知器在神经网络发展的历史上占据
2、着特殊的位置:它是第一个从算法上完整描述的神经网络,是一种具有分层神经网络结构、神经元之间有自适应权相连接的神经网络的一个基本网络。感知器的学习过程是不断改变权向量的输入,更新结构中的可变参数,最后实现在有限次迭代之后的收敛。感知器的基本模型结构如图1所示:图1感知器基本模型其中,X输入,Xi表示的是第i个输入;Y表示输出;W表示权向量;w0是阈值,f是一个阶跃函数。感知器实现样本的线性分类主要过程是:特征向量的元素x1,x2,……,xk是网络的输入元素,每一个元素与相应的权wi相乘。,乘积相加后再与阈值w
3、0相加,结果通过f函数执行激活功能,f为系统的激活函数。因为f是一个阶跃函数,故当自变量小于0时,f=-1;当自变量大于0时,f=1。这样,根据输出信号Y,把相应的特征向量分到为两类。然而,权向量w并不是一个已知的参数,故感知器算法很重要的一个步骤即是寻找一个合理的决策超平面。故设这个超平面为w,满足:精彩文档实用标准文案(1)引入一个代价函数,定义为:(2)其中,Y是权向量w定义的超平面错误分类的训练向量的子集。变量定义为:当时,=-1;当时,=+1。显然,J(w)≥0。当代价函数J(w)达到最小值0时,
4、所有的训练向量分类都全部正确。为了计算代价函数的最小迭代值,可以采用梯度下降法设计迭代算法,即:(3)其中,w(n)是第n次迭代的权向量,有多种取值方法,在本设计中采用固定非负值。由J(w)的定义,可以进一步简化(3)得到:(4)通过(4)来不断更新w,这种算法就称为感知器算法(perceptronalgorithm)。可以证明,这种算法在经过有限次迭代之后是收敛的,也就是说,根据(4)规则修正权向量w,可以让所有的特征向量都正确分类。采用感知器算法实现data1.m的数据分类流程如图2所示:图2单层感知器
5、算法程序流程精彩文档实用标准文案MATLAB程序源代码如下:functionPer1()clearall;closeall;%样本初始化x1(1,1)=5.1418;x1(1,2)=0.5950;x1(2,1)=5.5519;x1(2,2)=3.5091;x1(3,1)=5.3836;x1(3,2)=2.8033;x1(4,1)=3.2419;x1(4,2)=3.7278;x1(5,1)=4.4427;x1(5,2)=3.8981;x1(6,1)=4.9111;x1(6,2)=2.8710;x1(7,1)=
6、2.9259;x1(7,2)=3.4879;x1(8,1)=4.2018;x1(8,2)=2.4973;x1(9,1)=4.7629;x1(9,2)=2.5163;x1(10,1)=2.7118;x1(10,2)=2.4264;x1(11,1)=3.0470;x1(11,2)=1.5699;x1(12,1)=4.7782;x1(12,2)=3.3504;x1(13,1)=3.9937;x1(13,2)=4.8529;x1(14,1)=4.5245;x1(14,2)=2.1322;x1(15,1)=5.364
7、3;x1(15,2)=2.2477;x1(16,1)=4.4820;x1(16,2)=4.0843;x1(17,1)=3.2129;x1(17,2)=3.0592;x1(18,1)=4.7520;x1(18,2)=5.3119;x1(19,1)=3.8331;x1(19,2)=0.4484;x1(20,1)=3.1838;x1(20,2)=1.4494;x1(21,1)=6.0941;x1(21,2)=1.8544;x1(22,1)=4.0802;x1(22,2)=6.2646;x1(23,1)=3.062
8、7;x1(23,2)=3.6474;x1(24,1)=4.6357;x1(24,2)=2.3344;x1(25,1)=5.6820;x1(25,2)=3.0450;x1(26,1)=4.5936;x1(26,2)=2.5265;x1(27,1)=4.7902;x1(27,2)=4.4668;x1(28,1)=4.1053;x1(28,2)=3.0274;x1(29,1)=3.8414;x1(29,2)=4.226