量子神经网络算法十篇

发布时间:2024-04-26 10:51:56

量子神经网络算法篇1

【关键词】过程神经网络量子混合蛙跳算法

过程神经网络具有较强的信息处理能力,在实际中有着广泛应用。然而随着信息量的增加及处理的复杂化,该技术的不足之处也渐渐显露,如对较大样本的学习很难解决、不能满足系统反映时变输入信息对输出的累积效应等。在长期探索中,多位专业人员不断提出新的方法,但都有一定的缺陷。量子进化计算的全局寻优能力较强,蛙跳算法则具备计算简单快速的优势,在此将二者相结合,提出一种的新的算法,以提高过程神经网络的稳定性。

1量子混合蛙跳算法在过程神经网络优化中的应用

1.1个体编码方案设计

|0〉和|1〉是微观粒子基本状态在量子计算中的表现形式,用其线性组合|φ〉=α|0〉+β|1〉可表示单量子比特的所有状态,但其应符合|α|2+|β|2=1的要求。因此,可按照叠加理论,将量子比特的全部状态均表示为:

|φ〉=cos|0〉+eiφsin|1〉

上式中,θ[0,π],φ[0,2π],且(cos)2+(eiφsin)2=1

可见,量子比特是由θ及φ两个变量所刻画的矢量空间,并可利用Bloch球面进行直观的描述。设种群为m,优化空间为n维,采用Bloch球面坐标编码,可将第i个待优化的个体编码为:

其中,i=1,2,…,m;j=1,2,…,n;θij[0,π],φij[0,2π]

1.2QSFLa的种群评估

1.2.1个体解空间变换

QSFLa中的每只青蛙都有三组Bloch坐标,x=cosφsinθ,y=sinφsinθ,z=cosθ,各自都表示一个优化解。考虑到x、y、z都[-1,1],需对其进行解空间变换。设待优化问题的第j维变量[min(j),max(j)],可将解空间变化表示如下:

Xij=[min(j)(1xij)+max(j)(1+xij)]

Yij=[min(j)(1yij)+max(j)(1+yij)]

Zij=[min(j)(1zij)+max(j)(1+zij)]

1.2.2QSFLa的种族评估

依次将青蛙个体各自对应的解代入到适应度函数,对其适应度进行计算。确保整个种群中最优青蛙所对应的幅角为θg和φg,而子种群中的最优青蛙相对应的幅角则为θb和φb,子种群中的最差青蛙相对应的幅值为θw和φw。

1.3QSFLa的种群进化

1.3.1QSFLa个体更新

针对子种群中最差的青蛙量子位幅角增量的更新:

Δθ=rand()(θb-θw),Δφ=rand()(φb-φw)

在此借助量子旋转门改变量子比特的相位:

基于量子旋转门的量子位概率幅更新:

对上式进行分析,Δθ和Δφ两转角的大小和符号分别决定着收敛速度和方向,因此极为关键。为不影响算法效率,可将其看做是Block球面的旋转,即量子比特在上面绕着某一固定轴进行旋转。通过旋转可使两个参数同时改变,以提升优化能力。

1.3.2自适应混沌旋转角度算子

混沌优化方法适用于小空间搜索,在较大空间中搜索效果较弱,与蛙跳算法子群内部的全局遍历十分适应。其公式如下:

δ(t)=δmin+×L×(δmaxδmin)

上式中,结合旋转角度和进化代数进行适应调整,在进化初期,便可实现算法较大幅角的搜索工作。进化代数不断增加,幅角随之减小,为进化后期的精细搜索提供了便利。Lj+1=μLj(1Lj),μ=4是一个Logistic混沌序列,可让旋转操作在解空间内进行遍历,对提高搜索效率较为有利。为提高收敛速度,用δmin和δmax分别表示允许旋转角的最小及最大值。通过自适应调整,使得局部优化的遍历性有所增强,且不需要将量子门转角的方向与当前最优个体对比,有利于促进种群的进一步优化。

2量子混合蛙跳算法的改进

在混合蛙跳算法分组中,若采用标准的分法,适应值较差的青蛙常分在最后一组,则其向最好青蛙学习的效果较弱。为此,提出一种新方法:初始种群p,先按照标准分组的方式将种群分为m个子群,均包含有n只青蛙;然后从其他组随机选择一只与该组中的最优青蛙进行对比更新,得到一个新青蛙,使得每组扩大到n+(m-1)个青蛙,使得分组更为多样;当每组进化迭代完成后,再将各组进行重新合并,形成一个新种群,对其中青蛙的适应值进行计算闭关重新排序,取前p个进入下一轮迭代。

3结束语

该方法将过程神经网络的基函数展开项数、隐层神经元个数和其他常熟参数作为一个优化整体,具有很多优势,在实践中也证明了该算法的合理性,值得推广应用。

作者简介

张小军(1980-),男,河南省人。现为河南教育学院信息技术系讲师。主要研究方向为云计算、数据挖掘、通信技术。

作者单位

量子神经网络算法篇2

【关键词】量子力学;神经网络;电力电子电路;故障诊断

双桥12相脉波整流电路现阶段,大多数电力电子电路故障诊断都利用人工神经网络来实现,这种故障诊断方法具有许多的优势,近年来应用越发的深入,但随之而来也凸显了许多不足之处,比如数据量较大时,处理速度比较慢,记忆容量比较有限,接收新的信息时候可能会发生突变性失忆等等,因此,行业内相关学者在经济的探索新的神经网络理论及结构。量子神经网络是20世纪末期出现的一种新的神经网络,相比于传统的神经网络,数据处理能力明显增强,稳定性及可靠性也很高,将其应用于电力电子电路故障诊断之中优势明显,下文主要就量子神经网络进行简单的介绍,重点分析基于量子神经网络电力电子电路故障诊断的方法。

1量子神经网络概述

量子神经网络是经典神经网络与量子计算结合起来的产物,一般来说,主要有两种结合形式。(1)将量子计算理论引入到神经网络结构及训练的过程中。(2)设计神经网络的训练算法及拓扑结构设计过程中借用量子理论中的一些原理及概念。本文主要介绍一种在四层前向Bp网络基础上与量子计算理论结合形成的四层量子Bp神经网络。该神经网络中,采用许多个传统的激励函数叠加形成了隐层量子神经元激励函数,该激励函数可以将决策的不确定性数据进行合理的分配,不确定性数据分配到不同的故障模式之后故障诊断的不确定度自然会有所降低,也就是说准确率有所升高。使用这种故障诊断方法能够将抽样数据中存在的模糊性自动诊断出来,如果特征矢量处于交叉类边界之中,神经网络能够将该特征矢量分配到所有相关的类中,如果分类时特征矢量不存在模糊性,同样分到对应的类中。这种故障诊断方法之下,特征矢量与故障类之间的对应关系能够精确的反映出来,诊断效率明显提高。量子神经网络主要分为输入层、输出层、第一隐层、第二隐层四层结构,输入层设为X=(X1,X1,……Xn),输出层设为Y=(Y1,Y1,……Yn),Sigmoid函数为层间的传递函数,三层的权值分别为w1k,b,w2m,k,w3s,m,神经元个数分别为K、m、S,量子间隔大小与待诊断故障元件的数目相同。基于量子神经网络的学习算法之中神经元之间的权值更新与常规的Bp算法中的一致,权值变化及误差反向传播都采用的是梯度下降法,实际的应用过程中为了防止陷入局部极小值,往往需要将自适应学习速率法及附加动量引入其中,确保网络能够滑过局部极小值迅速收敛。

2基于量子神经网络的电力电子电路故障诊断方法

本文主要以双桥12相脉波整流电路为研究对象,验证基于量子神经网络的故障诊断方法的效果。图1所示为双桥12相脉波整流电路图。实际的故障诊断过程中首先使用电路仿真软件模拟该电路可能会出现的各种故障,得到对应的故障信号,将这些信号作为输入样本数据,对应的故障类型则作为网络输出数据,使用量子神经网络将故障信号及故障类型之间的映射关系分析、存储起来,最后测试训练后的神经网络并观察试验的结果。2.1量子神经网络的输入样本设计在双桥12相脉波整流电路中,设置其控制触发角为0°,实验时只考虑电路中晶闸管开路的现象,然后使用oRCaD软件模拟该电路的各种故障。当电路中发生某一种故障之后,选择一个周期的电路的负载电压作为样本,取样的时间为0.1ms,一个周期的时长为20ms,因此,每组有200个样本数据,将这些数据归一化处理之后可以得到量子神经网络的输入样本。双桥12相脉波整流电路晶闸管开路故障主要是电路中一个或者两个桥臂不导通,极少会出现三个或是四个桥臂同时不导通的现象。设该电路中有两个晶闸管同时出现故障,左右两部分电路没有同时故障,则该电路可能会存在包括无故障在内的7大类31小类故障。比如,接到同一项电压的V1V3或V7V9或V5V11同时发生故障,两只交叉的晶闸管V1V11或V1V7或V5V3或V5V7或V9V3或V9V11同时发生故障、同一半桥的两种晶闸管V2V6或V2V10或V6V10或V8V12或V8V4或V12V4同时发生故障等等,将所有的31小类故障分析出来之后编号,每个故障对应一个Y1Y2Y3Y4Y5Y6的六位编码,其中Y1Y2Y3表示大类,Y4Y5Y6表示小类,比如001001表示第一大类第一小类,与每组特征信号对应的故障编码为网络目标输出样本。2.2实验结果本次实验中共有200个输入节点,6个输出节点,反复实验之后,第一隐层取80层,第二隐层取100层,各层的激活函数为σ(t)=1/(1+e-t),初始权值随机给出。网络训练的误差结果如图2所示,图中横轴为训练步数,纵轴为量子神经网络训练误差,量子神经网络与经典Bp神经网络的网络结构及训练参数一致,二者的训练步数不同,其中量子神经网络10125步,而经典Bp神经网络为26745步。将标准样本以外的3100组数据加入到随机噪声之中作为网络测试样本,测试基于量子数神经网络的故障诊断方法的准确性,当实际输出满足一下条件时,认为该输出正确,即,其中为该神经网络的目标输出。网络诊断了检测完成之后还需要测试网络的误诊率,测试结果显示,诊断数为3100,当随机噪声为5%,量子网络诊断准<<上接121页确率为100%,Bp网络准确率为99.20%;当随机噪声为10%时,量子网络诊断准确率为99.97%,Bp网络准确率为78.50%;当随机噪声为15%时,量子网络准确率为99.84%,Bp网络诊断准确率为64.35%;当随机噪声为20%时,量子网络准确率为99.45%,Bp网络准确率为48.75%。诊断数为3100,当随机噪声为5%,量子网络的诊断错误率为0%,Bp网络为0.50%;当随机噪声为10%时,量子网络诊断错误率为0.54%,Bp网络为12.24%;当随机噪声为15%时,量子网络错误率为1.42%,Bp网络为20.05%;当随机噪声为20%时,量子网络错误率为3.58%,Bp网络为32.74%。由实验数据可以明显看出与经典的Bp神经网络相比,量子神经网络的诊断率明显较高,误诊率相对较低,且当电路存在随机噪声时,量子神经网络依然能够比较稳定的检测出电路故障,抗噪能力及网络稳定性均较好。

