som人工神经网络的改进

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

SOM神经网络的改进吴敏自组织神经网络(SOM)采用无导师学习方式,更类似于人类大脑中生物神经网络的学习,其最重要的特点是通过自动寻找样本中的内在规律和本质属性,自组织、自适应地改变网络参数与结构。SOM神经网络基本思想是让竞争层神经元通过竞争与输入模式进行匹配,最后仅有一个神经元成为竞争的胜利者,然后调整与获胜神经元有关的各连接权使其朝着更有利于它竞争的方向调整。传统的SOM模型在使用时,竞争层神经元个数需要预先制定,权向量的初始值随机产生,这种网络结构上的限制很大地影响了网络的收敛速度和学习效果。01基于微粒群算法的SOM网络微粒群算法微粒群算法(ParticleSwarmOptimization,PSO)是由J.Kennedy与R.Eberthart于1995年共同提出的一种仿生优化计算方法。最初的原型来自于对鸟群捕食行为的研究:一群鸟在随机搜寻食物,如果这个区域里只有一块食物,那么找到食物的最简单有效的策略就是搜寻目前离食物最近的鸟的周围区域。在PSO算法中,每个优化问题的潜在解都看做D维搜索空间上的一个点,称之为“粒子”。粒子在搜索空间中以一定的速度飞行,这个速度根据其本身及同伴的飞行经验来动态调整。每一个粒子都有一个被目标函数决定的适应值,通过适应值判定位置的好坏。并记录了自己到目前为止发现的最好位置和当前位置,这即是粒子自己的飞行经验。另外,每个粒子还知道到目前为止整个群组中所有粒子发现的最好位置,这即是其同伴的飞行经验。每个粒子通过上述极值不断更新自己,从而产生新一代群体。优化搜索就是在由这样一群随机初始化形成的粒子组成的种群中,以迭代的方式进行。PSO算法是基于个体的协作与竞争来完成复杂搜索空间中最优解的搜索。微粒群算法粒子xi按如下式子更新每一维速度和位置:d表示维数k为当前迭代次数c1,c2是加速因子,为正常数r1,r2是互相独立的0到1之间的随机数微粒群算法第一部分为粒子先前的速度,说明了粒子当前的状态;第二部分是认知部分,表示粒子对自身的思考;第三部分是社会部分,表示粒子与邻居粒子的比较和模仿,实现粒子间的信息共享与合作。c1,c2是加速因子,为正常数。是使粒子向最优位置飞行的权重因子,较小会使粒子以较小速率向目标区域游动,较大则可能会使粒子很快飞越目标,通常均取2;vmax决定了粒子的搜索能力,若其值取的太大,则粒子可能很快就飞出最优点,若取值太小,则粒子可能无法越过局部最优点,陷入局部最优。微粒群算法算法流程:(1)随机初始化粒子种群:初始化种群中所有粒子的速度和位置;(2)使用根据优化问题目标定义的适应度函数对所有粒子进行评价;(3)比较各粒子当前的适应值与其经历过的最好位置的适应值,如果当前适应值更优,则将xi更新为粒子个体最优位置pi;(4)再将各粒子的个体最优解与种群内所有粒子发现的最好位置,若前者更好,则将pi作为全局最好位置pg;(5)按上述式子进行粒子速度及位置的迭代;(6)重复步骤2-5,直到满足算法的迭代停止条件为止。将迭代停止条件设定为一个足够好的适应值或达到一个预设的最大迭代次数。微粒群算法优点:基本PSO算法是一种基于迭代的优化算法,依据粒子本身的搜索经验和同伴的搜索经验得到粒子下一个的位置。没有交叉和变异运算,依靠粒子速度完成搜索,并且在迭代进化中只有最优的粒子把信息传递给其它粒子,搜索速度快;算法中的粒子具有一个重要的特点:记忆性。粒子群体的历史最好位置可以记忆并传递给其它粒子。另外,基本PSO算法需调整的参数较少,结构简单,实数编码,易于实现。缺点:在参数选择上,若加速系数等参数选择太大,粒子群可能错过最优解,算法不易收敛;而在收敛的情况下,由于所有的粒子都向最优解的方向飞去,粒子失去了多样性,使得进化后期收敛速度变慢。P-SOM算法SOM神经网络进行网络训练时,若将输出层神经元的连接权值设置的与输入模式相差很大,那么此神经元会一直不能在竞争中获胜,其权值无法得到任何学习训练的机会,成为“死神经元”;或者有些神经元获胜次数过多,对其过度利用,这些都会影响网络的学习效果。为改进SOM神经网络的这一缺陷,提出了基于PSO算法的SOM神经网络P-SOM,通过PSO算法与SOM神经网络的学习算法对连接权值交替更新,使网络输出层神经元连接权的初始值对SOM神经网络算法的影响减弱。首先,PSO算法部分,将SOM神经网络权向量看作一个个的粒子,将输入模式与权向量之间的欧氏距离的叠加作为为适应度函数,迭代过程是寻找权值使此适应度函数达到最小。通过PSO算法的速度位移公式更新每个粒子而达到更新每个网络权值的效果。达到一定的迭代次数之后,再利用SOM神经网络训练算法训练网络权值。P-SOM算法P-SOM算法的具体流程如下:(1)用随机数设定网络权向量Wj的初始值,并选定一组输入样本X1,X2,…Xn(2)利用权向量Wj初始化微粒群算法的粒子;(3)将所有输入模式向量与权向量值之间的欧氏距离的叠加做为微粒群算法的适应度函数f(Xi为输入样本)。通过微粒群算法迭代m次优化各权值Wj;(4)将优化后的各粒子的值重新设置为神经网络的连接权值,利用SOM神经网络的算法进行训练,迭代n次;(5)重复执行(2)到(4),直到达到目标迭代次数为止。对于m和n值的选取,可根据具体问题设置不同,当n取0时,就还原为了PSO算法;相反,m取0时,则还原为Kohonen模型。此网络权值的训练算法,通过PSO算法使得网络的每个权值都能得到调整,使得每个权值都向着输入模式靠近,有效避免了“死神经元”现象的产生,提高了SOM神经网络的训练精度与速度。02树形动态自组织映射模型传统的SOM模型在使用时,竞争层神经元个数需要预先制定,这种网络结构上的限制很大地影响了网络的收敛速度。很多学者开始研究使SOM网络结构在训练过程中动态决定,这里介绍一种更优化的动态模型,树形动态增长自组织模型(TGSOM,Tree-structuredGrowingSelf-OrganizingMaps),可按需要方便地在合适的位置生成新结点。TGSOM网络结构与SOM一样由输入层和竞争层两部分组成,其网络结构如图所示。左图为网络初始状态,此时竞争层只包含一个根结点root;右图为网络生长至8个结点时的状态,这8个结点以root为根形成二维树型结构,且与输入层结点x1,x2…实现全互连接。TGSOM定义1对于网络的输入向量V,称与V距离最近的竞争层结点为V的最佳匹配结点,记为bmn(bestmatchingnode),即满足||V-Wbmn||≤||V-Wq||其中W为结点的权值向量,q为网络结点,||||为欧氏距离。定义2输入向量V与其最佳匹配结点bmn的距离称为V与bmn的误差,记为E。其中D为V的维数。定义3网络中竞争层结点p及其直接子结点为P的邻域TGSOMTGSOM的处理过程如下:1初始化(a)将根结点的权值向量赋予的随机的归一化向量。(b)根据用户需求定义生长阈值GT。2训练(a)从V中随机选取训练样本向量v并归一化,训练样本的输入顺序不同会导致所生成的TGSOM网络结构不同,但不会影响最终聚类结果。(b)从当前的TGSOM网络结点中寻找v的最佳匹配结点bmn。(c)计算bmn与v的误差E。若E≤GT转(d)做调整操作;否则转(e)做生长操作。(d)调整bmn邻域的权值。K为训练次数。TGSOM(e)生成bmn的一个新的子结点chlid,置Wchild=v(f)LR(k+l)=LR(k)xα。其中α为LR的调节因子,Oα1。(g)重复(a)一(f)直到所有样本训练完毕。3重复重复(2)进入下一个训练周期,直到结点的生成达到饱和为止(即网络中不再有新的结点生成)。4平滑(a)减小LR以对网络中结点权值进行微调。(b)寻找输入向量v的bmn并调整bmn邻域的权值,方法同训练阶段。此阶段无新结点生成,目的是修正误差,尤其适用于在生长阶段后期生成的结点。在TGSOM算法中由GT决定网络中是否生成新结点,因此GT值的大小将决定网络的生长。当GT值较大时,TGSOM算法将很快生成目标网络,但此时网络包含的节点数较少,只能实现较粗糙的聚类。反之,当GT值较小时,TGSOM算法生成目标网络速度较慢,此时网络包含的节点数较多,可以实现高精度的聚类。谢谢!

1 / 19
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功