- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
感知器准则算法实验原理: 假设已知一组容量为N的样本集,,…,,其中为维增广样本向量,分别来自和类。如果有一个线性机器能把每个样本正确分类,即存在一个权向量,使得对于任何,都有0,而对一任何,都有0,则称这组样本集线性可分;否则称线性不可分。若线性可分,则必存在一个权向量,能将每个样本正确分类。 由上面原理可知,样本集,,…,是线性可分,则必存在某个权向量,使得如果我们在来自类的样本前面加上一个负号,即令=—,其中,则也有0。因此,我们令那么,我们就可以不管样本原来的类型标志,只要找到一个对全部样本都满足0,的权向量就行了。此过程称为样本的规范化,成为规范化增广样本向量,后面我们用来表示它。我们的目的是找到一个解向量,使得为此我们首先考虑处理线性可分问题的算法,先构造这样一个准则函数式中是被权向量错分类的样本集合。错分类时有,或因此总是大于等于0。下一步便是求解使达到极小值时的解向量。这里我们采用梯度下降法,首先对求梯度,这是一个纯量函数对向量的求导问题,不难看出梯度是一个向量,其方向是J增长最快的方向,福梯度方向是减小最快的,这指引我们在求准则函数的极小值时沿负梯度方向能最快达到极小值点。梯度下降法的迭代公式为,将上式代入得这样,经过有限次修改,一定能找到一个解向量。其中任意给定权向量。实验内容:实验所需样本数据如下表给出(每个样本空间为两维,x1表示一维的值,x2表示第二维的值),编制程序实现、、类的分类。我们将符号简化,把=1。这样,梯度下降算法可以写成其中对任何都有。实验时,=1的情况来找到一个解向量。 感知器算法实验数据样本12345678910W1x10.16.8-3.52.04.13.1-0.80.95.03.9x21.17.1-4.12.72.85.0-1.31.26.44.0W2x17.1-1.44.56.34.21.42.42.58.44.1x24.2-4.30.01.61.9-3.2-4.0-6.13.7-2.2W3x1-3.00.52.9-0.1-4.0-1.3-3.4-4.1-5.11.9x2-2.98.72.15.22.23.76.23.41.65.1W4x1-2.0-8.9-4.2-8.5-6.7-0.5-5.3-8.7-7.1-8.0x2-8.40.2-7.7-3.2-4.2-9.2-6.7-6.4-9.7-6.3实验结果及分析:1)梯度下降算法输出结果:a=[0;0;0]的收敛步骤a=[1;1;1]的收敛步骤a=[1;1;1]将更快收敛到。由此可见对于同一个样本,权向量的初值会影响到修正时的收敛步数。梯度下降算法:主要程序clear;W1=[0.1 6.8 -3.5 2.0 4.1 3.1 -0.8 0.9 5.0 3.9; 1.1 7.1 -4.1 2.7 2.8 5.0 -1.3 1.2 6.4 4.0];W2=[7.1 -1.4 4.5 6.3 4.2 1.4 2.4 2.5 8.4 4.1; 4.2 -4.3 0.0 1.6 1.9 -3.2 -4.0 -6.1 3.7 -2.2];W3=[-3.0 0.5 2.9 -0.1 -4.0 -1.3 -3.4 -4.1 -5.1 1.9; -2.9 8.7 2.1 5.2 2.2 3.7 6.2 3.4 1.6 5.1];%将所有训练样本进行规范化增广ww1=[ones(1,size(W1,2));W1];ww2=[ones(1,size(W2,2));W2];ww3=[ones(1,size(W3,2));W3];%对W1、W2训练w12=[ww1,-ww2];%增广样本规范化为w12y=zeros(1,size(w12,2));%产生大小为1行,size(x,2)列的矩阵,矩阵元素都是0。a=[0;0;0];%初始权向量ak=0;while any(y=0) for i=1:size(y,2) %y矩阵的列数 y(i)=a*w12(:,i); %a’表示转秩 end; a=a+(sum((w12(:,find(y=0)))));%修正向量a k=k+1;%收敛步数end;a %显示最终求得的权向量a的值k %迭代次数值subplot(1,2,1);plot(W1(1,:),W1(2,:),r.);hold on;plot(W2(1,:),W2(2,:),*);%找到样本在坐标中的集中区域,以便于打印样本坐标图xmin=min(min(W1(1,:)),min(W2(1,:)));xmax=max(max(W1(1,:)),max(W2(1,:)));xindex=xmin-1:(xmax-xmin)/10
文档评论(0)