3结束语

本文就量子神经网络进行了简单的介绍,重点结合双桥12相脉波整流电路就基于量子神经网络的电路故障诊断方法进行了分析探讨,实验表明,基于量子神经网络的电力电子电路故障诊断方法准确度较高,与经典的Bp神经网络相比具有误诊率低、抗噪能力强、网络稳定性较好等等优点,可以应用于电子电路的故障诊断。因篇幅所限,本文介绍的内容相对而言比较简单,希望能够为相关研究人员的电力电子电路故障诊断的工作提供参考。

参考文献

[1]王力,王旭,徐哲.电力电子电路故障预测关键技术论述[J].通讯世界,2016(02).

[2]汪蔚,王荣杰,胡清.神经网络电力电子装置故障诊断技术[J].微计算机信息,2012(16).

量子神经网络算法篇3

关键词:入侵检测;神经网络;遗传算法;改进的进化神经网络

中图分类号:tp18文献标识码:a

文章编号:1004-373X(2010)01-078-03

improvedevolutionaryneuralnetworkalgorithmanditsapplicationsinintrusionDetection

LiShuhui

(Xi′aninstituteofposts&telecommunications,Xi′an,710121,China)

abstract:theimprovedevolutionaryneuralnetworkalgorithmcanevolveneuralnetworkarchitecturesandweightssimultaneouslyusingtheevolutionalruleofbi-population.itcanresolvetheshortageofexistingleastpartpointofBpneuralnetwork.theperformanceandconvergentprecisionoftheimprovedevolutionaryneuralnetworkalgorithmisimprovedgreatly.astudyofapplicationofthealgorithminintrusiondetectionisproposed,andestablishanintrusiondetectedsystemmodelbasedonimprovedevolutionaryneuralnetworkisestablished.UsingKDDCUp99datasettotestassortingmachinemodelofevolutionalneuralnetworkinthismodel.experimentresultshowsthatthemethodgainsmorehigherdetectedratiothanthemethodbasedonBpneuralnetworkandthetraditionalevolutionaryneuralnetwork.

Keywords:intrusiondetection;neuralnetwork;geneticalgorithm;improvedevolutionalneuralnetwork

随着网络技术的普遍使用,网络黑客也应运而生,如今黑客遍布世界。随着黑客们知识的日趋成熟,攻击工具和手段的日趋复杂多样,传统的安全方法包括识别与验证(identificationandauthentication)、访问控制(accessControl)和防火墙(Firewall),已经无法满足对安全高度敏感部门的需要,网络的安全防卫必须采用一种纵深、多样的手段,入侵检测系统(iDS)已经成为必不可少的重要部分。入侵检测系统通过分析网络的数据和审计记录,识别系统中的攻击活动,并采取相应的措施。iDS作为主动的安全技术,已经成为网络安全领域的热点。随着人工智能(artificialintelligence,ai)理论的日趋成熟和智能计算技术的发展,人们将神经网络、专家系统、机器学习、进化算法等智能技术用于入侵检测的研究中,不仅为入侵检测的研究开拓了一个崭新的方向,同时也使网络安全技术发展有了进一步的提高[1]。

1改进的进化神经网络算法

近年来,越来越多的研究人员在从事神经网络(neuralnetwork,nn)和遗传算法(Geneticalgorithm,Ga)相结合的研究工作,从而开辟了新的进化神经网络研究领域。可以说它是神经网络与遗传算法跨学科结合的产物,研究进化神经网络更好地理解学习与进化的相互关系已成为人工生命领域中十分活跃的课题。遗传算法Ga和神经网络nn相结合的进化神经网络算法(evolutionaryneuralnetworkalgorithm,enna)已经有了一定的研究和发展,基于遗传神经网络的进化神经网络算法的应用主要有以下两个方面。

(1)遗传算法对神经网络权值的进化[2,3];

(2)遗传算法对神经网络结构的进化[4,5]。

Bp神经网络(Back-propagationneutralnetwork)通常指基于误差反向传播算法的多层前向神经网络,采用有导师的训练方式。Bp算法已成为目前应用最为广泛的神经网络学习算法,绝大部分的神经网络模型都采用Bp算法或它的变化形式,它也是前向神经网络的核心部分,体现了神经网络最精华的部分。对于Bp神经网络的连接权值和网络的结构都是非常重要的信息,所以有必要寻找一种用遗传算法同时优化网络连接权值和网络结构的算法,并且这个算法要编码简单,易操作;算法的适应度要广泛,检测率要高[6-8]。

1.1改进的进化神经网络算法思想

结合入侵检测系统的数据特点,提出一种改进的进化神经网络算法(improvedevolutionaryneuralnetworkalgorithm,ienna),即用改进的遗传算法――双种群遗传算法来优化神经网络权值和结构。传统的遗传算法有两个严重的缺点,即容易过早收敛,以及在进化后期搜索效率低,这时最终搜索到的结果往往不是全局最优解。针对此问题,提出了双种群遗传算法,双种群遗传算法是一种并行遗传算法,它适应多种群同时进化,并交换种群之间的优秀个体所携带的遗传信息,以打破种群内的平衡态,跳出局部最优,同时也加快了算法的进化速度。

改进的进化神经网络算法ienna的核心思想就是采用双种群的进化规则,整个进化算法存在大、小两个群体。大群体中有多种网络结构的个体;小群体中所有个体有相同的网络结构。通过大群体的进化来优化网络结构,通过小群体来优化网络权值。大群体中,每一个个体都来自小群体中选择出的最优解;小群体中,进化算法选用混合交叉算子BLXα作为交叉算子,按自适应个体变异率采用三子代变异操作算子来进行遗传优化操作。大群体中的进化算法用改进的增加算子和删除算子进行遗传优化。

1.2改进的进化神经网络算法步骤

根据前面介绍的改进进化神经网络算法的思想,将ienna算法步骤做一简单介绍。

Step1:参数的设定。根据实际确定Bp神经网络的层数、各层的神经元数、输入样本的数据模式、误差值、激活函数、遗传的代数等。

Step2:初始化。随机产生p个染色体bi(i=1,2,…,p)作为大种群初始化,每一个染色体用一个网络结构进行编码,此处采用实值编码方法,如:ω1,ω2,…,ωn,b,g,每个码值可用正态分布的小随机数来初始化。

Step3:评估。根据随机产生的权值向量和阈值向量对应的神经网络,用Bp算法对给定的输入样本和输出样本进行计算,得出每个神经网络的全局误差e。如果e满足条件,则结束,或者某个个体适应值达到预先设定的要求,则算法亦结束;否则转入Step4。

Step4:小群体演化。将大群体中的个体,按照结构的不同(即编码长度的不同)重新组成每一个小群体,并对每个小群体进行如下m代的进化。

Step4.1:选择。采用标准赌选择法从父代中选择个体,即基于相对适应度的选择,个体的适应度值越高,被选中的概率越大,其被选取的概率按照式(1)和式(2)计算。

pi=fi/∑ni=1fi,i=1,2,…,n

(1)

个体i的累积概率i定义为:

i=∑ik=1pk,i=1,2,…,n

(2)

Step4.2:交叉。按照BLXα混合交叉算子产生相应的子代,具体交叉个体的选取按式(3)进行交叉。

X1i=min(x1i,x2i)αdi

X2i=max(x1i,x2i)αdi

di=x1i-x2i(3)

式中:x1i,x2i是X1i和X2i的第i个分量,α是一个参数,值为正,根据经验一般取α=0.5。

Step4.3:变异。按自适应变异率,采用三子代变异算子进行变异产生三个新个体,变异概率按式(4)计算,依据式(5)得出三个新个体按适应度值大小进行取舍。

pm=k1(fmax-f)/(fmax-fave),f≥fave

k2,f

(4)

式中:k1=k2=0.5;fmax为群体中适应度最大的个体;fave为群体中平均适应度;f为需要变异个体的适应度。

对选定的个体X按式(5)进行变异,设:

X=[x1,x2,…,xn],xi∈[a,b]

X=[x1,x2,…,xn]+[b1Δx1,b2Δx2,…,bnΔxn]

(5)

式中:a≤xi+Δxi≤b;m=1,2,3;bi的取值为0或1;Δxi为随机产生的数。

Step4.4:判断条件。计算机每个小群体中所选优秀个体的适应度值,如果满足所给的条件,则算法结束;如果进化代数为m,则转Step5,否则重复执行Step4.1~Step4.3。

Step5:重组大群体。小群体C经过m代的演化随机选取优秀个体之一代替c返回主群体。

Step6:大群体演化。大群体中主要是不同结构网络的演化竞争,大群体中的个体可以按式(1)和式(2)选择概率,改变其网络结构,变异算子步骤如下:

Step6.1:删除算子。删除隐含层中某些节点及其相应的连接,删除某些连接,即将相应的权值置为0;

Step6.2:增加算子。增加隐含层节点数,随机产生相应的权值,对权值按小群体中变异算子采用的自适应变化率进行自适应变异。

Step7:组成新的大群体。转到Step3。

2改进的进化神经网络算法在入侵检测中的应用

由于神经网络、遗传算法目标一致而方法各异,若将二者有机的结合,并应用于入侵检测必然会给入侵检测技术的研究和发展带来更加优异的前景。所以本文将前面提出的改进进化神经网络算法应用于入侵检测系统中,以提高入侵检测的分类识别性能。

根据公共入侵检测框架(CommonintrusionDetectionFramework,CiDF)规范中所给出的一个入侵检测系统的通用模型,将ienna的思想引入入侵检测中,提出一个基于改进的进化神经网络(ienn)的入侵检测模型[9,10],如图1所示。

图1基于ienn的入侵检测模型

