1第八章竞争神经网络2概述竞争神经网络在无教师信息的情况下能够自组织地挖掘输入信息的特征,以便对输入进行聚类处理。此类神经网络经常被用来作为前处理单元(preprocessingunit),以便抽取出输入信息的特征,或将输入信息矢量量化(vectorquantization)之后再进行监督式学习。3概述神经网络有两种实现非监督式学习的方式:•Hebbian规则通常不是被用来分析输入信息间的聚类关系或分类关系,而是测量输入信息间的相似性或分析输入信息中的主要成分向量(principlecomponents)”。•竞争学习规则使用竞争学习的神经网络,只有其中的一个神经元会被激活。该神经元就称为胜者(winner)”。这种神经网络通常用来做聚类分析。即在无先验知识的情况下,发现或挖掘输入信息本身的结构及聚类关系。4概述基于竞争学习的神经网络常被用作样本特征检测器,在样本排序、样本聚类、样本分类、样本检测和样本分布特征可视化等方面有广泛地应用典型的竞争神经网络有:ART(AdaptiveResonanceTheory)SOFM(Self-OrganizationFeatureMapping)PCA(PrincipleComponentsAnalysis)SNN(SynergeticNeuralNetwork)5CompetitiveLearning竞争学习的概念–设训练模式集合为{x1,x2,…,xp},所有这些模式分别属于按某种标准设定的m类模式之一(无先验知识)–通过竞争学习,网络实现自组织模式分类。每个输出结点代表某一类模式,具体哪一个结点对应于哪一类模式不是事先指定的,需要竞争而出。–每个节点就像一个patterndetector或featuredetector,对输入的解释是通过有无相应节点表示,而不是相应幅度或输入输出变换(象前馈网络或反馈网络)–与该结点相连的权向量包含了该类模式的基本信息竞争学习及其特点6竞争学习目的竞争学习过程是对输入矢量的聚类过程,是使得获胜节点获得最大响应的过程,是使获胜节点与输入节点之间的权矢量逐渐逼近输入矢量。当训练结束后,对于某类输入模式P,一定有一个网络输出节点有最大响应(输出值为1),其余输出节点无响应(输出值为0)。该最大响应输出节点与输入节点之间的权矢量等于或代表此输入矢量。CompetitiveLearning7CompetitiveLearningx1x2x3------xny1y2y3----ym竞争层输入层-每个输入节点与每个输出节点全连接-竞争层的每一个节点接受一个输入加权和竞争网络结构8CompetitiveLearning竞争学习过程──“winnertakesall”确定winner(competitivephase):按一定的准则计算每个输出节点与输入节点之间的权矢量与输入矢量之间的逼近度,最逼近的为winner.调整权矢量(rewardphase):按一定的准则调整winner的权矢量–Insimplecompetitivelearning,onlythewinnerisallowedtolearn(changeitsweight).–Inself-organizingmaps,winnerandotherneuronsintheneighborhoodofthewinnermaylearn.9competitivelearning1p2y1y2ymx1x2xn......xwxwyTin1jjijiXWmaxXWif,yTkm,1kTii为胜者XWminXWifykm,,1kii为胜者,当权重归一化时,两个判断式是等效的确定Winneror10competitivelearning权重调整:ncompetitiothelosesneuronifncompetitiothewinsneuronifii,0),wx(wijjij11CompetitiveLearningSimpleCompetitiveLearning12Suppose,forinstance,thatthe2-dimensionalinputvectorXispresentedtothethree-neuronKohonennetwork,Theinitialweightvectors,Wj,aregivenby12.052.0X81.027.01W70.042.02W21.043.03WCompetitiveLearning13Wefindthewinning(best-matching)neuronjXusingtheminimum-distanceEuclideancriterion:221221111)()(wxwxd73.0)81.012.0()27.052.0(22222221212)()(wxwxd59.0)70.012.0()42.052.0(22223221313)()(wxwxd13.0)21.012.0()43.052.0(22Neuron3isthewinneranditsweightvectorW3isupdatedaccordingtothecompetitivelearningrule.0.01)43.052.0(1.0)(13113wxw0.01)21.012.0(1.0)(23223wxwCompetitiveLearning14TheupdatedweightvectorW3atiteration(p+1)isdeterminedas:TheweightvectorW3ofthewiningneuron3becomesclosertotheinputvectorXwitheachiteration.20.044.001.00.0121.043.0)()()1(333ppp•Compress(encode)输入矢量x映射到一个输出节点(code-word)•Decompress(decode)输出节点(code-word)映射到对应的权矢量(code-bookvector)•有损压缩DataCompression16竞争学习网络的局限性:一般竞争网络适用于具有典型聚类特性的大量数据的辨识,但当遇到大量的具有概率分布的输入矢量时,竞争网络就无能为力了,这时可以采用SOFM网络来解决。•SOFM网络也采用竞争学习方法,但强调邻域的作用。因此,相应的竞争策略略有不同,即不但获胜者而且其邻域的神经元也调整权重。SOFM模型17SOFM模型自组织特征映射网络(SOFM)•借鉴了上述生理机制,将输入矢量的特征以有意义的拓扑结构映射在输出层上。即在输入特征空间相邻的矢量映射后,其输出层响应节点形成在拓扑几何意义上的相邻。•当随机样本输入到SOFM网络时,如果样本足够多,那么在权值分布上可近似于输入随机样本的概率密度分布,在输出神经元上也反映了这种分布,即概率大的样本集中在输出空间的某一个区域或各个不同的区域。•一般而言,SOFM网络的权矢量收敛到所代表的输入矢量的平均值,它反映了输入数据的统计特性18SOFM模型•输入层和输出层(竞争层)•输入为,输出可以是任意维,但一般取二维其中分布m个神经元。•输入节点i通过权值与输出层的m个节点连接,每个输出节点j对应一组权向量:Tn21x,x,xtXijwTjjjjiijijxwfon1•节点j输出:网络结构19SOFM模型激活函数•脑神经元化分成不同的功能区域。这种体现了拓扑几何意义相关的区域的形成与神经元之间的侧向联结(lateralconnections)相关。侧向联结可用一种Mexicanhatfunction来描述。20SOFM模型•Foragivennode,–近邻神经元互相激励(mutuallyexcitatory,w0)–远离神经元互相抑制(mutuallyinhibitory,w0)–很远距离的神经元(irrelevant,w=0)•可以用“邻域”(neighborhood)作用来实现复杂的侧向反馈21SOFM模型学习:SOFM是竞争网络中的一种。它也是通过自组织方法,用样本数据来调整网络的权值,使得权重成为能反映输入分布特征的矢量。考虑到邻域的作用,权重调整策略要有所变化,仅靠“winnertakesall”的竞争学习方法无法发展出拓扑映射图22SOFM模型–为了能使二维输出平面上相邻的输出结点对相近的输入模式类作出特别反应,在训练过程中需定义获胜结点的邻域结点。–假设本次获胜结点为Nj,它在t时刻的邻域结点用NEj(t)表示,NEj(t)包含以结点Nj为中心而距离不超过某一半径的所有结点。–随着训练的进行,NEj(t)的半径逐渐缩小,最后只包含获胜结点Nj自身,即在训练初始阶段,不但对获胜的结点做权值调整,也对其较大范围内的几何邻接结点做相应的调整,而随着训练过程的继续,与输出结点相连的权向量也越来越接近其代表的模式类。–在训练结束后,几何上相近的输出结点所连接的权向量既有联系(类似性)又互相区别,从而保证对于某一类输入模式,获胜结点能做出最大响应,而相邻结点做出较大响应。23SOFM模型在竞争学习过程中,通过邻域的作用逐渐地扩大排他性,最终仅一个神经元竞争获胜24竞争学习算法①初始化:对各节点的权赋以小的随机数作为初始值归一化权值和输入样本定初始领域,学习速率,迭代总数T,t=0②随机选取某样本输入③竞争:在输出节点中计算寻找最佳匹配节点C,即其权向量与的欧氏距离最小:;,1,0piwjimj,10cN0txtxtxtXp21,tXtWtXtWtXjcmintWj为p维向量21pijiijtwtxtWtX其中注:当输入向量和权向量均为归一化向量时,神经元输出的内积最大等价与输入向量和权向量的欧氏距离最小25竞争学习算法④更新:对获胜神经元c及拓扑领域中的所有节点的权值:tNctWtXttWtWjjj1twtxttwtwjiijiji1或tNjctWtWjj1tNjcTtt10⑤更新学习速率:TtNINTtNcc10更新拓扑邻域:⑥判断迭代次数t是否大于或等于T,若是则结束,否则转向②26竞争学习算法算法的几点说明:ttNc学习常数和领域大小要在学习的过程中调整t对而言,在迭代的前期,取值约为1,然后逐渐减少,建议用Nttt11其中,t为迭代数,N为迭代总数。接近收敛阶段,应取0.01小数(细调)。tNctNc对而言,领域可取方形或六角形。开始时,较大,可包含全部节点。然后逐渐减少,建议用:NttNtNcc1int1最后收敛到只含中心本身。归一化处理:对输入向量和权向量归一化,以确保通过欧氏距离最小条件选取的获胜神经元具有最大输出。tXtXtX'tWtWtWjjj27SOFM模型•竞争层神经元(100个)排列成10×10的二维矩阵。二维输入矢量以均匀概率分布在正方形平面。特征映射图:随机初始权向量经过50次迭代后的权向量分布28经过100次迭代后的权向量分布经过10000次迭代后的权向量分布SOFM模型29SOFM模型•如果输入均匀分布在三角形区域,网络经充分训练后,可得到如右的拓