1、第五讲第五讲 自组织竞争人工神经自组织竞争人工神经网络网络 计算机科学与技术学院计算机科学与技术学院q在实际的神经网络中,比如人的视网膜中,存在实际的神经网络中,比如人的视网膜中,存在着一种在着一种“侧抑制侧抑制”现象,即一个神经细胞兴现象,即一个神经细胞兴奋后,通过它的分支会对周围其他神经细胞产奋后,通过它的分支会对周围其他神经细胞产生抑制。生抑制。q自组织竞争人工神经网络正是基于上述生物结自组织竞争人工神经网络正是基于上述生物结构和现象形成的。它能够对输入模式进行自组构和现象形成的。它能够对输入模式进行自组织训练和判断,并将其最终分为不同的类型。织训练和判断,并将其最终分为不同的类型。q与
2、与BPBP网络相比,这种自组织自适应的学习能力网络相比,这种自组织自适应的学习能力进一步拓宽了人工神经网络在模式识别、分类进一步拓宽了人工神经网络在模式识别、分类方面的应用,另一方面,竞争学习网络的核方面的应用,另一方面,竞争学习网络的核心心竞争层,又是许多种其他神经网络模型竞争层,又是许多种其他神经网络模型的重要组成部分。的重要组成部分。计算机科学与技术学院计算机科学与技术学院5.1 5.1 几种联想学习规则几种联想学习规则 q格劳斯贝格格劳斯贝格( (S SGrossbergGrossberg) )提出了提出了两种类型的神经元模型:内星与外两种类型的神经元模型:内星与外星,用以来解释人类及
3、动物的学习星,用以来解释人类及动物的学习现象。现象。q内星可以被训练来识别矢量;内星可以被训练来识别矢量;q外星可以被训练来产生矢量。外星可以被训练来产生矢量。 计算机科学与技术学院计算机科学与技术学院图图8.1 8.1 格劳斯贝格内星模型图格劳斯贝格内星模型图 内星是通过联接权矢量内星是通过联接权矢量W W接受一组输入信号接受一组输入信号P P 计算机科学与技术学院计算机科学与技术学院图图8 82 2 格劳斯贝格外星模型图格劳斯贝格外星模型图 外星则是通过联接权矢量向外输出一组信号A。 它们之所以被称为内星和外星,主要是因为其网络的它们之所以被称为内星和外星,主要是因为其网络的结构像星形,且
4、内星的信号流向星的内部;而外星的结构像星形,且内星的信号流向星的内部;而外星的信号流向星的外部。信号流向星的外部。 计算机科学与技术学院计算机科学与技术学院 实现内星输入输出转换的激活函数是硬限制函数。实现内星输入输出转换的激活函数是硬限制函数。 可以通过内星及其学习规则来训练某一神经元节点只响应可以通过内星及其学习规则来训练某一神经元节点只响应特定的输入矢量特定的输入矢量P P,它是借助于调节网络权矢量它是借助于调节网络权矢量W W近似于输近似于输入矢量入矢量P P来实现的。来实现的。单内星中对权值修正的格劳斯贝格内星学习规则为:单内星中对权值修正的格劳斯贝格内星学习规则为: (81) 由由
5、(8(81)1)式可见,内星神经元联接强度的变化式可见,内星神经元联接强度的变化ww1j1j是与输是与输出成正比的。如果内星输出出成正比的。如果内星输出a a被某一外部方式而维护高值时,被某一外部方式而维护高值时,那么通过不断反复地学习,权值将能够逐渐趋近于输入矢那么通过不断反复地学习,权值将能够逐渐趋近于输入矢量量p pj j的值,并趋使的值,并趋使ww1j1j逐渐减少,直至最终达到逐渐减少,直至最终达到w w1j1jp pj j,从而使内星权矢量学习了输入矢量从而使内星权矢量学习了输入矢量P P,达到了用内星来识别达到了用内星来识别一个矢量的目的。另一方面,如果内星输出保持为低值时,一个矢
6、量的目的。另一方面,如果内星输出保持为低值时,网络权矢量被学习的可能性较小,甚至不能被学习。网络权矢量被学习的可能性较小,甚至不能被学习。 5.1.15.1.1内星学习规则内星学习规则计算机科学与技术学院计算机科学与技术学院q现在来考虑当不同的输入矢量现在来考虑当不同的输入矢量p p1 1和和p p2 2分别出现在同一内分别出现在同一内星时的情况。星时的情况。q首先,为了训练的需要,必须将每一输入矢量都进行单首先,为了训练的需要,必须将每一输入矢量都进行单位归一化处理。位归一化处理。q当第一个矢量当第一个矢量p p1 1输入给内星后,网络经过训练,最终达输入给内星后,网络经过训练,最终达到到W
7、 W(p(p1 1) )T T。此后,给内星输入另一个输入矢量此后,给内星输入另一个输入矢量p p2 2,此此时内星的加权输入和为新矢量时内星的加权输入和为新矢量p p2 2与已学习过矢量与已学习过矢量p p1 1的点的点积,即:积,即: 因为输入矢量的模已被单位化为因为输入矢量的模已被单位化为1 1,所以内星的加权输,所以内星的加权输入和等于输入矢量入和等于输入矢量p p1 1和和p p2 2之间夹角的余弦。之间夹角的余弦。 计算机科学与技术学院计算机科学与技术学院 根据不同的情况,内星的加权输入和可分为如下几种情况:根据不同的情况,内星的加权输入和可分为如下几种情况:p p2 2等于等于p
8、 p1 1,即有即有12120 0,此时,内星加权输入和为此时,内星加权输入和为1 1;p p2 2不等于不等于p p1 1,内星加权输入和为内星加权输入和为0 0;p p2 2-p-p1 1,即即1212180180时,内星加权输入和达到最小值时,内星加权输入和达到最小值- -1 1。q由此可见,对于一个已训练过的内星网络,当输入端再次由此可见,对于一个已训练过的内星网络,当输入端再次出现该学习过的输入矢量时,内星产生出现该学习过的输入矢量时,内星产生1 1的加权输入和;的加权输入和;而与学习过的矢量不相同的输入出现时,所产生的加权输而与学习过的矢量不相同的输入出现时,所产生的加权输入和总是
9、小于入和总是小于1 1。q当多个相似输入矢量输入内星,最终的训练结果是使网络当多个相似输入矢量输入内星,最终的训练结果是使网络的权矢量趋向于相似输入矢量的平均值的权矢量趋向于相似输入矢量的平均值。计算机科学与技术学院计算机科学与技术学院q内星网络中的相似度是由偏差内星网络中的相似度是由偏差b b来控制,由设计者在训来控制,由设计者在训练前选定,典型的相似度值为练前选定,典型的相似度值为b b-0.95-0.95,这意味着输这意味着输入矢量与权矢量之间的夹角小于入矢量与权矢量之间的夹角小于18184848。若选。若选b b- -0.90.9时,则其夹角扩大为时,则其夹角扩大为25254848。一
10、层具有一层具有s s个神经元的内星,可以用相似的方式进行训个神经元的内星,可以用相似的方式进行训练,权值修正公式为:练,权值修正公式为: MATLAB神经网络工具箱中内星学习规则的执行是用神经网络工具箱中内星学习规则的执行是用函数函数learnis.m来完成上述权矢量的修正过程:来完成上述权矢量的修正过程:dW1earnis(W,P,A,lr); W=W十十dW; 计算机科学与技术学院计算机科学与技术学院例8.1 设计内星网络进行以下矢量的分类辨识:我们首先对网络进行初始化处理我们首先对网络进行初始化处理: R,Qsize(P);S,Qsize(T);Wzeros(S,R);B-0.95* o
11、nes(S,1);max-epoch10;lr0.7;so81.m计算机科学与技术学院计算机科学与技术学院q外星网络的激活函数是线性函数,它被用来学习回忆外星网络的激活函数是线性函数,它被用来学习回忆一个矢量,其网络输入一个矢量,其网络输入P P也可以是另一个神经元模型的也可以是另一个神经元模型的输出。输出。q外星被训练来在一层外星被训练来在一层s s个线性神经元的输出端产生一个个线性神经元的输出端产生一个特别的矢量特别的矢量A A。q对于一个外星,其学习规则为:对于一个外星,其学习规则为: 与内星不同,外星联接强度的变化与内星不同,外星联接强度的变化ww是与输入矢量是与输入矢量P P成成正比
12、的。这意味着当输入矢量被保持高值,比如接近正比的。这意味着当输入矢量被保持高值,比如接近1 1时,每个权值时,每个权值w wijij将趋于输出将趋于输出a ai i值,若值,若p pj j1 1,则外星使权则外星使权值产生输出矢量。值产生输出矢量。 当输入矢量当输入矢量p pj j为为0 0时,网络权值得不到任何学习与修正。时,网络权值得不到任何学习与修正。 8.1.28.1.2外星学习规则外星学习规则计算机科学与技术学院计算机科学与技术学院q当有r个外星相并联,每个外星与s个线性神经元相连组成一层外星时,其权值修正方式为:其中:其中:W Ws sr r权值列矢量;权值列矢量;lrlr学习速率
13、;学习速率;A As sq q外星输出;外星输出;P Pr rq q外星输入外星输入。MATLABMATLAB工具箱中实现外星学习与设计的函数为工具箱中实现外星学习与设计的函数为learnoslearnos.m.m,其调用过程如下:其调用过程如下:dWdWlearnoslearnos(W(W,A A,P P,lrlr) ); W WW W十十dWdW; 计算机科学与技术学院计算机科学与技术学院 例例8 822下面有两元素的输入矢量以及与它们相关下面有两元素的输入矢量以及与它们相关的四元素目标矢量,试设计一个外星网络实现有的四元素目标矢量,试设计一个外星网络实现有效的矢量的获得,外星没有偏差。效
14、的矢量的获得,外星没有偏差。 P1 0;T0.1826 0.6325; 0.36510.3162; 0.54770.3162; 0.73030.6325;计算机科学与技术学院计算机科学与技术学院科荷伦学习规则是由内星规则发展而来的。科荷伦学习规则是由内星规则发展而来的。科荷伦规则为:科荷伦规则为:科荷伦学习规则实际上是内星学习规则的一个特例,但科荷伦学习规则实际上是内星学习规则的一个特例,但它比采用内星规则进行网络设计要节省更多的学习,因它比采用内星规则进行网络设计要节省更多的学习,因而常常用来替代内星学习规则。而常常用来替代内星学习规则。 8 81 13 3科荷伦学习规则科荷伦学习规则计算机
15、科学与技术学院计算机科学与技术学院在在MATLABMATLAB工具箱中,在调用科荷伦学习规则函工具箱中,在调用科荷伦学习规则函数数learnklearnk.m.m时,一般通过先寻找输出为时,一般通过先寻找输出为1 1的行的行矢量矢量i i,然后仅对与然后仅对与i i相连的权矩阵进行修正。相连的权矩阵进行修正。使用方法如下:使用方法如下: i ifind(A=1)find(A=1);dWdWlearnklearnk(W(W,P P,i i,1r)1r);W WW W十十dWdW;一般情况下科荷伦学习规则比内星学习规则一般情况下科荷伦学习规则比内星学习规则能够提高训练速度能够提高训练速度1 1到到
16、2 2个数量级。个数量级。 计算机科学与技术学院计算机科学与技术学院82自组织竞争网络自组织竞争网络 8 82 21 1网络结构网络结构 竞争网络由单层神经元网络组成,其输入节点与输出竞争网络由单层神经元网络组成,其输入节点与输出节点之间为全互联结。节点之间为全互联结。 因为网络在学习中的竞争特性也表现在输出层上,所因为网络在学习中的竞争特性也表现在输出层上,所以在竞争网络中把输出层又称为竞争层,而与输入节以在竞争网络中把输出层又称为竞争层,而与输入节点相连的权值及其输入合称为输入层。点相连的权值及其输入合称为输入层。 计算机科学与技术学院计算机科学与技术学院 从网络的结构图中可以看出,自组织
17、竞争网络的权从网络的结构图中可以看出,自组织竞争网络的权值有两类:值有两类:一类是输入节点一类是输入节点j j到到i i的权值的权值w wijij(i(i1 1,2 2、s s;j j1 1,2 2、r)r),这些权值是通过训练可以被调整的;这些权值是通过训练可以被调整的; 另一类是竞争层中互相抑制的权值另一类是竞争层中互相抑制的权值w wikik(k(k1 1,2 2、s)s)。这类权值是固定不变的,且它满足一定的分布这类权值是固定不变的,且它满足一定的分布关系。关系。 它们是一种对称权值,即有它们是一种对称权值,即有w wikikw wkiki,同时相同神同时相同神经元之间的权值起加强的作
18、用,即满足经元之间的权值起加强的作用,即满足w w1111w w1111w wkkkk0 0,而不同神经元之间的权值相互抑制,而不同神经元之间的权值相互抑制,对于对于kiki有有w wijij0 0。 计算机科学与技术学院计算机科学与技术学院设网络的输入矢量为:设网络的输入矢量为:P Ppp1 1 p p2 2 p pr r T T;对应网络的输出矢量为:对应网络的输出矢量为:A Aaa1 1 a a2 2 a as s T T。由于竞争网络中含有两种权值,所以其激活函数的加权输由于竞争网络中含有两种权值,所以其激活函数的加权输入和也分为两部分:来自输入节点的加权输入和入和也分为两部分:来自输
19、入节点的加权输入和N N与来与来自竞争层内互相抑制的加权输入和自竞争层内互相抑制的加权输入和G G。对于第对于第i i个神经元个神经元有:有:1)1)来自输入节点的加权输入和为:来自输入节点的加权输入和为: 2)2)来自竞争层内互相抑制的加权输入和为:来自竞争层内互相抑制的加权输入和为: 计算机科学与技术学院计算机科学与技术学院a)a)如果在竞争后,第如果在竞争后,第i i个节点个节点“赢赢”了,则有:了,则有:而其他所有节点的输出均为零,即而其他所有节点的输出均为零,即: 此时此时 b)b)如果在竞争后,第如果在竞争后,第i i个节点个节点“输输”了,而了,而“赢赢”的节点的节点为为l l,
20、则有:则有: 此时此时计算机科学与技术学院计算机科学与技术学院所以对整个网络的加权输入总和有下式成立:所以对整个网络的加权输入总和有下式成立:s sl l= =n nl l+w+wllll 对于对于“赢赢”的节点的节点l ls si i= =n ni i-|w-|wiiii| | 对于所有对于所有”输输“的节点的节点i i1 1,2 2s s,ilil由此可以看出,经过竞争后只有获胜的那个节点的加权由此可以看出,经过竞争后只有获胜的那个节点的加权输入总和为最大。竞争网络的输出为:输入总和为最大。竞争网络的输出为: 在判断竞争网络节点胜负的结果时,可直接采用在判断竞争网络节点胜负的结果时,可直接
21、采用n ni i,即:即:计算机科学与技术学院计算机科学与技术学院取偏差取偏差B B为零是判定竞争网络获胜节点时的典型为零是判定竞争网络获胜节点时的典型情况,偶而也采用下式进行竞争结果的判定:情况,偶而也采用下式进行竞争结果的判定:通过上面分析,可以将竞争网络的工作原理总结通过上面分析,可以将竞争网络的工作原理总结如下:竞争网络的激活函数使加权输入和为最大如下:竞争网络的激活函数使加权输入和为最大的节点赢得输出为的节点赢得输出为1 1,而其他神经元的输出皆为,而其他神经元的输出皆为0 0。这个竞争过程可用这个竞争过程可用MATLABMATLAB描述如下:描述如下: 计算机科学与技术学院计算机科
22、学与技术学院nW*P;S,Qsize(n);xn+b*ones(1,Q);ymax(x);for q1:Q找出最大加权输入和找出最大加权输入和y(q)所在的行;所在的行; sfind(x(:, q)y(q);令元素令元素a(z,q)1,其他值为零;其他值为零; a(z(1),q)1; end这个竞争过程的程序已被包含在竞争激活函数这个竞争过程的程序已被包含在竞争激活函数competcompet.m.m之中,之中, A Acompetcompet(W(W* *P P,B)B); 计算机科学与技术学院计算机科学与技术学院8 82 22 2竞争学习规则竞争学习规则 竞争网络在经过竞争而求得获胜节点后
23、,则对与获胜竞争网络在经过竞争而求得获胜节点后,则对与获胜节点相连的权值进行调整,调整权值的目的是为了使节点相连的权值进行调整,调整权值的目的是为了使权值与其输入矢量之间的差别越来越小,从而使训练权值与其输入矢量之间的差别越来越小,从而使训练后的竞争网络的权值能够代表对应输入矢量的特征,后的竞争网络的权值能够代表对应输入矢量的特征,把相似的输入矢量分成了同一类,并由输出来指示所把相似的输入矢量分成了同一类,并由输出来指示所代表的类别。代表的类别。 竞争网络修正权值的公式为:竞争网络修正权值的公式为: 式中式中lrlr为学习速率,且为学习速率,且0 0lrlr1 1,一般的取值范围为一般的取值范
24、围为0.01-0.30.01-0.3; p pj j为经过归一化处理后的输入。为经过归一化处理后的输入。 计算机科学与技术学院计算机科学与技术学院用用MATLAB工具箱来实现上述公式的过程可以用内星工具箱来实现上述公式的过程可以用内星学习规则:学习规则:Acompet(W*P);dWlearnis(P,A,lr,W);WW十十dW;更省时地是采用科荷伦学习规则如下:更省时地是采用科荷伦学习规则如下:Acompet(W*P);ifind(A=1);dWlearnis(P,i,lr,W);WW十十dW; 不论采用哪种学习方法,层中每个最接近输入矢量的不论采用哪种学习方法,层中每个最接近输入矢量的神
25、经元,通过每次权值调整而使权值矢量逐渐趋于这神经元,通过每次权值调整而使权值矢量逐渐趋于这些输入矢量。从而竞争网络通过学习而识别了在网络些输入矢量。从而竞争网络通过学习而识别了在网络输入端所出现的矢量,并将其分为某一类。输入端所出现的矢量,并将其分为某一类。 计算机科学与技术学院计算机科学与技术学院竞争网络的学习和训练过程,实际上是对输入矢量的竞争网络的学习和训练过程,实际上是对输入矢量的划分聚类过程,使得获胜节点与输入矢量之间的权矢划分聚类过程,使得获胜节点与输入矢量之间的权矢量代表获胜输入矢量。量代表获胜输入矢量。这样,当达到最大循环的值后,网络已重复多次训练这样,当达到最大循环的值后,网
26、络已重复多次训练了了P P中的所有矢量,训练结束后,对于用于训练的模式中的所有矢量,训练结束后,对于用于训练的模式P P,其网络输出矢量中,其值为其网络输出矢量中,其值为1 1的代表一种类型,而的代表一种类型,而每类的典型模式值由该输出节点与输入节点相连的权每类的典型模式值由该输出节点与输入节点相连的权矢量表示。矢量表示。 竞争网络的输入层节点竞争网络的输入层节点r r是由已知输入矢量决定的,但是由已知输入矢量决定的,但竞争层的神经元数竞争层的神经元数s s是由设计者确定的,一般情况下,是由设计者确定的,一般情况下,可以根据输入矢量的维数及其估计,再适当地增加些可以根据输入矢量的维数及其估计,
27、再适当地增加些数目来确定。数目来确定。 8.2.3 竞争网络的训练过程竞争网络的训练过程计算机科学与技术学院计算机科学与技术学院另外还要事先确定的参数有:学习速率和最大循环次数。竞另外还要事先确定的参数有:学习速率和最大循环次数。竞争网络的训练是在达到最大循环次数后停止,这个数一般可争网络的训练是在达到最大循环次数后停止,这个数一般可取输入矢量数组的取输入矢量数组的15152020倍,即使每组输入矢量能够在网络倍,即使每组输入矢量能够在网络重复出现重复出现15201520次。次。竞争网络的权值要进行随机归一化的初始化处理,这个过程竞争网络的权值要进行随机归一化的初始化处理,这个过程在在MATL
28、ABMATLAB中用函数中用函数randnrrandnr.m.m实现:实现:w wrandnrrandnr(S(S,R)R);然后网络则可以进入竞争以及权值的调整阶段。然后网络则可以进入竞争以及权值的调整阶段。 网络的训练全过程完全由计算机去做,工具箱中的竞争网络网络的训练全过程完全由计算机去做,工具箱中的竞争网络训练函数为训练函数为trainctrainc.m.m,它的用法如下:它的用法如下: 计算机科学与技术学院计算机科学与技术学院q 竞争网络比较适合用于具有大批相似数组的竞争网络比较适合用于具有大批相似数组的 分类问题。分类问题。q 竞争学习网络的局限性:竞争学习网络的局限性: 竞争网络
29、适用于当具有典型聚类特性的大量竞争网络适用于当具有典型聚类特性的大量数据的辨识,但当遇到大量的具有概率分布数据的辨识,但当遇到大量的具有概率分布的输入矢量时,竞争网络就无能为力了,这的输入矢量时,竞争网络就无能为力了,这时可以采用科荷伦网络来解决。时可以采用科荷伦网络来解决。 计算机科学与技术学院计算机科学与技术学院8.3科荷伦自组织映射网络科荷伦自组织映射网络 q神经细胞模型中还存在着一种细胞聚类的功神经细胞模型中还存在着一种细胞聚类的功能柱。它是由多个细胞聚合而成的,在接受能柱。它是由多个细胞聚合而成的,在接受外界刺激后,它们会自动形成。一个功能柱外界刺激后,它们会自动形成。一个功能柱中的
30、细胞完成同一种功能。中的细胞完成同一种功能。q当外界输入不同的样本到科荷伦自组织映射当外界输入不同的样本到科荷伦自组织映射网络中,一开始时输入样本引起输出兴奋的网络中,一开始时输入样本引起输出兴奋的位置各不相同,但通过网络自组织后会形成位置各不相同,但通过网络自组织后会形成一些输出群,它们分别代表了输入样本的分一些输出群,它们分别代表了输入样本的分布,反映了输入样本的图形分布特征,所以布,反映了输入样本的图形分布特征,所以科荷伦网络常常被称为特性图。科荷伦网络常常被称为特性图。 计算机科学与技术学院计算机科学与技术学院q科荷伦网络使输入样本通过竞争学习后,功能相同的输入科荷伦网络使输入样本通过
31、竞争学习后,功能相同的输入靠得比较近,不同的分得比较开,以此将一些无规则的输靠得比较近,不同的分得比较开,以此将一些无规则的输入自动排开,在联接权的调整过程中,使权的分布与输入入自动排开,在联接权的调整过程中,使权的分布与输入样本的概率密度分布相似。所以科荷伦网络可以作为一种样本的概率密度分布相似。所以科荷伦网络可以作为一种样本特征检测器,在样本排序、样本分类以及样本检测方样本特征检测器,在样本排序、样本分类以及样本检测方面有广泛地应用。面有广泛地应用。q一般可以这样说,科荷伦网络的权矢量收敛到所代表的输一般可以这样说,科荷伦网络的权矢量收敛到所代表的输入矢量的平均值,它反映了输入数据的统计特
32、性。入矢量的平均值,它反映了输入数据的统计特性。q当随机样本输入到科荷伦网络时,如果样本足够多,那么当随机样本输入到科荷伦网络时,如果样本足够多,那么在权值分布上可近似于输入随机样本的概率密度分布,在在权值分布上可近似于输入随机样本的概率密度分布,在输出神经元上也反映了这种分布,即概率大的样本集中在输出神经元上也反映了这种分布,即概率大的样本集中在输出空间的某一个区域或各个不同的区域。输出空间的某一个区域或各个不同的区域。计算机科学与技术学院计算机科学与技术学院q 科荷伦网络结构也是两层:输入层和竞争层。与基本科荷伦网络结构也是两层:输入层和竞争层。与基本竞争网络不同之处是其竞争层可以由一维或
33、二维网络竞争网络不同之处是其竞争层可以由一维或二维网络矩阵方式组成,且权值修正的策略也不同。矩阵方式组成,且权值修正的策略也不同。1)1)一维网络结构与基本竞争学习网络相同;一维网络结构与基本竞争学习网络相同;2)2)二维网络结构:二维网络结构:图图8.6 8.6 二维科荷伦网络结构图二维科荷伦网络结构图 8 83 31 1科荷伦网络拓扑结构科荷伦网络拓扑结构计算机科学与技术学院计算机科学与技术学院图图8.7 8.7 二维神经元层示意图二维神经元层示意图 科荷伦网络的激活函数为二值型函数。一般情况下科荷伦网络的激活函数为二值型函数。一般情况下b b值固定,值固定,其学习方法与普通的竞争学习算法
34、相同。在竞争层,每个其学习方法与普通的竞争学习算法相同。在竞争层,每个神经元都有自己的邻域。一个直径为神经元都有自己的邻域。一个直径为1 1的邻域包括主神经元的邻域包括主神经元及它的直接周围神经元所组成的区域;直径为及它的直接周围神经元所组成的区域;直径为2 2的邻域包括的邻域包括直径直径1 1的神经元以及它们的邻域。的神经元以及它们的邻域。 计算机科学与技术学院计算机科学与技术学院图图8 88 8二维网络邻域形状二维网络邻域形状 在在MATLAB工具箱中有一个求获胜神经元的邻域的函数:工具箱中有一个求获胜神经元的邻域的函数:在二维竞争层中,邻域函数为在二维竞争层中,邻域函数为neighb2d
35、.m。函数函数neighb2d.m的用法如下:的用法如下:Np=x y;inneighb2d(i, Np, N); 计算机科学与技术学院计算机科学与技术学院对于一维竞争层,其中的邻层函数为叫对于一维竞争层,其中的邻层函数为叫neighb1d.mneighb1d.m,确定竞争层大小的参数就是神经元数确定竞争层大小的参数就是神经元数S S,即即N Np p=S=S;ininneighb1d(ineighb1d(i,N Np p,N)N); 计算机科学与技术学院计算机科学与技术学院8 83 32 2网络的训练过程网络的训练过程 训练设计步骤训练设计步骤( (适用于输入矢量适用于输入矢量P P具有某种
36、概率分具有某种概率分布的数组布的数组) ): (1)(1)初始化初始化 1) 1) 由输入矢量确定网络结构:由输入矢量确定网络结构: R, QR, Qsize(P)size(P); 2) 2) 设置网络竞争层神经元节点:一维设置网络竞争层神经元节点:一维S S或二维的或二维的宽宽X X和高和高Y Y,S SX X* *Y Y; 3) 3) 将输入模式将输入模式P P作归一化处理:作归一化处理:P Pnormc(Pnormc(P);); 4) 4) 归一随机化处理初始权值:归一随机化处理初始权值:W Wrands(Srands(S, , R)R)* *0.10.1;并设置:并设置:计算机科学与技
37、术学院计算机科学与技术学院 5) 5) 最大循环次数最大循环次数( (此数根据输入数据的数目此数根据输入数据的数目而乘一个倍数所得而乘一个倍数所得) ):max_cyclemax_cycle 6) 6) 基本学习速率基本学习速率lrlr:一般取一般取0.010.30.010.3,视具,视具体情况而定;体情况而定; 7) 7)最大邻层数最大邻层数max_max_neighbneighb: : 一维一维max_max_neighbneighbS-1S-1;二维二维max_max_neighbneighbmax(X Y)-1max(X Y)-1; 计算机科学与技术学院计算机科学与技术学院(2)(2)
38、循环训练循环训练 for cycle=1:max_cycle for cycle=1:max_cycle 1) 1)学习速率是线性下降的:学习速率是线性下降的: x xcycle/max_cycle;cycle/max_cycle; LR LR(1(1x)x)* *lrlr; 这 使 得 学 习 速 率 随 着 循 环 次 数 的 增 加 , 从这 使 得 学 习 速 率 随 着 循 环 次 数 的 增 加 , 从lrlr* *(max_cycle-1)/max_cycle(max_cycle-1)/max_cycle逐渐降至逐渐降至0 0; 2) 2)邻层数也是递减的:邻层数也是递减的: n
39、= n=max(ceil(max_neighbmax(ceil(max_neighb* *(1-x(1-x* *4) 1)4) 1); 3)3)计算输入矢量加权和,并通过竞争求出获胜节点计算输入矢量加权和,并通过竞争求出获胜节点 A Acompet(Wcompet(W* *P)P);计算机科学与技术学院计算机科学与技术学院4)4)根据获胜节点求出相邻层根据获胜节点求出相邻层( (以二维为例以二维为例) ),并进行权,并进行权值修正:值修正:i=find(Ai=find(A1)1);in=neighb2d(i, X, Y, n);in=neighb2d(i, X, Y, n);dWdWlearn
40、(W, P, in, LR)learn(W, P, in, LR)W WW+W+dwdw;(3)(3)输出或显示结果。输出或显示结果。MATLABMATLAB工具箱中用于训练设计科荷伦网络权矢量的函工具箱中用于训练设计科荷伦网络权矢量的函数为数为trainfmtrainfm.m.m,它能执行上述的训练步骤的全过程它能执行上述的训练步骤的全过程。计算机科学与技术学院计算机科学与技术学院最大邻域数应设置为层的最大直径数减去最大邻域数应设置为层的最大直径数减去l l。例如,对例如,对一维特性图一维特性图max_max_neighbneighb应为应为S-1S-1;对二维特性图,其层对二维特性图,其层
41、神经元宽为神经元宽为X X高为高为Y Y时,时,max_max_neighbneighb应当等于两者中的较应当等于两者中的较大值减去大值减去1 1。函数函数trainfmtrainfm.m.m的训练开始于学习速度的训练开始于学习速度lrlr和最大邻域和最大邻域max_max_neighbneighb,然后,其学习速率线性地递减,以致于最然后,其学习速率线性地递减,以致于最后的训练周期里的学习速率为后的训练周期里的学习速率为0 0。邻域数也是线性地减。邻域数也是线性地减少,但在达到四分之一训练周期后,其值保持为最大值少,但在达到四分之一训练周期后,其值保持为最大值1 1直到最终训练结束。直到最终训练结束。 给定一个特性图的权矩阵给定一个特性图的权矩阵W W,它的邻域函数它的邻域函数F(F(作为一个作为一个字符串字符串) ),以及竞争层大小,以及竞争层大小N Np p,可以用函数可以用函数plotmapplotmap.m.m画画出特性图。出特性图。
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。