该模型包括数据捕获、特征提取、数据预处理、数据库、进化数据网络训练、进化数据网络分类器和响应模块。报文捕获引擎用于从网络上捕获网络数据包,该系统采用winpcap实现。特征提取模块用于对捕获到的网络数据进行分析处理,提取出的网络连接信息可以完备而准确地代表该数据流的特征向量。使用数据预处理模块将提取的特征向量进行处理,使之成为可直接作为ienn的输入向量数据。经过预处理的标准数据保存在数据库中,而预处理后的实时数据直接通过ienn分类器进行分类检测,如果认为是一种攻击行为,则向用户发出警告信息,如果发现了未知类型的攻击行为,则将该次攻击事件加入到数据库中,以备再学习。ienn训练机根据数据库中的标准数据训练ienn分类器,经过训练的ienn分类器可以对新的记录进行识别,并把结果保存在数据库中,如果发现是入侵行为,则将结果传给响应模块。

3实验测试和结果

3.1系统开发工具的选取

在利用进化神经网络方法进行入侵检测时,必定会涉及到大量的有关数值计算,尽管现代数值计算理论已经发展的很完善,多数计算问题都有高效的标准解法,但是利用计算机对神经网络和遗传算法进行求解时仍然是很麻烦的,而matlab中提供了大量的神经网络和遗传算法工具箱,运算功能很强。为了提高软件的开发效率和质量,本文使用VC++6.0和matlab相结合的方法来实现进化神经网络入侵的检测系统。

3.2实验环境

本实验所采用的计算机为intelpⅣ2.4GHzCpU,256mBRam,Broadcom440x网卡,windows2000Server操作系统。

3.3评估指标

检测精度=正确分类样本数/样本总数

误警率=错误报警率/正常样本总数

漏报率=(实际异常样本数-正确报警数)/异常样本数

对所选择的数据进行了各种比较;对选择不同参数值的检测情况进行分析比较;对Bp神经网络、遗传算法、传统的进化神经网络和改进的进化神经网络算法的检测结果也进行了比较。

实验中,将网络权值取值范围定在(-10,+10)之间,精确到0.01,输入节点数18,输出节点数为2,误差为0.01,实验结果见表1。

表1不同参数取值的实验结果

参数名称参数选取

种群大小135150195

种群的进化代数6090100

最好个体适应度值0.990440.994980.99328

检测率0.96830.98780.9765

误警率0.00170.00140.0016

漏报率0.00530.00260.0037

由于隐层节点数是在算法的训练过程中得到的,用改进的进化神经网络算法训练发现:隐层结点数为6,种群大小为150,进化代数为90获得的效果最好,可以达到0.9878的检测率。

在实验中再将改进的进化神经网络算法与其他算法进行实验比较,结果见表2。

表2不同算法的实验结果比较

Bp神经网络算法遗传算法传统进化神经网络算法改进的进化神经网络算法

已知入侵检测率0.94950.95880.96320.9878

未知入侵检测率0.82160.84660.89270.9058

误警率0.04030.03880.00980.0014

3.4实验结果分析

通过以上实验测试和结果比较证明,改进的进化神经网络算法比传统的进化神经网络算法、Bp神经网络算法和遗传算法都有更好的性能。在实验中采用精简的试验数据集来进行学习和训练,改进的进化神经网络算法针对已知入侵检测数据的检测率是0.9878,对未知入侵检测数据的检测率为0.9058,误警率为0.0014。从表2可见,改进的进化神经网络算法的误警率相对其他算法比较低。所以将改进的进化神经网络算法应用于入侵检测中是完全有效的。由此可以得出,本研究中设计的改进进化神经网络模型是非常有效的、可行的,值得进一步研究,从而不断改善其性能。

参考文献

[1]蒋建春,冯等国.网络入侵检测原理与技术[m].北京:国防工业出版社,2001.

[2]whiteleyD.Geneticalgorithmsandneuralnetwork:optimizingConnectionsandConnectivity[J].parallelComputing,1990(14):347-361.

[3]whiteleyD,Hansont.optimizingneuralnetworksUsingFastermoreaccurateGeneticSearch[m].ViRGinia:arlingtonpress,1989.

[4]KitanoH.DesigningneuralnerworkUsingGeneticalgorithmwithGraphGenerationSystems[J].parallelComputing,1990(4):461-476.

[5]GruauF,whitleyD.theCellularDevelopmentalofneuralnetworks:theinteractionofLearningandevolution[R].technicalReport93-04,ma:ecolenormaleSuperieuedeLion,1993:145-148.

[6]HaykinS.神经网络原理[m].叶世伟,译.北京:机械工业出版社,2004.

[7]袁曾任.人工神经网络及其应用设计[m].北京:清华大学出版社,2003.

[8]刘光中,李晓峰.人工神经网络Bp算法的改进和结构的自调整[J].运筹学学报,2001,5(1):81-88.

[9]郭翠英,余雪丽.基于神经网络的入侵检测模型[J].太原理工大学学报,2001,32(5):485-487.

量子神经网络算法篇4

【关键词】气体识别;自组织神经网络

1.引言

气体识别在环境保护、化工控制、家用报警、食品保鲜、温室环境控制、航空航天等领域有着广泛的应用。应用气体传感器进行多组份气体的定性定量研究,可以极大的降低测量成本,减小测量周期,并可实现在线的实时测量。但由于当前气体传感器普遍存在着交叉敏感和选择性差等缺点,使用单一传感器很难实现多组份气体的检测分析。为解决以上问题,一方面可以采用新材料、新工艺来改善传感器本身的性能;另一方面可以将现有的气体传感器构成阵列,并与自组织神经网络技术相结合。本文采用后者的原理,即通过多个敏感程度不同的气体传感器组成传感器阵列,结合神经网络模式识别算法进行气体识别分析。

人工神经网络(artificialneuronnetworks,ann)人工神经网络(artificialneutralnetworks,ann)是一个由大量简单处理单元广泛连

接而成的复合网络系统。神经元结构是受到生物神经元的启发而得来的。目前应用的神经网络类型有很多,其中应用最广的是Bp神经网络,神经网络需要学习的过程,即利用外部条件作用于神经网络,使其能重新对外界做出反应。将气体传感器阵列与采用Bp算法进行训练的人工神经网络模式识别技术相结合形成的气体识别系统,是利用传感器阵列对混合气体的高维响应模式来实现对混合气体的定量检测。其中传感器阵列的选取、传感器信号的预处理方法、Bp神经网络的结构和参数以及测量环境是影响系统性能的可能因素。

2.人工嗅觉系统

人工嗅觉系统是一种化学分析系统,它由一个具有部分专一性的电子化学传感器阵列和一个合适的模式识别系统组成。由于人工嗅觉系统主要模仿的是生物的嗅觉系统,所以人工嗅觉系统也可被称为“电子鼻”或者电子嗅觉系统。

2.1电子鼻简介

电子鼻这个术语开始出现于二十世纪八十年代晚期,当时它被用于1987年的一个学术会议。较为科学的电子鼻的概念出现于1994年英国warwick大学的J.w.Gardner发表的文章中,并且J.w.Gardner综述了世界各国人工嗅觉系统的发展概况。

电子鼻模仿人的鼻子的功能,以电讯号的方式予以表达,可以工作在恶劣或有毒的环境下,在食品、化工、环保、医疗诊断、检验等方面有很重要的应用,其关键技术就是气体传感器阵列。

2.2人工嗅觉系统的原理及基本组成部分

人工嗅觉系统主要是受生物的嗅觉系统启发和影响,以下是该系统中的关键因素:

(1)对微量、痕量气体分子瞬时敏感的监测器,以得到与气体化学成分相对应的信号;

(2)对检测到的信号进行识别与分类的数据处理器,将有用的信号与噪声加以分离;

(3)将测量数据转换为感官评定指标的智能解释器,得到合理的感官结果。

2.3气体传感器

气体传感器是一种将气体的成分、浓度等信息转换为可以被人员、仪器仪表、计算机等利用的信息的装置。

2.3.1半导体气体传感器

半导体气体传感器在气体传感器中约占60%,根据其机理分为电导型和非电导型,电导型中又分为表面型和容积控制性。

2.3.2表面敏感型传感器元件

表面敏感型传感器元件Sno2-pd、Zno-pt、ago、pt-Sno2,可检测气体为Co、no2和氟利昂等,传感材料pt-Sno2的气体传感器可检测气体为可燃性气体如H2、Co、CH4等。

2.3.3容积控制型传感材料

容积控制型传感材料有tio2、Coo-mgo-Sno2等,其半导体气体传感器可检测气体为液化石油气、酒精和燃烧炉气尾气等。

3.神经网络

人工神经网络(artificialneuronnetworks,ann)是近年来人工智能的一个重要科学分支。二十世纪五十年代末人工神经网络系统开始作为人工智能的一种重要计算工具逐渐受到重视。进入二十世纪八十年代后期,人工神经网络的研究进入了一个新的高潮。主要原因是:一方面经过几十年迅速发展起来的以逻辑符号处理为主的人工智能理论和冯-诺依曼计算机在处理诸如视觉、听觉、形象思维和联想记忆等智能信息问题时遇到挫折;另一方面,具有并行分布处理模式的人工神经网络本身的研究取得了巨大的进展。

神经网络具有一些不同于其它计算方法的性质和特点以及它自身是基于人类大脑结构和功能而建立起来的,因此具有很多和人类智能类似的特点。首先,神经网络将信息存储在大量的神经元中,具有内在的知识索引功能。信息在网络中使用两种方式被保留:一种是神经元之间的连接,另一种是连接权重因子。其次,人工神经网络具有对周围环境自学习、自适应功能,也可用于处理带噪声的、不完整的数据集。在人工神经网络中,输入与输出的关系不是由单独的神经元直接负责的,相反是与神经元的输入输出有关。最后,人工神经网络模拟人类的学习过程。人类大多数的学习和求解过程都是采用尝试法,而人工神经网络可以以相同的方式运行。

神经元(neuron)即神经网络中的基本处理单元,也就是节点。一般节点由输入与输出、权重因子、内部阀值和函数形式四部分组成。

图1神经元模型

图1给出了一个基本的神经元模型,它具有R个输入,每个输入都通过一个适当的权值wli和下一层相连,网络输出可表示为:

式中,n为该神经元(序号l)的总输入;

f(n)为神经元输入输出关系的函数,称为作用函数、响应函数或传递函数。

人工神经网络的拓扑结构是指它的处理单元是如何相互连接的,主要由输入层、隐含层和输出层组成。每一节点的输出被送到下一层的所有节点。通过将这些处理单元组成层,将其相互连接起来,并对连接进行加权,从而形成神经网络的拓扑结构,将若干个人工神经元作为有向图的节点,可连接成人工神经网络。其中每一层对于人工神经网络的成功都非常关键。可以将人工神经网络输入层、隐含层和输出层看成为一个通过输入层的所有节点输入特定信息的黑箱。人工神经网络通过节点之间的相互连接关系来处理这些信息,最后从输出层的节点给出最终结果。

4.误差反向传播网络(Bp网络)

