- 1、本文档共52页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8篇 章 神经网络-Hopfield网络.ppt
DHNN的设计目的是使任意输入矢量经过网络循环最终收敛到网络所记忆的某个样本上。 因为霍普菲尔德网络有wij=wji,所以完整的霍普菲尔德网络权值设计公式应当为: 用向量形式表示为: 当α=1时有: 其中,I为单位对角矩阵。 在神经网络工具箱中有关采用海布公式求解网络权矩阵变化的函数为learnh.m和learnhd.m,后者为带有衰减学习速率的函数: dW=1earnh(P,A,lr); 或 dW=learnhd(W,P,A,lr,dr); 对于简单的情况,lr可以选择1;对于复杂的应用,可取lr=0.1~0.5,dr=lr/3。 8.3.4 影响记忆容量的因素 设计DHNN网络的目的,是希望通过所设计的权值矩阵W储存多个期望模式。 从海布学习公式的推导过程中可以看出:当网络只记忆一个稳定模式时,该模式肯定被网络准确无误地记忆住,即所设计的W值一定能够满足正比于输入和输出矢量的乘积关系。 但当需要记忆的模式增多时,情况则发生了变化,主要表现在下面两点上: (1) 权值移动 当k=1时,有: 此时,网络准确的记住了样本T1,当k=2时,为了记忆样本T2,需要在记忆了样本Tl的权值上加上对样本T2的记忆项T2T2T-I,将权值在原来值基础上产生了移动。 随着学习样本数k的增加,权值移动现象将进一步发生,当学习了第q个样本Tq后,权值又在前q-1个样本修正的基础上产生了移动,这也是网络在精确的学习了第一个样本后的第q-1次移动。 对已记忆的样本发生遗忘,这种现象成为“疲劳”。 另一方面,由于在学习样本T2时,权矩阵W是在已学习了T1的基础上进行修正的。此时,因W起始值不再为零,所以由此调整得出的新的W值,对记忆样本T2来说,也未必对所有的s个输出同时满足符号函数的条件,即难以保证网络对T2的精确的记忆。 (2) 交叉干扰 设输入矢量P维数为r×q,取α=1/r,因为对于DHNN有Pk∈{-1,1},k=1,2,…,q,所以有pik*pjk=pjk*pjk=1。当网络某个矢量Pl,l∈[1,q],作为网络的输入矢量时,可得网络的加权输入和nil为: 上式右边中第一项为期望记忆的样本,而第二项则是当网络学习多个样本时,在回忆阶段即验证该记忆样本时,所产生的相互干扰,称为交叉干扰项。 8.3.5 网络的记忆容量确定 只要满足r>q,则有sgn(Nl)=Pl,保证Pl为网络的稳定解。 DHNN用于联想记忆有两个突出的特点:即记忆是分布式的,而联想是动态的。 DHNN局限性,主要表现在以下几点:①记忆容量的有限性;②伪稳定点的联想与记忆;③当记忆样本较接近时,网络不能始终回忆出正确的记忆等。 另外网络的平衡稳定点并不可以任意设置的,也没有一个通用的方式来事先知道平衡稳定点。 所以真正想利用好霍普菲尔德网络并不是一件容易的事情。 8.3.6 DHNN权值设计的其他方法 (1)δ学习规则: (2) 伪逆法 W=N×P* 其中P*为P的伪逆,有P*=(PTP)-1PT,如果样本之间是线性无关的,则PTP满秩,其逆存在,则可求出权矩阵W来。由于存在求逆等运算,伪逆法较为繁琐,而海布法则要容易求得多。 (3) 正交化的权值设计 这一方法的基本思想和出发点是为了满足下面四个要求: 1) 保证系统在异步工作时的稳定性; 2) 保证所有要求记忆的稳定平衡点都能收敛到自己; 3) 使伪稳定点的数目尽可能的少; 4) 使稳定点的吸引域尽可能的大。 虽然正交化设计方法的数学设计较为复杂,但与外积和法相比较,所设计出的平衡稳定点能够保证收敛到自己并且有较大的稳定域。更主要的是在MATLAB工具箱中已将此设计方法写进了函数 solvehop.m中: [W,b]=solvehop(T); [例8.1]考虑一个具有两个神经元的霍普菲尔德网络,每个神经元具有两个权值和一个偏差。 网络所要存储的目标平衡点为一个列矢量T: T=[1 -1; -1 1]; [W,b]=solvehop(T); 设计Hopfield网络。 用来进行测试的函数为simuhop.m;
文档评论(0)