网站大量收购独家精品文档,联系QQ:2885784924

MATLAB(感知器算法).doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB(感知器算法)

感知器算法 本算法中,首先将第一类训练样本w1和第二类训练样本w2都写成增广矩阵的形式。 W2中的样本都要乘以(-1),所以处理之后的结果为y1~y8。 题中给定的权向量初始值W(1)记为X,校正增量系数c=1。 程序主体用for循环进行迭代,对每一个样本进行计算y1*X,结果=0时 X=X+c*y1进行校正,结果0时,权向量保持不变,计算个数j+1,每一轮迭代需要与全部8个样本进行计算。当全部样本计算结果0(即某一轮迭代中0的个数j达到8)时,计算中断,表示该轮迭代中分类结果全部正确。此时可以输出解向量,并且可以表示出相应的判别函数。 本算法迭代结束时,可得出解向量为(3,-2,-3,1),判别函数为d=3*x1-2*x2-3*x3+1,判别界面即为d=0时。绘制该判别界面时,令d=0,则x3=-Y(1).*x1/Y(3)-Y(2).*x2/Y(3)-Y(4)/Y(3); 根据所得解向量进行验证当解向量为(3,-2,-3,1)时全部判别函数值0,可知分类结果正确。 本题判别界面的绘制和算法程序如下: syms x1 x2 x3 x4 d; X1=[0,0,0];X2=[1,0,0];X3=[1,0,1];X4=[1,1,0];X5=[0,0,1];X6=[0,1,1];X7=[0,1,0];X8=[1,1,1]; y1=[X1,1];y2=[X2,1];y3=[X3,1];y4=[X4,1];y5=[-X5,-1];y6=[-X6,-1];y7=[-X7,-1];y8=[-X8,-1]; c=1;X=[-1;-2;-2;0]; i=1;j=0; for i=1:1000 if(y1*X=0) X=X+c*y1; j=0; else j=j+1; end if(j==8) break; end if(y2*X=0) X=X+c*y2; j=0; else j=j+1; end if(j==8) break; end if(y3*X=0) X=X+c*y3; j=0; else j=j+1; end if(j==8) break; end if(y4*X=0) X=X+c*y4; j=0; else j=j+1; end if(j==8) break; end if(y5*X=0) X=X+c*y5; j=0; else j=j+1; end if(j==8) break; end if(y6*X=0) X=X+c*y6; j=0; else j=j+1; end if(j==8) break; end if(y7*X=0) X=X+c*y7; j=0; else j=j+1; end if(j==8) break; end if(y8*X=0) X=X+c*y8; j=0; else j=j+1; end if(j==8) break;

文档评论(0)

didala + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档