1985年,以Rumelhart和mcClelland为首提出了至今仍广泛接受和使用的误差反向传播学习算法。按照这一算法进行训练的多层神经网络被直接称为Bp神经网络。Bp网络是一种多层前馈型神经网络,其神经元的传递函数是S型函数,输出量为0到1之间的连续量,它可以实现从输入到输出的任意非线性映射。其权值的调整采用反馈传播学习算法。

目前,在人工神经网络的实际应用中,绝大部分的神经网络模型都采用Bp网络及其变化形式。Bp网络主要用于以下四方面:

(1)函数逼近:用输入矢量和相应的输出矢量训练一个网络以逼近一个函数;

(2)模式识别:用一个特定的输出矢量将它与输入矢量联系起来;

(3)分类:把输入矢量所定义的合适方式进行分类;

(4)数据压缩:减少输出矢量维数以便于传输和存储。

对于神经网络算法,使用基于误差反向传递的神经网络算法设第p个模式Xp=(X1p,X1p,…Xnp,)t,p=1,2,…,n(n为模式个数),将其视为Bp网络的输入,yip为其实际输出,隐含层和输出层各单元的激活函数采用sigmoid函数,即:

一般基于Bp的神经网络算法具体步骤如下:

Step1、构造网络,初始化网络的权矩阵,设置学习因子,动态因子,跌代次数和允许误差;

Step2、从一个网络开始,提供训练模式;

Step3、开始训练第k个网络;

Step4、前向传播过程,对所有训练模式,计算网络的实际输出并与目标输出相比较,如果误差超过运行误差,则进行下一步,否则训练第k+1个网络;

Step5、反向传播过程:计算隐含层和输出层各单元的误差精度,修正权值和阀值:

式中,为学习效率;

di为教师信号或希望输出;

为实际输出yi与希望输出di之差,其中yi和xj是取1或0的离散值。

Step6、继续训练第k个网络。

Bp网络的训练函数有traingd、traingdm、traingdx、trainrp、traincgf、traincgp等。由于Bp网络的简单性,在人工嗅觉系统的模式识别部分占有很大的比例,许多以前和现在的一些成熟人工嗅觉系统的产品仍然使用Bp神经网络进行模式识别。

Bp网络的学习是通过求解一个优化问题完成的,从数学的角度看,它是通过函数逼近拟合曲面(线)的想法,并且将其转化为一个非线性优化问题而求解。Bp网络是对简单的非线性函数进行复合,经过多次复合后,则可以实现复杂的函数,但存在Bp学习算法收敛速度慢、不完备性和隐节点数只能凭经验选取。

由于存在上述问题,科学家们从利用线性的自适应步长加速Bp算法和增加动量项来去除收敛过程中的局部最小点。模拟退火(Simulatedannealing,简称Sa)思想是由metopolis等人提出的,它可以很好的避免局部最小点的出现,把它用在优化中是由Kirkpatrick等人提出的。组合优化问题的解空间中的每一个点都代表一个解。不同的解有着不同的目标函数值。优化过程就是在解空间中寻找目标函数的最小解。

Sa算法的特点是通用性强、可达到全局最小。传统的启发式搜索算法如快速下降法,每次都是向改进解的方向搜索,往往只能找到一个局部最优解,而不是全局最优解。而Sa算法在系统朝能量减少这个总趋势的过程中,允许解的搜索以一定的概率向较差的方向走,以避开局部最小,而最终稳定到全局能量最小的状态。

5.利用自组织神经网络进行气体识别

将被测气体按所需测量精度和浓度范围按成份分成不同的浓度等级,采用标准气体配置这些等级的不同成份气体的所有组合作为标准模态来训练神经网络。通过识别某一未知气体样本的模式,即可以得到未知气体的成份浓度。例如,选用n种互相参比配制混合气体样本。根据传感器的灵敏范围,将配制的气体浓度限制在a1到am以内,浓度变化间隔为l。这样每种气体有m种浓度模式,共计可得到mn个样本。采用这些样本作为原始数据训练自组织神经网络,就可以实现在这一浓度范围内的最大误差为l的气体定量测量。

量子神经网络算法篇5

【关键词】Bp算法蚁群优化算法放大因子神经网络

伴随着近年来对于人工智能(artificialintelligence)研究的不断深入,其中一项重要的分支内容也越来越引起人们的重视,即人工神经网络,这一技术研究现已经广泛的应用到了信息处理、车辆检测、价格预测等多个领域当中。而Bp网络神经算法则是应用普及程度最高的一项神经网络内容,然而这一传统的神经网络算法却存在有一些较为显著的缺陷性,如局部不足、收敛缓慢、缺乏理论指导等,因此有必要对传统的算法进行改进。据此本文主要就通过对于上述问题的分析,提出了引入放大因子以及应用蚁群优化算法两项改进手段,并通过将改进后的算法应用到瓦斯浓度检验中,有效的验证了这一算法的科学性。

1传统Bp算法的缺陷

1.1收敛缓慢

因为Bp神经网络的误差函数的曲面图像十分复杂,因此极有可能会有一些相对较为平坦曲面的存在,在起初之时的网络训练收敛值较大,然而伴随着训练的进行,在训练行进到平坦曲面位置时,依据梯度下降法,便极有可能会发生尽管误差值较大,然而误差梯度值却较小,进而也就导致权值的可调整值变小,最终仅能够采取加多训练次数的方式来逐渐退出目标区域。

1.2局部不足

尽管Bp算法能够促使均方误差达到最小化权值与阈值,然而因为多层网络结构的均方误差存在有极大的复杂性特点,既有可能导致多项局部极小值情况的出现,从而使得算法在敛收之时,无法准确的判定出是否求得最优解。

1.3缺乏理论指导

由于仅在接近于连续函数的情况时才需多层隐含层,但是在实际情况下往往是选用单层隐含层,这就会导致一个十分明显的问题,即隐含层神经元的数量大小是对网络计算的复杂性是具有直接性影响的,从理论层面来说神经元数量越多,所得到的求值才能够越精确,然而现实情况往往都是依据经验公式,以及大量的实验验证来明确出相应的隐含层神经元数量,这必须要借助于大量的运算处理才能实现。

2算法改进

2.1放大因子的引入

在精确性允许的前提下,为了获得更大的几何间隔,可放宽容错性,为阈值增添以一定的松弛变量。但还在Bp神经网络的学习过程当中,因为样本所出现的随机性改变,在通过归一化处置后,于初期学习阶段,样本的训练误差较大,收敛较快,然而伴随着训练的持续进行,特别是在样本训练结果无限趋近于1/0之时,这是训练便会达到平台期,也就是相对停滞阶段。

在将放大因子运用到实际训练当中,对隐含层与输出层当中的权值采取调整,所产生的神经网络训练结果影响,要明显超过输入层和隐含层当中权值调整所造成的影响,因而在本次研究当中,将放大因子应用在了隐含层和输出层权值的调整之中。

2.2应用蚁群优化算法

蚁群优化算法是一种对离散优化问题进行求解的通用型框架。在某条具体路径当中所经过的蚂蚁数量越多,相应的信息条件密集性也就越大,从而这一路径被选取的概率也就越大,其呈现出的是一种正反馈的现状情况。每一只蚂蚁在仅穿过任一节点一次的情况之时,对被选用的权值节点进行明确的记录,从而该区域之中的节点也就组成了一组候选权值,在所有蚂蚁均完成了首次选择后,依据全局更新策略来对信息素的密度进行更新。直至满足于最大进化代数,也就得到了最佳的权值组合。

3实验分析

3.1变量选取

考量到瓦斯浓度影响因素所具备的的不确定性,因此可对各类因素予以筛选,在对短期预测不造成影响的情况下,来选择出影响力最大的因子。在瓦斯浓度监测的特征变量中主要包括有风速、温度、负压、一氧化碳浓度、瓦斯浓度。

3.2参数选择

依据上述特征变量内容,此实验的Bp神经网络结构便可明确为输入层4项:风速、温度、负压、一氧化碳浓度,输出层1项:瓦斯浓度。针对以上特征变量依次选用传统Bp算法与改进后的算法进行测量,隐含网络层均为1个。隐含层节点可通过下列公式予以验证:

m=0.618*(input+output)

在这一公式当中input与output即为输入层与输出层节点数量。Bp神经网络算法的训练数共1100,预计误差值为0.0011,其中隐含层应用Sigmod函数,在输出层之中应用线性函数。蚁群优化模型最终其规模明确为600,权值区间取[-1,1],迭代次数取1100次。

3.3结果分析

在考量到具体运用时的科学性,可编写一项测试软件,针对数据内容予以计算处理,并将多次试验所得数据信息予以对比,改进之后的Bp神经网络和传统Bp网络其检测精确性如表1所示。

通过观察表1,能够明显的发现,经过改进的Bp神经网络算法其训练拟合度相较于传统Bp神经网络算法而言更高,同时准确率也显著提升了3.82%,收敛速度也有了显著的提升,权值选取也有了理论性的指导。

4结束语

总而言之,传统的Bp神经网络算法存在收敛速度较慢、且容易陷入到局部不足以及缺乏理论指导的设计陷阱,本文主要通过对放大因子的引入,使得Bp神经网络算法在实际训练时的权值调整方式发生了转变,进而通过应用蚁群优化算法来实现了对于Bp神经网络权值的选择,并构建起了相应的神经网络模型以及改进后的训练方法。最终将此改进之后的Bp神经网络算法应用到瓦斯浓度预测领域之中,其效果明显优于传统的Bp神经网络算法。

参考文献

[1]杨红平,傅卫平,王雯等.结合面法向和切向接触刚度的mpSo-Bp神经网络算法的建模[J].仪器仪表学报,2012(08).

[2]陈桦,程云艳.Bp神经网络算法的改进及在matlab中的实现[J].陕西科技大学学报(自然科学版),2014(02):45-47.

量子神经网络算法篇6

关键词:matlab;Bp神经网络;预测

中图分类号:tp183文献标识码:a文章编号:1009-3044(2008)19-30124-02

BasedonmatlabBpneuralnetworkapplication

YanGBao-hua

(instituteofinformationandComputer,anhuiagriculturalUniversity,Hefei230036,China)

abstract:Bplearningalgorithmisaone-waytransmissionofmulti-layertothenetwork,matlabtoolboxisbasedonthetheoryofartificialneuralnetwork,basedonmatlabtoolbox,withwatermelon-heavyforecasts,Bpneuralnetworkforecastthefeasibilityofre-watermelonisverified,andfastconvergence,smallerror,shouldbepromotedintheforecastcropgrowth.

Keywords:matlab;Bpneuralnetworks;Forecast

1引言

