智能计算第1次作业hs.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
智能计算第1次作业hs

智能计算第一次作业 数学科学学院计算0804黄爽200811130 感知器线性可分与不可分以及收敛性的讨论 问题描述: 由感知器的输入/输出的关系可知,感知器的输出只有1或0两个状态,其他值由W*P+b的值大于、等于或小于零来确定。当网络权值W和b确定后,在由各输入矢量Pj(j=1,2,…..,r)为坐标轴所组成的输入矢量空间里,可以画出W*P+b=0的轨迹,对于任意给定的一组输入矢量P,当通过感知器网络的权值W和b的作用,活落在输入空间W*P+b=0的轨迹上或落在上部或下部。为此,感知器能够线性的将输入矢量进行分类,如果用一条直线或者一个平面把一组输入的矢量正确的划分期望的类别,则称该输入的矢量是线性可分的。单层感知器对线性可分和不可分有很好的效果。 二:算法理论: 感知器是最早的人工神经网络模型。感知器对单个神经元建模,如果输入的加权和大于某个可调整的阈值就输出1,否则输出0,此即文提到的生物脉冲。图四中,输入信号(x1,x2,x3..xm)和联接权值(w1,w2,w3..wm)通常是实数值,可正可负。若xi趋向于使感知器激活,则权值wi为正值,反之为负值。 感知器本身由权值,加法器,激活函数以及可调阈值(以下称?偏置)组成。通常为了方便起见,将偏置也作为一个输入信号。单层神经网络(感知器网络)的输出单元是相互独立的-每个权值仅影响一个输出。感知器网络能用来解决线性分类问题。 感知器的学习规则:是用来计算新的权值矩阵W及新的偏差B的算法,感知器利用其学习规则来调整网络权值,以便使该网络对输入矢量的响应达到数值为0或1的目标输出。 感知器的训练规则:在输入矢量P的作用下,计算网络的实际输出A,并与相应的的目标矢量T进行比较,检查A是否等于T,然后用比较后的误差E,根据学习规则进行权值和偏差的调整;重新计算网络在新权值作用下的输入,重复权值调整过程,直到网络的输出A等于目标矢量T或训练次数达到事先设置的最大值时训练结束。若网络训练成功,那么训练后的网络在网络权值的作用下,对于被训练的每一组输入矢量都能够产生一组对应的期望输出;若在设置的最大训练次数内,网络未能完成在给定的输入矢量P的作用下,使A=T的目标,则可以通过改用新的初始权值与偏差,并采用更长训练次数进行训练,或分析一下所要解决的的问题是否属于那种由于感知器本身的限制而无法解决的一类,即线性不可分的。 三.求解步骤:1)对于所要解决的问题,确定输入矢量P,目标矢量T,并由此确定各矢量的维数以及确定网络结构大小的神经元数目:r,s,q 2)参数初始化,a)赋给权矢量W在(-1,1)的随机非零初始值;b)给出最大训练循环次数; 3)网络表达式:根据输入矢量P以及最新权矢量W,计算网络矢量A; 4)检查:检查输出矢量A与目标矢量T是否相同 5)调整权矢量 四.运行结果 线性可分的程序及产生的图: 程序一: p=[4 -0.5 0.5 1 1.5 1 0.5 2 2.5 -0.3;1 -1 0.5 -1 -1.5 0.5 2 1.5 1 3]; t=[0 1 1 1 1 1 0 0 0 0]; %在坐标图上绘出样本点 plotpv(p,t); %建立一个感知器网络 net=newp([-1,1;-1,1],1); P = [4 -0.5 0.5 1 1.5 1 0.5 2 2.5 -0.3;1 -1 0.5 -1 -1.5 0.5 2 1.5 1 3]; T = [0 1 1 1 1 1 0 0 0 0]; % 初始化 A = sim(net,P) % 训练前的网络输出 net.trainParam.epochs = 20; % 定义最大循环次数 net = train(net,P,T); % 训练网络,使输出和期望相同 net.iw{1,1} % 输出训练后的网络权值 net.b{1} % 输出训练后的网络偏差 A = sim(net,P) % 训练后的网络输出 handle=plotpc(net.iw{1},net.b{1}); %利用样本点训练网络并绘出得到的分类线 E=1; while(sse(E)); [net,Y,E]=adapt(net,p,t); handle=plotpc(net.iw{1},net.b{1},handle); end;

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档