实验一利用神经网络进行分类.docVIP

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

实验一 利用神经网络进行分类 一个经过训练的2输入神经元对5个输入向量进行分类(2类)。结合一个例子给出步骤。 实验内容(说明:这里的许多参数都可以更改,希望大家能对这个程序的参数进行修改;同时也欢迎大家提问) 两个长度为5的向量构成输入样本矩阵P,行向量T为指导向量。利用PLOTPV画出这个向量的图像。例如: P = [-0.5 -0.5 +0.3 -0.1 -4; -0.5 +0.5 -0.5 +1.0 5]; T = [1 1 0 0 1]; plotpv(P,T);//plotpv函数利用感知器的输入向量和监督向量来画输入向量的图像 注意:在上面的式子中,4输入向量比5输入向量有更小的数量级,这个感知器必须把P中的5个输入向量分成两类(依赖于T)。 MATLAB提供函数newp来创建一个指定的感知器。第一个参数指定了期望的两个输入向量的取值范围,第二个参数指定了只有一个神经元。 net = newp([-40 1;-1 50],1); 注意:这个神经元的激励函数是hardlim函数,也就是阶越函数。取0,1两个值。Hardlim三函数,也就是阶越函数。取-1,1两个值。 初始化的权值被设为0,因此任何输入都会给出同样的输出,并且分类线不会出现在这个图中,不用害怕,我们会继续训练这个神经网。 hold on linehandle = plotpc(net.IW{1},net.b{1});//plotpc函数用来画神经网络的分类线 Matlab提供了adapt函数来训练感知器,adapt函数返回一个新的能更好的执行分类、网络的输出、和误差的神经网络,这个划线函数允许网络从3个角度去调整,画分类线一直到误差为0为止。 E = 1;//E为误差 net.adaptParam.passes = 3; while (sse(E))//sse函数是用来判定误差E的函数 [net,Y,E] = adapt(net,P,T);//利用输入样本调节神经网net linehandle = plotpc(net.IW{1},net.b{1},linehandle);//画出调整以后的分类线 drawnow;//延迟一段时间 end 注意:这将会花费感知器的许多时间来训练。这对这样一个简单问题来说时间是非常长的。追究其原因在于outlier vector,尽管需要很长的训练时间,这个感知器仍然适当的学习并且被用于划分别的输入。 SIM函数能被用来划分任何别的输入向量,例如划分一个输入向量[0.7; 1.2].这个新点的图像为红色,他将用来显示这个感知器如何把这个新点从最初的训练集取分开来。 p = [0.7; 1.2]; a = sim(net,p);//利用模拟函数sim计算出新输入p的神经网络的输出 plotpv(p,a); circle = findobj(gca,type,line); set(circle,Color,red); 打开Hold,以便于以前的图像不被删除。增加训练装置和分类线在图中。 hold on; plotpv(P,T); plotpc(net.IW{1},net.b{1}); hold off; axis([-2 2 -2 2]); 最后放大感兴趣的区域。这个感知器正确的区分了我们的新点(用红色表示)作为”zero”类(用圆圈表示),而不是”one”类(用+号表示),尽管需要比较长的训练时间,这个感知器仍然适当的进行了学习。想知道在outlier vectors的情况下如何减少训练时间,需要做实验一的优化实验Normalized Perceptron Rule 练习1 熟悉并理解plotpv,plotpc函数 The code below defines and plots the inputs and targets for a perceptron: p = [0 0 1 1; 0 1 0 1]; t = [0 0 0 1]; plotpv(p,t) The following code creates a perceptron with inputs ranging over the values in P, assigns values to its weights and biases, and plots the resulting classification line. net = newp(minmax(p),1); net.iw{1,1} = [-1.2 -0.5]; net.b{1} = 1; plotpc(net.iw{1,1},net.b{1}) newp函数解释 NEWP Create a perceptron. Syntax net = newp net = newp(pr,s,tf

文档评论(0)

danli208 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档