人工神经网络是人工构造的模拟人脑功能而构建的一种网络,Bp神经网络是结构较简单、应用最广泛的一种模型,Bp神经网络是Rumelhart等在1986年提出的。它是一种单向传播的多层前向网络,一般具有三层或三层以上的神经网络,包括输入层、中间层(隐层)和输出层[1],其模型见图1所示。

图1Bp网络模型

matlab中的神经网络工具箱是以人工神经网络理论为基础,利用matlab语言构造出许多典型神经网络的传递函数、网络权值修正规则和网络训练方法。网络的设计者可根据自己的需要调用工具箱中有关神经网络的设计与训练的程序,免去了繁琐的编程过程。

红籽瓜(Red-seedwatermelon)种子即瓜子富含有蛋白质、脂肪、钙、磷及多种维生素,含油率达55%左右,营养颇为丰富,经过精细加工,味道鲜美,市场十分畅销[4]。为了提高瓜子的产量,需要关注很多因素,这些因素的改变会影响瓜子的产量,所以确定哪些因素能预测产量,如何预测是本文研究的内容。本文利用红籽西瓜的测量数据,以单果重,种子数,千粒重,种子重作为输入因子,仁重为输出因子,选择合适的隐层,构建影响红籽西瓜种仁重量的Bp网络模型,运用matlab软件进行预测。

2Bp神经网络设计的基本方法

matlab的nnbox提供了建立神经网络的专用函数newff()[5]。用newff函数来确定网络层数、每层中的神经元数和传递函数,其语法为:

net=newff(pR,[S1,S2,…,Sn],{tF1,tF2,…,tFn},BtF,BLF,pF)

式中:pR表示由每个输入向量的最大最小值构成的R×2矩阵;Si表示第i层网络的神经元个数;tF表示第i层网络的传递函数,缺省为tansig,可选用的传递函数有tansig,logsig或purelin;BtF表示字符串变量,为网络的训练函数名,可在如下函数中选择:traingd、traingdm、traingdx、trainbfg、trainlm等,缺省为trainlm;BLF表示字符串变量,为网络的学习函数名,缺省为learngdm;BF表示字符串变量,为网络的性能函数,缺省为均方差“mse”。

2.1网络层数

Bp网络可以包含不同的隐层,但理论上已经证明,在不限制隐层节点数的情况下,两层(只有一个隐层)的Bp网络可以实现任意非线性映射。

2.2输入层节点数

输入层起缓冲存储器的作用,它接受外部的输入数据,因此其节点数取决于输入矢量的维数。

2.3输出层节点数

输出层节点数取决于两个方面,输出数据类型和表示该类型所需的数据大小。在设计输人层和输出层时,应该尽可能的减小系统规模,使系统的学习时间和复杂性减小。

2.4隐层节点数

一个具有无限隐层节点的两层Bp网络可以实现任意从输入到输出的非线性映射。但对于有限个输入模式到输出模式的映射,并不需要无限个隐层节点,这就涉及到如何选择隐层节点数的问题,至今为止,尚未找到一个很好的解析式,隐层节点数往往根据前人设计所得的经验和自己进行试验来确定。一般认为,隐层节点数与求解问题的要求、输入输出单元数多少都有直接的关系。另外,隐层节点数太多会导致学习时间过长;而隐层节点数太少,容错性差,识别未经学习的样本能力低,所以必须综合多方面的因素进行设计。

隐层节点数的初始值可先由以下两个公式中的其中之一来确定[2,3]。

1=■+a(1)

或1=■(2)

式中,m、n分别为输入结点数目与输出结点数目,a为1~10之间的常数。

2.5数据归一化

因为原始数据幅值大小不一,有时候还相差比较悬殊。如果直接投人使用,测量值大的波动就垄断了神经网络的学习过程,使其不能反映小的测量值的变化。所以,在网络训练之前,输人数据和目标矢量都要经过归一化处理。

根据公式可将数据“归一化”,即限定在[0,1]区间内。归一化公式为:

■(3)

也可以使用归一化函数premnmx,及反归一化函数postmnmx。

3Bp学习算法及实例

3.1Bp学习算法

1)初始化网络及学习参数;

2)从训练样本集合中取一个样本,并作为输入向量送入网络;

3)正向传播过程,对给定的输入样本,通过网络计算得到输出样本,并把得到的输出样本与期望的样本比较,如有误差超出限定范围,则执行第4步;否则返回第2步,输入下一个样本;

4)反向传播过程,即从输出层反向计算到第一隐层,修正各神经元的连接权值,使用误差减小。

3.2实例

为了提高瓜籽产量,需要关注很多因素,滤去相关度过低的因子,根据经验确定输入因子为单果重,种子数,千粒重,种子重,输出因子为仁重。现以表1所示的2000~2002年测量数据作为训练样本进行训练,对2003年的数据进行预测。输出层结点代表仁重量,神经网络的预测模型采用4-4-1,即输入层4个神经元,根据公式(2)计算隐层神经元数确定为4,1个输出神经元。设定最大的迭代次数为500次,系统全局误差小于0.001。传递函数为tansig,训练函数为trainlm。

根据经典的Bp算法,采用matlab编程,样本训练结果见图2,2003的数据作为预测样本,预测结果如下:

tRainLm,epoch0/500,mSe0.316381/0.001,Gradient2.8461/1e-010

tRainLm,epoch4/500,mSe0.00056622/0.001,Gradient0.0830661/1e-010

tRainLm,performancegoalmet.

SSe=0.0102

y=0.2690.2670.270.2690.26790.2679

表1红籽西瓜数量性状表

瓜籽仁重实际值为0.265,0.282,0.264,0.269,0.265,0.287,误差为0.0102,当样本较少时可以接受的误差范围内。并且收敛速度快。

图2训练函数为trainlm的训练结果

采用traingd函数进行训练,则5000次仍未达到要求的目标误差0.001,说明该函数训练的收敛速度很慢。见图3所示。所以训练函数的选择也非常关键。

图3训练函数为traingd的训练结果

4结论

用matlab编编写的基于Bp网络的仁重预测程序,计算结果表明,误差较小,预测值与实测值吻合较好,所建立的模型具有较好的实用性,说明单果重,种子数,千粒重,种子重的数据影响瓜子的产量,同时验证Bp算法可以用于瓜仁产量的预测。

目前所进行的预测试验中数据的样本较少,且生长动态变化,今后拟建立一个动态预测系统,为红籽瓜品种培育、提高产量提供新的方法,值得在预测作物生长中推广。

参考文献:

[1]飞思科技产品研发中心.神经网络理论与matlab7实现[m].北京:电子工业出版社.2006:100-105.

[2]徐庐生.微机神经网络[m].北京:中国医药科技出版社,1995.

[3]高大启.有教师的线性基本函数前向三层神经网络结构研究[J].计算机学报,1998,21(1):80-85.

[4]钦州农业信息网:.

量子神经网络算法篇7

关键词:谐波分析神经网络遗传算法matLaB

中图分类号:tm1文献标识码:a文章编号:1007-3973(2010)06-083-02

随着现代工业科技的发展,电力电子装置的应用越来越广泛,非线性和时变性电子装置大量投入到电网使得电力系统中的非线性负荷急剧增加,导致了配电网中电压和电流波形的严重失真,由此而产生了电网谐波污染问题,谐波的产生降低了电能质量,直接影响工业用电设备和居民用电设备的正常安全运行。另一方面随着科技的发展,各种精密仪器的投入使用对电能质量提出了更高的要求。谐波问题作为降低电能质量问题的核心内容对电力系统的安全经济运行带来了巨大的挑战。

对谐波含量准确进行分析计算时保证谐波治理效果的重要前提,本文采用遗传算法改进神经网络算法进行谐波含量计算,其实时性和结果精确性都有较大提高。

1谐波含量计算问题

原始理想的电压和电流波形应该是标准的正弦波波形,可以假设电源瞬时电压为

考虑到负载电流发生畸变,含有谐波分量,根据傅里叶级数将负载电流分解为:

其中,为基波有功电流;为基波无功电流;为高次谐波电流,可以将式(2)改写成权值模式:

对谐波含量的分析计算目标即为求出的值,其中体现高次谐波的含量。实际电网中由于电力系统为三相系统,偶次谐波基本消除,因此只考虑奇次谐波,占总谐波含量97%以上的谐波集中在25次谐波以下,本文只分析25次以下(包括25次)奇次谐波含量,根据以上分析,式(4)可以简化成

其中谐波分析即为求取式(5)中权值系数的值。

2基于神经网络谐波检测算法

本系统采用单层感知器―误差修正学习法。由式(5)可知,神经网络谐波权值计算可用如图1所示,作为网络的输入,为理论电流:

为实测电流值,也就是期望电流值,为期望电流值与网络实际输出之差,即误差信号:

误差信号为驱动控制信号,其目的是修正调节各次谐波权值,使网络输出一步一步接近期望输出,这一目标通过最小化性能指标来实现,性能指标定义如下:

权值修正法则如下:

其中表示第n个输入量第k+1表示第次迭代后结果,为学习率,为学习误差,为第n个输入向量。

综合以上分析可知,采用单层感知器-误差修正神经网络的谐波算法计算步骤如下:

(1)给定初始谐波权值

初始权值赋值可采用在规定区间内的随机赋值法,初值赋值区间为[-2,2]。

(2)给定当前输入

由前面分析可知为神经网络输入,输入量在不同的时刻t不同,因此必须建立查表机制来查询不同时刻的网络输入,用表示第n次迭代中第个输入量(的顺序依次编号)。

(3)由权值和输入量计算网络输出值

(4)根据网络输出和期望输出计算学习误差,如式(7)所示。

(5)根据学习误差调节权值

其中表示第次迭代中第n个输入量的连接权值

(6)回到2继续进行下一次迭代计算

基于单层感知器-误差修正学习网络最大的优点就是迭代过程相对简单,最后系统能稳定收敛到目标范围。但系统的稳定性受系统反馈参数影响较大,学习率的选取对于系统重复学习过程中的稳定性和收敛性是非常重要的,的值过大,会加快收敛速度但误差过大,的值过小,学习速度过慢,也将影响系统实时响应速度。

3遗传算法改进神经网络算法

上一节中提到的单层感知器-误差修正神经网络是一种简单的寻优算法,但神经网络权值寻优算法存在全局搜索能力差的缺点,初始权值随机性过大影响网络的泛化能力,而遗传算法可以对复杂的,非线性的、多峰的不可微函数实现最优全局搜索,能有效利用历史信息来推测下一代更优质的寻优点集。这样不断进化,最后收敛到一个最适应环境的个体上,进而得出问题的最优解。因此,可以先用遗传算法对初始权值进行优化,在大范围解空间定位出适用于优化目标的较好搜索空间,然后利用神经网络在这一个较小解空间进行局部寻优,这样既可以避免在寻优过程陷入局部最优,还可以加快算法收敛。据此本文将遗传算法与单层感知器-学习修正神经网络算法进行结合来优化谐波含量计算。遗传算法进化步骤如下:

