改进粒子群算法的过程神经元网络训练_第1页
改进粒子群算法的过程神经元网络训练_第2页
改进粒子群算法的过程神经元网络训练_第3页
改进粒子群算法的过程神经元网络训练_第4页
改进粒子群算法的过程神经元网络训练_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

改进粒子群算法的过程神经元网络训练

pn模型的输入层有一个n个节点。中间隐藏层包含m个过程节点,激励函数为f。输出层是一个非时变时间的节点,激励函数为g,tj是隐藏过程的阈值,t是输出阈值。x1(t),x2(t),…,xn(t)(t∈[0,T])为PNN的时变输入函数,wij(t)为连接权函数。网络输入与输出之间关系为:y=g{m∑j=1vjf[∫Τ0(n∑i=1wij(t)xi(t))dt-θj]-θ}y=g{∑j=1mvjf[∫T0(∑i=1nwij(t)xi(t))dt−θj]−θ}(9)3qps-pn学习算法3.1pnn网络输入与输出之间的映射关系为表述方便,算法描述的是如图1所示的具有一个隐层的PNN网络模型,并设输出神经元的阈值θ=0,算法可推广到多个隐层的情况。对于式(9)所描述的PNN网络模型,在C[0,T]空间中选取一组勒让德正交函数基b1(t),b2(t),…,bl(t),…,对于网络的输入函数X(t)=(x1(t),x2(t),…,xn(t))和网络连接权函数wij(t)在满足拟合精度的条件下进行有限项展开:xi(t)=L∑l=1a(l)ibl(t)xi(t)=∑l=1La(l)ibl(t)(10)wij(t)=L∑l=1w(l)ijbl(t)wij(t)=∑l=1Lw(l)ijbl(t)(11)其中,L为满足输入函数拟合精度要求的基函数的项数,a(l)i(l)i为xi(t)相对于bl(t)的展开系数,w(l)ij(l)ij为wij(t)相对于bl(t)的展开系数。把式(10)、式(11)代入式(9),并根据基函数的正交特性整理,则含一个过程神经元隐层的PNN网络的输入与输出之间的映射关系为:y=g[m∑j=1vjf(n∑i=1L∑l=0w(l)ijail-θj)]y=g[∑j=1mvjf(∑i=1n∑l=0Lw(l)ijail−θj)](12)式(12)中,vj,w(l)ij(l)ij,θj为PNN网络在训练过程中的调整参数,其中i=1,2,…,n,j=1,2,…,m,对于给定的K个独立同分布的学习样本{Xk(t),dk}(k=1,2,…,K),其中第k个样本输入函数为Xk(t)=(x(k)1(k)1(t),x(k)2(k)2(t),…,x(k)n(k)n(t)),期望输出为dk。待定参数的数量为n×L×m+2m个。误差函数可定义为:E=Κ∑k=1(yk-dk)2=Κ∑k=1{g[m∑j=1vjf(n∑i=1L∑l=1w(l)ijail-θj)]-dk}2(13)E=∑k=1K(yk−dk)2=∑k=1K{g[∑j=1mvjf(∑i=1n∑l=1Lw(l)ijail−θj)]−dk}2(13)3.2解空间变换映射步骤1粒子群初始化:按式(1)的编码方式,对于式(12)的待定的PNN参数,随机产生γ个粒子组成初始群体,设定最大进化代数max_gen,限定误差max_E,置当前代数t=0;步骤2按式(4)、式(5)进行解空间变换,由单位空间[-1,1]N映射到实际问题的解空间[a,b]N;步骤3计算每个粒子的适应度。适应度函数可以按照式(13)来构造,考虑适应度的实际意义,并取误差函数倒数。步骤4若粒子目前位置pi优于自身记忆的最优位置pil,则用目前位置替换;若目前全局最优位置pgd优于到目前为止搜索到的全局最优位置pg,则用目前全局最优位置替换;步骤5按式(6)、式(7)完成粒子状态的更新;步骤6对每个粒子按照变异概率,采用式(8)的方法进行变异;步骤7返回步骤2循环计算,直到满足收敛条件或代数达到最大限制。4网络模型仿真实验2.为验证QPSO-PNN算法的有效性,实验采用PNN实现两组二维三角函数的模式映射问题,将选用的PNN使用勒让德基函数进行输入函数和权函数的展开,用QPSO-PNN实现对PNN的待定参数的训练,并同文献提出的正交基BP算法(记为BP-PNN)、文献的PSO算法进行PNN训练算法(记为PSO-PNN)进行对比。第一组:{(sin(2π(x-0.1)),cos(2π(x-0.1)),0.5),(sin(2π(x-0.15)),cos(2π(x-0.15)),0.5),(sin(2π(x-0.2)),cos(2π(x-0.2)),0.5)。⎧⎩⎨⎪⎪(sin(2π(x−0.1)),cos(2π(x−0.1)),0.5),(sin(2π(x−0.15)),cos(2π(x−0.15)),0.5),(sin(2π(x−0.2)),cos(2π(x−0.2)),0.5)。第二组:{(1.5sin(2.2π(x-0.1)),0.5cos(1.8π(x-0.1)),1),(1.5sin(2.2π(x-0.15)),0.5cos(1.8π(x-0.15)),1),(1.5sin(2.2π(x-0.2)),0.5cos(1.8π(x-0.2)),1)。⎧⎩⎨⎪⎪(1.5sin(2.2π(x−0.1)),0.5cos(1.8π(x−0.1)),1),(1.5sin(2.2π(x−0.15)),0.5cos(1.8π(x−0.15)),1),(1.5sin(2.2π(x−0.2)),0.5cos(1.8π(x−0.2)),1)。三种算法采用相同的网络结构参数,输入节点:n=2,隐层节点:m=8,输出节点:p=1,通过试探法确定的勒让德基函数的项数L=16,误差精度ε=0.05,最大迭代步数:1000,粒子群规模:30,量子位数就是式(12)所表示的PNN网络模型中待定参数的数量:n×L×m+2m=2×16×8+2×8=272位,转角初值:0.01π,权值和阈值的取值空间[-10,10]。对于BP-PNN中的学习速度:α=β=γ=0.05,惯性系数:η=0.1。分别用三种算法进行10次PNN训练,记录各自的收敛次数、迭代步数及训练误差等对比指标,对比结果见表1、图3、图4。在进行仿真过程中,当PNN网络结构确定后,待定参数高达272个,因此该PNN的训练属于高维优化问题。BP-PNN算法由于自身的缺陷,容易陷入局部最小,并且需要计算复杂的梯度信息,因此计算量大,收敛速度较慢并且收敛次数较少,10次训练过程中仅有6次收敛。PSO-PNN算法由于PSO自身的容易产生早熟收敛、收敛速度较慢的特性,相比BP-PNN仍然有2次不收敛。QPSO-PNN采用的双链编码机制,具有较强的全局搜索能力,同时采用量子旋转门进行量子的更新,不需要计算复杂的梯度信息,因此收敛次数、收敛速度等指标都明显优于其他两种算法。5优化效率比较本文对于输入为过程、输出为实值向量的过程神经元网络的训练问题,提出了一种改进粒子群的学习算法。该算法能充分发挥量子粒子群的全局收敛性和群体搜索能力。同时,每个粒子采用双链编码方式,对应优化问题的两个解,在粒子数目相同时,可显著提高搜索效率。仿真实验表明,该算法与PSO-PNN相比,优化效率有明显改善,与正交基展开后的BP-PNN算法相比,不仅收敛速度快,而且寻优能力强。同时,需要注意的是,合理确定QPSO中粒子各维度的搜索范围是其需要解决好的问题,应根据具体问题的先验知识进行合理分析,使得QPSO-PNN算法更好的在实际中进行应用。1qpso算法的改进过程神经元网络(ProcessNeuralNetwork,PNN)是近几年提出的一种新的人工神经网络模型,输入/输出均可为时变函数,聚合运算可同时反映多输入时变信号的空间聚合和对时间过程效应的累积。由于具有对连续泛函的可逼近性和连续性,对于非线性动态系统建模、时变信号处理等问题的解决具有良好的适应性。对于过程神经元网络的训练问题,文献中给出了基于梯度下降与数值计算相结合的学习算法。过程神经元要完成对于时间的聚合运算,因这种算法计算量大并且复杂。文献提出了基于正交基展开的学习算法,利用基函数的正交性,有效简化了时域聚合运算;但在进行基函数展开后,利用梯度下降法,存在对初值敏感、容易早熟,需要计算复杂的梯度信息等缺点。粒子群优化算法(ParticleSwarmOptimization,PSO)是由Eberhart博士和Kennedy博士提出的一种新的全局进化算法,源于对鸟类捕食行为的模拟。PSO算法在实际应用中容易产生早熟收敛、寻优能力较差、收敛速度较慢等问题。为解决早熟收敛问题,惯性权重法、自适应变异法等改进方法先后被提出,但这些改进不同程度地降低了收敛速度。本文结合新近提出的量子计算理论,在文献的基础上,对粒子群算法进行改进,设计一种双链结构的量子粒子群优化算法(QuantumParticleSwarmOptimization,QPSO),采用量子位对粒子的当前位置进行编码,用量子旋转门进行粒子位置的移动,为增加群体的多样性,有效避免早熟,用量子非门实现粒子变异。同时针对过程神经元网络PNN的高维训练问题,让每个粒子的量子位有两个概率幅,在粒子数目相同时,提高了算法的搜索能力。以两组二维三角函数的模式分类问题为例,验证了算法的有效性,仿真结果表明QPSO-PNN算法可充分利用QPSO的群体搜索能力和全局收敛性,并适用于高维数量空间连续优化求解,并有效克服现有BP算法对初始点敏感的问题,降低原有算法的复杂度,提高过程神经元网络的稳定性。在很多情况下,普通的PSO算法容易陷入局部最小,出现早熟。主要归因于种群在搜索空间中的多样性的丢失。本文在改进后的QPSO中,引入变异算子的目的是为了增加种群的多样性,避免早熟收敛。变异操作由量子非门实现,同时粒子位置的移动由量子旋转门实现。因此,普通PSO中粒子移动速度的更新转变为量子旋转门角的更新,粒子位置的更新转变为粒子上量子位概率幅的更新。1.1random算法在QPSO中,直接采用量子位的概率幅作为粒子当前位置的编码,采用如下编码方案:式(1)中θij=2πRandom,Random是(0,1)之间的随机数,i=1,2,…,m,j=1,2,…,n,m是种群规模,n是空间维数。在这种编码方案中,种群中的每个粒子占据遍历空间中两个位置,它们分别对应量子态|0>和|1>的概率幅为:为表述方便,称pic为余弦位置,pis为正弦位置。1.2量子态的一般概率幅在QPSO中,由于粒子的遍历空间每维均为单位空间[-1,1],为计算粒子目前位置的优劣性,需要进行解空间的变换。将每个粒子占据的2个位置由单位空间I=[-1,1]n映射到优化问题的解空间。粒子上量子位的每个概率幅对应解空间的一个优化变量。记粒子pj上第i个量子位为[αji,βji]T,则相应的解空间变量为:因此,每个粒子对应优化问题的两个解,其中量子态|0>的概率幅αji对应Xjic;量子态|1>的概率幅βji对应Xjis。1.3粒子状态更新设粒子pi当前搜索到的最优位置为余弦位置:整个种群目前搜索到的最优位置为:基于以上假设,粒子状态更新规则可描述为:1.3.1粒子pi上量子位幅角增量的更新式(6)中:1.3.2rand&pm方法1.4变异处理首先给定变异概率pm,对每个粒子赋值一个(0,1)之间的随机数randi,若randi<pm,则随机选择该粒子中n/2个量子位,用量子非门交换两个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论