_人工神经网络习题解答.doc

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

第九章 人工神经网络 9.1答: (1)误差纠正学习;(wkj = (ek(n)xj(n);yk(n)为输入xk(n)时,神经元k在n时刻的实际输出,dk(n)表示应有的输出(可由训练样本给出);其中η为学习步长,这就是通常所说的误差纠正学习规则(或称delta学习规则)。 (2)Hebb学习;(wkj(n) = F(yk(n),xj(n));当某一突触(连接)两端的神经元同步激活(同为激活或同为抑制)时,该连接的强度应为增强,反之应减弱;由于Δwkj与yk(n),xj(n)的相关成比例,有时称为相关学习规则。 (3)竞争(Competitive)学习; 若神经元j竞争获胜 若神经元j竞争失败;在竞争学习时,网络各输出单元互相竞争,最后达到只有一个最强者激活,最常见的一种情况是输出神经元之间有侧向抑制性连接,这样原来输出单元中如有某一单元较强,则它将获胜并抑制其它单元,最后只有此强者处于激活状态。 9.2答:略 9.3答:B-P算法的学习过程如下: (1)选择一组训练样例,每一个样例由输入信息和期望的输出结果两部分组成。 (2)从训练样例集中取一样例,把输入信息输入到网络中。 (3)分别计算经神经元处理后的各层节点的输出。 (4)计算网络的实际输出和期望输出的误差。 (5)从输出层反向计算到第一个隐层,并按照某种能使误差向减小方向发展的原则,调整网络中各神经元的连接权值。 (6)对训练样例集中的每一个样例重复(3)—(5)的步骤,直到对整个训练样例集的误差达到要求时为止。 文件头: #include stdio.h #include stdlib.h #include math.h #include UTLab.h //BP神经网络 #define n1 7 //输入节点数 #define n2 11 //中间层节点个数 #define n3 5 //输出节点数 #define m 400 //学习次数 void initialization(){} float bpnet(float tension, float inthick,float outthick, float meng, float tan,float ping,float tu) { float in1[n1]; float out1[n2]; float out2[n3]; float w1[n2][n1]; float w2[n3][n2]; float a1[n2]; float a2[n3]; float t[n3]; float df1[n2]; float df2[n3]; float s2[n3]; float s1[n2]; float w[n2][n3]; float z[n2][n3]; float a=0.5; int i=0; int j=0; int k=0; int n=0; in1[1]=tension; in1[2]=inthick; in1[3]=outthick; in1[4]=meng; in1[5]=tan; in1[6]=ping; in1[7]=tu; initialization(); for(n=1;n=m;k++){ for(i=1;i=n2;i++){ for(j=1;j=n1;j++){ a1[j]=a1[j]+w1[i][j]*in1[j]; out1[j]=sigmoid(a1[j]); } } for(i=1;i=n3;i++){ for(j=1;j=n2;j++){ a2[j]=a2[j]+w2[i][j] 文件尾: *in1[j]; out2[j]=a2[j]; } } for(i=1;i=n3;i++){ //计算敏感度,更新权值 df2[i]=1; s2[i]=-2*(t[i]-out2[i]); for(j=1;j=n2;j++){ w2[i][j]=w2[i][j]+a*out1[j]; } } for(i=1;i=n3;i++){ for(j=1;j=n2;j++){ w[j][i]=w2[i][j]; } } for(j=1;j=n2;j++){ df1[j]=(1-out1[j])*out1[j]; s1[j]=0; for(i=1;i=n3;i++){ z[j][i]=df1[j]*w[j][i]; s1[j]=s1[j]+z[j][i]*s2[

文档评论(0)

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

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

版权声明书
用户编号:5212202040000002

1亿VIP精品文档

相关文档