第一步:确定决策变量和约束条件

包括基波权值在内,一共有13组,总共有26个权值,谐波权值的范围一般在[-1,1],权值可能溢出,本文将权值范围扩大到[-2,2],即:

第二步:建立优化模型

优化目标为使得性能指标到合理范围

第三步:确定编码、解码方法

对于每一个权值其取值区间为[-2,2],由于遗传算法计算目的为搜索最优区间,而非最优解,因此将[-2,2]区间以0.2为单位分为20等份,计算最终目标只需求出最优解所在区间即可,可知每个权值从-2到2有21个取值可能,可用4位二进制编码串表示,一共有26个权值,按照的顺序需要104位二进制编码串来表示,这便构成了染色体编码方法。解码时先将104位的二进制编码串截成26段4位二进制编码串,每一段编码串表示一个权值编码,设某一段编码为,解码后表示权值实际值为,可知

第四步:确定个体评价方法

可知个体评价方法即为性能指标控制到合理范围。

第五步:设计遗传算子

选择运算选用比例选择算子;交叉运算使用单点交叉算子;编译运算使用基本位变异算子。

第六步:设定遗传算法运行参数

包括群体大小、终止代数、交叉概率和变异概率

结合前面神经网络算法的分析,可得出遗传算法改进神经网络算法计算谐波的总计算流程,如图2所示:

4matLaB仿真分析

根据前面对算法的分析,使用matLaB提供的神经网络和遗传算法工具性进行仿真处理。设置遗传算法群体大小为80,终止代数为100,交叉概率为0.7,变异概率为0.001,神经网络算法学习率为0.1,使用遗传算法改进神经网络算法的训练样本曲线如图3所示,单独使用神经网络算法的训练样本曲线如图4所示:

由图3和图4可知,采用遗传算法改进神经网络算法进行谐波分析,在遗传算法完成100步迭代后适应度最高样本的训练误差已经降到,此后进行神经网络训练到160步后训练误差已经降到,相比单独使用神经网络算法,需要到350步训练误差才能到,可见采用遗传算法改进神经网络算法大大加快了迭代速度和计算结果的准确性。

5遗传算法改进神经网络算法的优点

使用遗传算法改进神经网络算法为谐波计算分析提出了新的解决思路,主要特点包括:(1)全局搜索能力强,算法精确度高。(2)抗干扰能力强.。(3)自适应能力强。智能算法进行谐波分析作为一种新兴的谐波分析思路,但是由于智能算法对于训练样本的依耐性非常大,算法参数的设置对于整体计算精度和效率影响非常大,现场应用不够,因此还需作更为深入的探索研究。

注释:

吕润如.电力系统高次谐波[m].北京:中国电力出版社,1998.

危韧勇,李志勇.基于人工神经元网络的电力系统谐波测量方法[J].电网技术,1999,23(12):20-23.

焦李成.神经网络计算[m].西安:西安电子科技大学出版社,1993.

危韧勇,李志勇,李群湛.一种基于ann理论的谐波电流动态检测方法研究[J].铁道学报,2000,22(1):40-43.

陈国良,王熙法,庄镇泉,王东生.遗传算法及其应用[m].北京:人民邮电出版社,1999.

王小平,曹立民.遗传算法-理论、应用于软件实现[m].西安:西安交通大学出版社,2002.

量子神经网络算法篇8

关键词:带有局部搜索的量子粒子群算法;RBF神经网络;结构优化;参数优化

中图分类号:tp181文献标识码:a

文章编号:1004-373X(2010)04-157-03

RBFneuralnetworktrainingBasedonmQpSo-LQpSo

CaiJiliang,Yewei

(CollegeofScience,airForceengineeringUniversity,Xi′an,710051,China)

abstract:Quantum-BehavedparticleSwarmoptimizationwithGeneralizedLocalSearchoperator(mQpSo-LQpSo)isaverysuccessfulalgorithmofmodifiedQpSo.thisalgorithmisusedtofindthebeststructureandparametersofRBFneuralnetwork.theyarebothdeterminedwhenfinishingtraining.experimentsonfunctionalapproachshowthismethodiseffective.

Keywords:mQpSo-LQpSo;RBFneuralnetwork;structureoptimization;parameteroptimization

0引言

径向基函数神经网络(RadialBasisFunctionneuralnetwork,RBFnn)是一种生物背景很强的前向神经网络,具有逼近能力强、学习速度快、鲁棒性强、泛化能力高等优点,在图像处理、自动控制、预测、信号处理、模式识别等多个领得到了广泛应用。

然而RBF神经网络存在着结构难以选取、参数的问题,许多学者对其训练方式进行了改进。与进化算法如遗传算法Ga[1]、蚁群算法aCo[2]、粒子群算法pSo[3]、量子粒子群算法QpSo[4]等相结合是一个重要的改进方向。然而Ga、aCo算法较为复杂,pSo算法简单但不能以概率1收敛到全局极小点,QpSo算能以概率1收敛到全局极小点,但搜索能力不够好,这些使得网络或陷入局部极小,或运算时间长,一定程度上影响了网络的性能。本文用简单且收敛性更好的QpSo改进型算法mQpSo-LQpSo来训练网络,将网络的结构也作为编码对象,在确定网络参数的同时也确定了网络的结构,提高了精度。

1RBF神经网络

径向基函数神经网络是J.moody和C.Darken于20世纪80年代受人脑感受野的局部调节及重叠性启发而提出的,已经证明它能以任意精度逼近任意连续函数。径向基函数神经网络由输入层、隐层和输出层组成,其结构如图1所示。输入层只传递输入信号到隐层;隐层传递函数由辐射状作用的非线性基函数组成,一般用Gauss径向基函数;输出为为线性传递函数。具有n个输入,h个隐节点,m个输出的径向基函数网络第i个模型输出为:

yi=ti+∑hj=1wijexp(-x-Cj2/2σ2j)(1)

图1RBF神经网络结构

2QpSo算法[5,6]

在量子空间中,粒子的速度和位置不能同时确定,因此Sun等人用粒子运动的波函数来描述粒子的状态,并求解薛定谔方程,得到粒子在空间某一位置的概率密度函数,进而得到位置的分布函数,应用monteCarlo方法(详见文献[5,6],最后得到算法的进化方程:

pij(t)=φij(t)pbestij(t)+[1-φij(t)]Gbestij(t),

φij(t)~U(0,1)(2)

mbestij(t)=1n∑nj=1pi(t)=[1n∑nj=1pi1(t),

1n∑nj=1pi2(t),…,1n∑nj=1piD(t)](3)

xij(t+1)=pij(t)+αmbestij(t)-xij(t)ln1uij,

ifrand()>0.5

pij(t)-αmbestij(t)-xij(t)ln1uij,

otherwiseuij(t)~U(0,1)(4)

式中:n为群体的规模;D为粒子的维数;p为局部吸引子;pbest是第i个粒子的自身最优位置参数;Gbest是粒子群中所有粒子到目前为止最优位置参数;mbest为平均最优位置,它是所有粒子自身最优位置的中心点;α为控制因子,用来控制粒子的收敛速度,是算法中惟一的控制参数。一般取1~0.5随迭代次数线性递减时,收敛效果最佳。

3mQpSo-LQpSo的基本原理[7]

一个好的启发式搜索算法不仅要具有在未知区间上良好的全局搜索能力和在已搜区间上精细的局部勘探能力,而且还要使二者达恰当的平衡。QpSo具有良好的全局收敛性,但同时还需要一种有效的局部搜索机制,以便更好地搜索全局最优解。可以利用QpSo具的全局收敛性,将其在一个较小的局部范围内全局搜索,以达到增强局部搜索能力。基于这一思想,作者将较大规模的QpSo称为mQpSo,做全局勘探,将较小规模的QpSo称为LQpSo,做局部开发,继续搜索当前mQpSo搜索到的以Gbest为中心的某一邻域。LQpSo仍是一个完整的QpSo,只是其规模比mQpSo小,表现在搜索的范围和粒子的个数和迭代次数上。mQpSo搜索的范围是整个可行解的空间,而LQpSo的搜索范围是当前最优解的邻域,其邻域表达式为:

n(Gbest,radius)=Gbest•rand(1-radius,

1+radius)(5)

式中:radius

这种改进的算法在不增加计算次数的条件下,具有更好的搜索能力。

4基于mQpSo-LQpSo的RBF神经网络训练方法

建立RBF网络的关键在于确定RBF网络隐层数据中心的个数h、数据中心的位置Cj、扩展常数σj,以及输出权值wij。设网络训练集X={(pk,yk)|k=1,2,…,n},其中,pk为输入,yk为目标输出,则神经网络的输出均方误差为:

mse=1m×n∑nk=1(yk^-yk)2(6)

式中:m为输入样本的维数;yk^为pk对应的网络输出。由式(1)可知,它是关于h,Cj,σj和wij的函数,基于mQpSo-LQpSo的RBF神经网络训练就是让其达到最小,因此可将它作为mQpSo-LQpSo的适应度函数,而将h,Cj,σj和wij作为参数。粒子采用实数编码,由于h表示隐层神经元的个数,是正整数,可假设hmax为事先设定好的最大隐节点数。若hi>0(i

基于mQpSo-LQpSo的RBF神经网络训练方法具体描述为:

(1)归一化处理样本;

(2)随机生成初始种群,采用上述编码方式对各粒子的位置进行编码,并确定pbest和Gbest;

(3)重复下列步骤,直到满足mQpSo最大迭代次数或达到函数全局极小值的终止条件:

①把每一向量映射为网络的一组神经网络参数值,并组成网络;

②按照式(2)~(4)更新mQpSo中所有的粒子;

③输入训练样本进行训练,对每一个体进行评价,计算其适应值,并确定pbest和Gbest;

④更新mQpSo粒子的pbest和Gbest;

⑤按式(5)计算mQpSo的Gbest邻域,并在Gbest的邻域实行LQpSo操作;

⑥将LQpSo搜索到的Gbest赋给mQpSo的Gbest。

(4)输出最佳参数值作为优化结果,算法结束。

5仿真实验

Hermit多项式是一种常用的神经网络逼近测试函数,为:

f(x)=1.1(1-x+2x2)exp(-x2/2)

下面用mQpSo-LQpSo-RBF实现Hermit多项式逼近,并与文献[4]相比较,以0.08为步长同样在[-4,4]之间均匀采样101个实数值作为网络的训练输入样本,其相对应的函数值作为训练输出样本以此构成网络的训练样本集。同时在[-4,4]之间随机采样100个实数值作为网络的测试输入样本,其相对应的函数值作为测试输出样本,以此构成网络的测试样本集。实验中RBF神经网络隐含层预设为8,输入和输出层各取一个神经元,径向基函数采用高斯函数。因此网络中需要优化的参数为8个高斯函数的中心,8个高斯函数的扩展常数以及8个输出层的连接权值和1个输出偏移,共33个参数,即QpSo算法和imQpSo-LQpSo算法中的粒子将在33维的空间中搜索,寻求满足最小均方误差要求的参数向量。

采用mQpSo-LQpSo算法中mQpSo的学习算法参数α作为迭代次数的函数从数从1~0.5线性减小,粒子数均为30。mQpSo-LQpSo中LQpSo的规模为5×6,参数α保持0.5不变。总的最大计算适应度函数次数为12000次,收敛最小误差为1×10-6。经仿真知最佳隐层个数为6。仿真结果如图2所示。比较结果如表1所示。

图2迭代次数为200时的仿真结果

表1mQpSo-LQpSo-RBF和QpSo-RBF的逼近效果比较

mQpSo-LQpSo-RBFQpSo-RBF[4]

训练集上的均方误差8.2×10-55.17×10-4

测试集上的均方误差9.7×10-55.10×10-4

从图2中仿真结果可以看出,逼近图形和原图形几乎重合;从表1中比较结果可以看出,改进算法有更小的均方误差,可见改进算法能很精确地实现函数逼近。

6结语

本文用性能比QpSo算法强的mQpSo-LQpSo算法来训练RBF网络,用这种方法改进的RBF网络不仅可以在确定网络的结构的同时确定网络的参数,还可以获得更好的逼近效果,因而是有效的。但注意到若预设的隐层节点较多,会导致搜索维数增加,从而降低搜索效率,因此下一步的工作是改进网络编码方式,用较小的维数来表示较大规模的网络,以增强算法的鲁棒性。

参考文献

[1]赵志刚,单晓红.一种基于遗传算法的RBF神经网络优化方法[J].计算机工程,2007,33(6):221-222.

[2]满春涛,李晓霞,张礼勇.一种基于aCo的RBF神经网络训练方法[J].哈尔滨理工大学学报,2007,13(1):56-58.

[3]梁桂兰,徐卫亚,何育智,等.pSo-RBFnn模型及其在岩土工程非线性时间序列预测中的应用[J].岩土力学,2008,29(2):995-1000.

[4]陈伟,冯斌,孙俊.基于QpSo算法的RBF神经网络参数优化仿真研究[J].计算机应用,2006,26(8):1928-1931.

[5]SunJ,FengB,XuwB.particleSwarmoptimizationwithparticlesHavingQuantumBehavior[a].proceedingsof2004CongressonevolutionaryComputation[C].2004:325-331.

[6]SunJ.aGlobalSearchStrategyofQuantum-behavedparticleSwarmoptimization[a].proc.2004CongressonCyberneticsandintelligentSystems[C].2004.

[7]wangJiahai,ZhouYalan.Quantum-BehavedparticleSwarmoptimizationwithGeneralizedLocalSearchoperatorforGlobaloptimization[a].iCiC2007[C].BerlinSpringer-Verlag,2007:851-860.

[8]刘兴华,刘宪英,胡泽.基于RBF神经网络系统辨识研究[J].现代电子技术,2004,27(24):57-59.

量子神经网络算法篇9

关键词:计算机网络模型;神经网络算法;分析

中图分类号:tp393文献标识码:a文章编号:1009-3044(2016)35-0212-02

计算机网络是人们多年研究科技进步最重要的成果,其被广泛运用到教育、工作、科学等方面,也具有良好的成就。目前,基于服务器的集线式网络具有实现网络互连的功能,但也成为了网络进一步发展的阻碍。虽然大量的信息能够丰富网络中的内容,但是其中的多媒体技术发展却使网络运行力不从心,比如图像、声音等,全面优化计算机网络整体性能是其发展的必要途径。将神经网络算法与计算机网络相结合,能够有效解决大规模复杂性的问题。

1浅析神经网络算法

1.1神经网络算法内涵

思维界认为,人类大脑思维包括灵感思维、逻辑思维、形象思维三种方式,神经网络模拟的就是人类思维的形象思维,是一种非线性动力学系统。神经网络算法指的是逻辑性思维根据逻辑规则推理的过程。神经网络的内容目前被广泛研究,包括建立理论模型、生物原型研究、建立网络模型与算法研究、人工神经网络应用系统等。

优化网络的神经网络主要是Hopfield神经网络,是1982年由美国物理学家提出的,它能够模拟神经网络的记忆机理,是全连接的神经网络。Hopfield神经网络中的每个神经元都能够信号输出,还能够将信号通过其他神经元为自己反馈,那么其也称之为反馈性神经网络。

1.2神经网络优化的基础

Hopfield神经网络其实是一个分线性动力系统演变的过程,通过能量函数分析系统的稳定性,将能量函数看做需要优化的问题目标函数。将能量函数的初始状态转变为稳定点这一过程,就成为求解优化问题过程,这个过程也可以称为在计算机联想记忆基础上解决优化问题的过程。

1.3神经网络优化模型的算法

反馈网络的联想记忆和优化是相对的,通过优化计算得知w,其目的就是为了找出e的最小稳定状态;联想记忆的稳定状态是特定的,要通过一些过程才能够找到适合的w。这个过程中的关键就是将问题的目标函数通过二次型能量函数进行表达。如下式所述:

Hopfield神经网络比较常见的类型有DHnn(离散型)和CHnn(连续性)两种,他们的动态方程分e为:

DHnn(离散型)动态方程:ui=fi(v1,v2,...,vn)

Vi=g(ui),vi∈{0,1},i=1,2,...,n

式子中的gi表示为阶跃函数,vi=g(ui)[(1,ui>0)(0,ui

CHnn(连续性)动态方程:dui/dt=fi(v1,v2,...,vn)

Vi=gi(ui),i=1,2,...,n

式子中的gi表示为常用函数sigmoid,vi=gi(ui)=1/2[1+tanh(ui/u0)],u0表示的为可控函数的斜率,当u0=0的时候,gi就为阶跃函数。【1】

1.4神经网络算法的优化步骤

其一,通过合适的问题将方法表述出来,使神经网络的输出和这一问题的解相互对应;

其二,创建有效的能量函数,要求问题的最优解能够对应最小值;

其三,使用有利条件和能量函数创建网络参数;

其四,创建对应的动态方程和神经网络;

其五,使用有效的初值,要求网络根据动态方程进行验算,直到收敛。

2基于神经网络算法的网络流优化模型

网络流优化模型的关键就是最小切割、图的划分和最大流问题,下面一一描述:

最小切割:最小切割是指寻找使隔集容量达到最小的切割。图的切割是指划分一个n―n1Un2,一个隔集为一组弧(i,j),i∈n1,j∈n2,隔集弧的权值总和为它的容量。使n=(w,t)是t=0的网络,要求能量最小为n图的最小切割。

图的划分:图的划分指的是将图划分为K个部分,要求每个部分中的节点数都相等。

最大流问题。要求有向图G(v,e)中的开始点为S,结束点为Z,边容量为Cij。如果每条边都有非负数fij,并且每条边为fij≤Cij且除了S和Z之外具有∑fij=∑fki。当S和Z有∑fsi=∑fiz=w的时候,w的最大值≤任何切割的容量。【2】

3基于神经网络算法的动态路由选择模型

通信网中的物理网络的连接一般是点到点,其可以用无向图G=(v,e)来表示,将交换节点表示为顶点,通路表示为边,每一边都有最大容量,为了能够满足网络中点和点能够相互通信,还e能够根据网络业务的量和用户呼叫为基础进行路由安排。现在一般使用的都是静态方式,能够提供给动态路由一些可能性,其的优化模型是:

如果网络图是G=(v,e),而且对网络中的边进行编号,路径经过的边表示为1,路径不经过的边表示为0,L*m神经元表示为L需要这多个路由,将备选的路由数量表示为m,如果通信网中具有n个节点,那么目标函数就是e=e1+e2+e3。【3】

4结束语

基于神经网络算法的优化网络模型有着简单、稳定、快速、规范的优势,其与其他算法相结合,能够较大程度的提高计算机网络模型的整体性能。但是Hopfield神经网络算法中的优化网络模型并不严格,它有着核心策略下降的缺点,那么在使用过程中会出现网络收敛的最优解呈局面状态、网络收敛解不可行、网络参数的不正当选择会导致偏差等,所以在今后就要深入研究计算机网络模型中的神经网络算法,使其更加完善。

参考文献:

[1]丁建立.基于神经网络算法的计算机网络优化模型研究[J].洛阳师范学院学报,2003,22(2):59-62.

量子神经网络算法篇10

关键词:期货经纪公司综合实力主成分分析聚类分析

人工神经网络(ann)是大脑及其活动的一个理论化的数学模型,由大量的处理单元(神经元)互连而成的,是神经元联结形式的数学抽象,是一个大规模的非线性自适应模型。人工神经网络具有高速的运算能力,很强的自学习能力、自适应能力和非线性映射能力以及良好的容错性,因而它在模式识别、图像处理、信号及信息处理、系统优化和智能控制等许多领域得到了广泛的应用。

人工神经网络的学习算法可以分为:局部搜索算法,包括误差反传(bp)算法、牛顿法和共轭梯度法等;线性化算法;随机优化算法,包括遗传算法(ga)、演化算法(ea)、模拟退火算法(sa)等。

蚁群算法是一种基于模拟蚂蚁群行为的随机搜索优化算法。虽然单个蚂蚁的能力非常有限,但多个蚂蚁构成的群体具有找到蚁穴与食物之间最短路径的能力,这种能力是靠其在所经过的路径上留下的一种挥发性分泌物(pheromone)来实现的。蚂蚁个体间通过这种信息的交流寻求通向食物的最短路径。已有相关计算实例表明该算法具有良好的收敛速度,且在得到的最优解更接近理论的最优解。www.133229.com

本文尝试将蚁群算法引入到前向神经网络的优化训练中来,建立了基于该算法的前向神经网络训练模型,编制了基于c++语言的优化计算程序,并针对多个实例与多个算法进行了比较分析。

前向神经网络模型

前向人工神经网络具有数层相连的处理单元,连接可从一层中的每个神经元到下一层的所有神经元,且网络中不存在反馈环,是常用的一种人工神经网络模型。在本文中只考虑三层前向网络,且输出层为线性层,隐层神经元的非线性作用函数(激活函数)为双曲线正切函数:

其中输入层神经元把输入网络的数据不做任何处理直接作为该神经元的输出。设输入层神经元的输出为(x1,x2,λ,xn),隐层神经元的输入为(s1,s2,λ,sh),隐层神经元的输出为(z1,z2,λ,zh),输出层神经元的输出为(y1,y2,λ,ym),则网络的输入-输出为:

其中{wij}为输入层-隐层的连接权值,{wi0}隐层神经元的阈值,{vki}为隐层-输出层的连接权值,{vk0}为输出层神经元的阈值。网络的输入-输出映射也可简写为:

1≤k≤m(5)

前向神经网络的训练样本集为

a={xi,tii=1,2,a,n)}

(其中xi∈rn,为第i组训练数据的输入,ti∈rm为与第i组训练数据的输入对应的期望输出,tki为输出层第k个神经元的期望输出),设第i组训练数据的输入的实际输出为yi∈rm,yki为输出层第k个神经元的实际输出,则基于该训练样本集的误差函数为

该函数是一个具有多个极小点的非线性函数,则对该前向神经网络的训练过程为调整各个神经元之间的连接权值和阀值{wij},{wi0},{vki},{vk0},直至误差函数e达到最小。

误差反向传播算法(bp算法)是一种梯度下降算法,具有概念清楚、计算简单的特点,但是它收敛缓慢,且极易陷入局部极小,且对于较大的搜索空间,多峰值和不可微函数也不能搜索到全局极小。为此人们提出了很多改进的学习算法,其中最简单且容易实现的是加入动量项的变学习率bp算法,这种算法一般都比较有效,但是收敛速度还是比较慢,仍是局部搜索算法,从本质上仍然摆脱不了陷入局部极小的可能。为了摆脱局部极小,人们已经尝试将可用于非线性优化的遗传算法、演化算法以及模拟退火算法等进行前向人工神经网络的训练。

蚁群算法

蚁群算法简介

蚂蚁在路径上前进时会根据前边走过的蚂蚁所留下的分泌物选择其要走的路径。其选择一条路径的概率与该路径上分泌物的强度成正比。因此,由大量蚂蚁组成的群体的集体行为实际上构成一种学习信息的正反馈现象:某一条路径走过的蚂蚁越多,后面的蚂蚁选择该路径的可能性就越大。蚂蚁的个体间通过这种信息的交流寻求通向食物的最短路径。蚁群算法就是根据这一特点,通过模仿蚂蚁的行为,从而实现寻优。这种优化过程的本质在于:

选择机制:分泌物越多的路径,被选择的概率越大。

更新机制:路径上面的分泌物会随蚂蚁的经过而增长,而且同时也随时间的推移逐渐挥发消失。

协调机制:蚂蚁间实际上是通过分泌物来互相通信、协同工作的。

蚁群算法正是充分利用了选择、更新和协调的优化机制,即通过个体之间的信息交流与相互协作最终找到最优解,使它具有很强的发现较优解的能力。

蚁群算法具体实现

蚁群算法求解连续空间上的优化问题以求解非线形规划问题为例。考虑如下的非线性规划问题:minf(x1,x2,λ,xn),使得,ai1x1+ai2x2+λ+ainxn≥bi,i=1,2,λ,r。这里f为任一非线形函数,约束条件构成rn上的一个凸包。可以使用不等式变换的方法求得包含这个凸包的最小的n维立方体。设该立方体为

设系统中有m只蚂蚁,我们将解的n个分量看成n个顶点,第i个顶点代表第i个分量,在第i个顶点到第i+1个顶点之间有ki条连线,代表第i个分量的取值可能在ki个不同的子区间。我们记其中第j条连线上在t时刻的信息量为τij(t)。每只蚂蚁要从第1个顶点出发,按照一定的策略选择某一条连线到达第2个顶点,再从第2个顶点出发,…,在到达第n个顶点后,在kn条连线中选取某一条连线到达终点。每个蚂蚁所走过的路径代表一个解的初始方案,它指出解的每一个分量所在的子区间。用pijk(t)表示在t时刻蚂蚁k由城市i转移到城市j的概率,则(式(7))

为了确定解的具体值,可在各个子区间已有的取值中保存若干个适应度较好的解的相应分量作为候选组,为了加快收敛速度,参考具有变异特征的蚁群算法提出的具有变异特征的蚁群算法,使用遗传操作在候选组中确定新解的相应分量的值。首先可随机在候选组中选择两个值,然后对他们实行交叉变换、变异变换,以得到新值作为解的相应分量。该候选组中的值在动态的更新,一旦有一个更好的解的分量在该子区间中,就用这个值替换其中的较差者。

在m只蚂蚁得到m个解后,要对它们进行评估,本人使用lagrange函数作为评估解的优劣的适应度函数,否则要对每个解进行合法性检查并去除其中的不合法解。然后要根据适应度函数值更新各条边上的信息量。要根据下式对各路径上的信息量作更新:

δτijk表示蚂蚁k在本次循环中在城市i和j之间留下的信息量。

重复这样的迭代过程,直至满足停止条件。

候选组里的遗传操作若候选组里的候选值的个数gi=0,即候选组里没有候选值,此时则产生一个[li+(j-1)×length,min(ui,li+j×length]间的随即数作为解分量的值wij,vij,跳过选择、交叉、变异等遗传操作。

若gi=1,即候选组里只有一个候选值wik,vik,则跳过交叉、选择等操作,直接对这个候选值wik,vik进行变异操作。

若gi=2,即候选组里有两个候选值,则跳过选择操作,直接对这两个候选值进行交叉、变异等操作。

否则,选择两个分量后进行交叉、变异操作。

在选择操作中,根据候选组里各候选值的适应度的大小,用“赌轮”的方法选取两个值。设第j个值所在解的适应度为fj,则它被选中的概率为

在交叉操作中,设所选择的两个值为wij(1),vij(1)和wij(2),vij(2),其适应度分别为f1,f2,且f1>f2,我们以概率pcross进行交叉操作。随机产生p∈[0,1],若p>pcross,则进行交叉操作。取随机数r∈[0,1],交叉结果值

在所有蚂蚁都得到解以后,修改边条上的信息量按式(8)和式(9)相应地更新各子区间上的信息量。但对δτijk的更新应按下式进行:

其中w为一个常数,fk为蚂蚁k的解的适应度。

前向神经网络的训练过程

基于上述的定义,用蚁群算法训练具有三层前向神经网络,可按以下步骤进行:

输入相关参数:输入最大迭代次数number,每次迭代选取的适应度最好的解的个数num,每个分量的ki个子区间中信息量最大的子区间被选种的概率q0(其余子区间被选中概率为(1-q0))。

初始化:通过神经网络在控制变量可行域内随机产成m只蚂蚁,即产生m组{wij},{wi0},{vki},{vk0},且各个分量均为[-1,1]区间内的随机数。

迭代过程:对于n个分量,分别对m个蚂蚁进行循环更新相应的信息量τij(t),对候选组中的分量进行遗传操作,计算新解的适应度,对各边的信息量进行修改,根据适应度的优劣增删候选组中的值。判断是否满足结束条件,若不满足则继续迭代。

第(3)步的具体算法如下:

whilenot结束条件(如最大迭代次数)do

{fori=1tondo(对n个分量循环)

{fork=1tomdo(对m个蚂蚁循环)

{根据q0和概率pijk(t)确定第i个分量的值在第j个子区间;

局部更新第j个子区间的信息量τij(t);

在第j个子区间候选组里通过遗传操作生成第i个分量值;}

计算新解的适应度函数值;}

修改个条边上的信息量;

取适应度最好的num个解将其各分量直接插入相应的子区间的候选组中,并淘汰候选组中的较差者。}

上述过程中根据下列公式选取第i个分量的值所在的子区间号j:

由于算法中以q0的概率选择ki个子区间中信息量最大的子区间,因此信息量最大的那个子区间常常被选中,这就使得新一代解的该分量值集中在这个子区间,容易发生停滞现象。为了避免这种现象,在上述过程中对所选的子区间的信息量进行局部更新,对被选中的子区间立即适当地减少其信息量,使其他蚂蚁选中该子区间的概率降低。设第k个个体的第i个分量选中第j个子区间,则按下式局部更新子区间j的信息量:

这样,更新后的信息量是原来的信息量和有关第i个分量各子区间的最小信息量的凸组合。当信息量最大的子区间被多次选中之后,信息量减少到ki个子区间的信息量的平均水平,从而蚂蚁选择其他子区间的概率增加,增加了所建立解的多样性,同时也有效减少了停滞现象的发生。

实验结果

为了评价蚁群算法的性能,笔者做了大量的计算机模拟试验,在此给出了两个函数cos(x)和sin(x)函数的实验结果,选择蚂蚁群规模m=20;每次迭代选取的适应度最好的解的个数num=10;每个分量的ki个子区间中信息量最大的子区间被选中的概率q0=0.8;前向神经网络的输入层有1个神经元,隐层有10个神经元,输出层有1个神经元,多个方法sin(x)函数的试验结果列于表1,多个方法cos(x)函数的试验结果列于表2。

结论

本文给出了基于蚁群算法的三层前向神经网络的训练模型,并建立了一种新的网络训练算法。从试验结果分析,与演化算法、模拟退火算法、加动量项的bp算法相比,蚁群算法具有较快的收敛速度,能够达到较小的均方误差值,因此,此方法收敛过程有比较明显的优势和稳定性。

网络训练算法。从试验结果分析,与演化算法、模拟退火算法、加动量项的bp算法相比,蚁群算法具有较快的收敛速度,能够达到较小的均方误差值,因此,此方法收敛过程有比较明显的优势。

参考文献:

1.褚蕾蕾,周梦等.计算智能的数学基础[z].科学出版社,2002

2.吕岗,陈小平,赵鹤鸣.一种优化多层前向网络的ia-bp混合算法[j].计算机工程与应用,2003.27

3.王建群,卢志华.三层前向人工神经网络全局最优逼近[j].数学的实践与认识,2003.7

4.陈陵,沈洁,秦玲.蚁群算法求解连续空间优化问题的一种方法.软件学报,2002

5.dorigo,m.,luca,m.astudyofsomepropertiesofant-q.technicalreport,tr/iridia/1996-4,iridia,universitylibredebruxelles,1996

6.gambardella,l.m.,dorigo,m.ant-q:areinforcementlearningapproachtothetravelingsalesmanproblem.in:prieditis,a.,russell,s.,eds.proceedingsofthe12thinternationalconferenceonmachinelearning.tahoe,ca:morgankaufmann,1995