粒子群算法在神经网络非线性函数拟合中的应用【精品文档】(完整版)
- 格式:docx
- 大小:255.91 KB
- 文档页数:17
粒子群算法原理及应用随着人工智能技术的发展,各种算法被广泛应用在数据分析、预测以及优化等方面。
其中,粒子群算法(Particle Swarm Optimization,PSO)作为一种高效的全局优化算法,在实际应用中表现出色,受到了越来越多的关注与重视。
本文将围绕粒子群算法的原理与应用进行阐述。
一、粒子群算法的原理粒子群算法是一种基于群体智能的优化算法,借鉴了鸟群或鱼群等生物群体行为的思想。
它是一种随机化搜索算法,通过模拟大量粒子在问题空间中的随机移动,不断探索解空间,从而寻找全局最优解。
具体来说,粒子群算法是基于一个粒子群的模型,其中每个粒子代表一个搜索空间内的解。
每一个粒子都有一个自身的位置和速度,而粒子的位置和速度可以通过如下公式进行更新:$v_{i,j}=wv_{i,j}+c1r1(p_{ij}-x_{ij})+c2r2(g_{ij}-x_{ij})$$x_{i,j}=x_{i,j}+v_{i,j}$其中,$v_{i,j}$表示第$i$个粒子在第$j$个搜索空间维度上的速度,$w$表示惯性权重,$c1$和$c2$分别是自己的历史最佳位置$p_{ij}$和全局最佳位置$g_{ij}$对粒子位置的影响因子,$r1$和$r2$是0~1的随机数,$x_{i,j}$是粒子的位置。
通过更新速度和位置,粒子可以向更优秀的位置移动,从而不断逼近全局最优解。
这种不断更新、迭代搜索的过程可以实现全局搜索和多目标优化等问题领域的优化求解。
二、粒子群算法的应用粒子群算法最主要的应用领域是全局优化问题,如函数优化、数据拟合、最小二乘等问题的求解。
此外,粒子群算法还被广泛应用在神经网络训练、图像处理、机器学习等领域。
(一)函数优化函数优化问题是粒子群算法最基本的应用领域之一。
例如,在参数优化问题中,可以将参数空间定义为搜索空间,通过粒子群算法不断寻找全局最优解来优化模型参数。
在现实中,这种方法已被广泛应用于金融风险分析、选股等领域。
摘要在智能领域,大部分问题都可以归结为优化问题。
常用的经典优化算法都对问题有一定的约束条件,如要求优化函数可微等,仿生算法是一种模拟生物智能行为的优化算法,由于其几乎不存在对问题的约束,因此,粒子群优化算法在各种优化问题中得到广泛应用。
本文首先描述了基本粒子群优化算法及其改进算法的基本原理,对比分析粒子群优化算法与其他优化算法的优缺点,并对基本粒子群优化算法参数进行了简要分析。
根据分析结果,研究了一种基于量子的粒子群优化算法。
在标准测试函数的优化上粒子群优化算法与改进算法进行了比较,实验结果表明改进的算法在优化性能明显要优于其它算法。
本文算法应用于支持向量机参数选择的优化问题上也获得了较好的性能。
最后,对本文进行了简单的总结和展望。
关键词:粒子群优化算法最小二乘支持向量机参数优化适应度目录摘要 (I)目录 (II)1.概述 (1)1.1引言 (1)1.2研究背景 (1)1.2.1人工生命计算 (1)1.2.2 群集智能理论 (2)1.3算法比较 (2)1.3.1粒子群算法与遗传算法(GA)比较 (2)1.3.2粒子群算法与蚁群算法(ACO)比较 (3)1.4粒子群优化算法的研究现状 (4)1.4.1理论研究现状 (4)1.4.2应用研究现状 (5)1.5粒子群优化算法的应用 (5)1.5.1神经网络训练 (6)1.5.2函数优化 (6)1.5.3其他应用 (6)1.5.4粒子群优化算法的工程应用概述 (6)2.粒子群优化算法 (8)2.1基本粒子群优化算法 (8)2.1.1基本理论 (8)2.1.2算法流程 (9)2.2标准粒子群优化算法 (10)2.2.1惯性权重 (10)2.2.2压缩因子 (11)2.3算法分析 (12)2.3.1参数分析 (12)2.3.2粒子群优化算法的特点 (14)3.粒子群优化算法的改进 (15)3.1粒子群优化算法存在的问题 (15)3.2粒子群优化算法的改进分析 (15)3.3基于量子粒子群优化(QPSO)算法 (17)3.3.1 QPSO算法的优点 (17)3.3.2 基于MATLAB的仿真 (18)3.4 PSO仿真 (19)3.4.1 标准测试函数 (19)3.4.2 试验参数设置 (20)3.5试验结果与分析 (21)4.粒子群优化算法在支持向量机的参数优化中的应用 (22)4.1支持向量机 (22)4.2最小二乘支持向量机原理 (22)4.3基于粒子群算法的最小二乘支持向量机的参数优化方法 (23)4.4 仿真 (24)4.4.1仿真设定 (24)4.4.2仿真结果 (24)4.4.3结果分析 (25)5.总结与展望 (26)5.1 总结 (26)5.2展望 (26)致谢 (28)参考文献 (29)Abstract (30)附录 (31)PSO程序 (31)LSSVM程序 (35)1.概述1.1引言最优化问题是在满足一定约束条件下,寻找一组参数值,使得系统的某些性能指标达到最大或者最小。
§6.4 粒子群优化算法人们提出了群搜索概念,利用它们来解决现实中所遇到的优化问题,并取得了良好的效果.粒子群优化算法就是群体智能中的一种算法.粒子群算法是一种演化计算技术,是一种基于迭代的优化工具,系统初始化为一组随机解,通过迭代搜寻最优值,将鸟群运动模型中栖息地类比为所求问题空间中可能解的位置,利用个体间的传递,导致整个群体向可能解的方向移动,逐步发现较好解.6.4.1 基本粒子群算法粒子群算法,其核心思想是对生物社会性行为的模拟.最初粒子群算法是用来模拟鸟群捕食的过程,假设一群鸟在捕食,其中的一只发现了食物,则其他一些鸟会跟随这只鸟飞向食物处,而另一些会去寻找更好的食物源.在捕食的整个过程中,鸟会利用自身的经验和群体的信息来寻找食物.粒子群算法从鸟群的这种行为得到启示,并将其用于优化问题的求解.若把在某个区域范围内寻找某个函数最优值的问题看作鸟群觅食行为,区域中的每个点看作一只鸟,现把它叫粒子(particle).每个粒子都有自己的位置和速度,还有一个由目标函数决定的适应度值.但每次迭代也并不是完全随机的,如果找到了新的更好的解,将会以此为依据来寻找下一个解.图6.21给出了粒子运动的思路图.图6.21粒子运动的路线图下面给出粒子群算法的数学描述.假设搜索空间是D维的,群中的第i个粒子能用如下D维矢量所表示:12(,,,)i i i iD X x x x '=(6.43)每个粒子代表一个潜在的解,这个解有D 个维度.每个粒子对应着D 维搜索空间上的一个点.粒子群优化算法的目的是按照预定目标函数找到使得目标函数达到极值的最优点.第i 个粒子的速度或位置的变化能用如下的D 维向量表示:12(,,,)i i i iD V v v v '= (6.44)为了更准确地模拟鸟群,在粒子群优化中引入了两个重要的参量.一个是第i 个粒子曾经发现过的自身历史最优点(Personal best ,pbest),可以表示为:12(,,,)i i i iD P p p p '= (6.45)另一个是整个种群所找到的最优点(Global best ,gbest),可以表示为:12(,,,)g g g gD P p p p '= (6.46)PSO 初始化为一群随机粒子(随机解),然后通过迭代找到最优解.在每一次的迭代中,粒子通过跟踪两个“极值”(i P 和g P )来更新自己.在找到这两个最优值后,粒子通过下面的公式来更新自己的速度和位置:1122(1)()()(()())()(()())id id id id gd id v t wv t c r t p t x t c r t p t x t +=+-+-,(速度更新公式)(6.46)(1)()(1)id id id x t x t v t +=++(位置更新公式) (6.47)其中w 称之为惯性因子,在一般情况下,取1w =,1,2,,t G = 代表迭代序号,G 是预先给出的最大迭代数;1,2,,d D = , 1,2,,i N = ,N 是群的大小;1c 和2c 是正的常数,分别称为自身认知因子和社会认知因子,用来调整i P 和g P 的影响强度.1r 和2r 是区间[0,1]内的随机数.由(6.46)和(6.47)构成的粒子群优化称为原始型粒子群优化.从社会学的角度来看,公式(6.47)的第一部分称为记忆项,表示上次优化中的速度的影响;公式第二部分称为自身认知项,可以认为是当前位置与粒子自身最优位置之间的偏差,表示粒子的下一次运动中来源于自己经验的部分;公式的第三部分称为社会认知项,是一个从当前位置指向种群最佳位置的矢量,反映了群内粒子的协作和知识共享.可见,粒子就是通过自己的经验和同伴中最好的经验来决定下一步的运动.随着迭代进化的不断进行,粒子群逐渐聚集到最优点处,图6.22 给出了某个优化过程中粒子逐渐聚集的示意图.图6.22 粒子群在优化过程聚集示意图 综上所述,我们得到如下基本粒子群算法流程:(1) 设定参数,初始化粒子群,包括随机位置和速度;(2) 评价每个粒子的适应度;(3) 对每个粒子,将其当前适应值与其曾经访问过的最好位置pbest 作比较,如果当前值更好,则用当前位置更新pbest ;(4) 对每个粒子,将其当前适应值与种群最佳位置gbest 作比较,如果当前值更好,则用当前位置更新gbest ;(5) 根据速度和位置更新公式更新粒子;(6)若未满足结束条件则转第二步;否则停止迭代.迭代终止条件根据具体问题一般选为迭代至最大迭代次数或粒子群搜索到的最优位置满足预定的精度阈值.6.4.2 粒子群算法的轨迹分析1998年,Ozcan 在文献[13]中首先对粒子在一维空间的轨迹进行了讨论,并在1999年将粒子运动的轨迹分析推广到多维空间的情形,2002年,文献[14]从矩阵代数的观点讨论了粒子的轨迹问题,本节采用[15]中的差分方程思想分别讨论单个粒子在一维以及二维空间的轨迹问题。
粒子群算法及其应用研究粒子群算法是一种基于群体智能的优化算法,自提出以来便在各个领域得到了广泛的应用。
本文将介绍粒子群算法的基本原理、应用领域、优化应用以及未来研究方向。
粒子群算法是一种通过模拟鸟群、鱼群等动物群体的行为来求解优化问题的算法。
这些群体在寻找食物、避开天敌等过程中,会形成一定的队形或模式,从而达到整体的最优生存状态。
粒子群算法便是借鉴了这种群体智能的思想,通过多个粒子在搜索空间内的运动,寻找到最优解。
粒子群算法的特点在于其简单、易实现、收敛速度快等。
该算法只需记录每个粒子的位置和速度信息,无需进行复杂的迭代和矩阵运算,因此具有较低的时间复杂度。
同时,粒子群算法能够较好地处理多峰、高维、非线性等复杂问题,在求解这些难题时具有较大的优势。
粒子群算法在各个领域都有广泛的应用,其中最常见的是在函数优化、神经网络训练、图像处理、控制系统等领域。
在函数优化方面,粒子群算法能够快速寻找到函数的最小值或最大值,被广泛应用于各种工程和科学领域。
在神经网络训练方面,粒子群算法也被用来优化神经网络的权值和阈值,提高神经网络的分类和识别能力。
在图像处理方面,粒子群算法可以用于图像分割、特征提取等任务,提高图像处理的效果和质量。
虽然粒子群算法已经得到了广泛的应用,但是该算法仍存在一些不足之处,如易陷入局部最优解、参数设置缺乏指导等。
为了提高粒子群算法的性能和效果,研究者们提出了一系列优化方法,包括调整参数、改变粒子的更新策略等。
其中,调整参数是最常见的优化方法之一,包括调整学习因子、加速因子等参数,以获得更好的搜索效果。
改变粒子的更新策略也是一种有效的优化方法,可以通过引入变异、交叉等操作来增加粒子的多样性,避免陷入局部最优解。
未来研究方向主要包括以下几个方面:针对粒子群算法的参数设置问题,未来研究可以探索更加科学、合理的参数设置方法,以提高算法的性能和搜索效果。
针对粒子群算法易陷入局部最优解的问题,未来研究可以探索更加有效的优化策略,以提高算法的全局搜索能力。
粒子群算法应用实例一、引言粒子群算法(Particle Swarm Optimization,PSO)是一种基于群体智能的优化算法,它模拟了鸟群或鱼群等群体行为,通过不断地搜索和迭代,将群体的经验和信息传递给个体,从而找到最优解。
本文将介绍几个粒子群算法的应用实例,展示它在不同领域的成功应用。
二、应用实例一:物流路径优化在物流管理中,如何优化配送路径是一个重要的问题。
通过粒子群算法,可以将每个粒子看作一辆配送车,每个粒子的位置代表车辆的路径,速度代表车辆的速度。
通过不断地搜索和迭代,粒子群算法可以找到最优的配送路径,从而提高物流效率,降低成本。
三、应用实例二:机器人路径规划在机器人路径规划中,如何找到最短路径是一个经典问题。
通过粒子群算法,可以将每个粒子看作一个机器人,每个粒子的位置代表机器人的路径,速度代表机器人的速度。
通过不断地搜索和迭代,粒子群算法可以找到最短的路径,从而提高机器人的运行效率。
四、应用实例三:神经网络训练神经网络是一种重要的机器学习模型,但其训练过程需要大量的时间和计算资源。
通过粒子群算法,可以对神经网络的权重和偏置进行优化,从而加快神经网络的训练速度。
粒子群算法通过搜索和迭代,不断调整神经网络的参数,使其更好地拟合训练数据,提高预测准确率。
五、应用实例四:能源调度优化能源调度是一个复杂的问题,涉及到能源的供应和需求之间的平衡。
通过粒子群算法,可以将每个粒子看作一个能源节点,每个粒子的位置代表能源的分配方案,速度代表能源的调度速度。
通过不断地搜索和迭代,粒子群算法可以找到最优的能源调度方案,提高能源利用效率,减少能源浪费。
六、应用实例五:图像分割图像分割是计算机视觉领域的一个重要任务,通过将图像分成不同的区域或物体,可以更好地理解和分析图像。
通过粒子群算法,可以将每个粒子看作一个像素点,每个粒子的位置代表像素点所属的区域,速度代表像素点的移动速度。
通过不断地搜索和迭代,粒子群算法可以将图像分割成不同的区域,提高图像分割的准确率。
粒子群算法应用粒子群算法(ParticleSwarmOptimization,简称PSO)是一种基于群智能(swarm intelligence)的进化计算方法,它受到了自然界中鸟类聚集捕食行为的启发,是不断搜索空间以寻求最优解的一种优化算法,它不像遗传算法(genetic algorithms)和模拟退火(simulated annealing)那样需要用户设定许多的参数,PSO的使用简单方便,有效易于实现。
粒子群算法是一种用于求解非线性优化问题的算法,它能够同时考虑待优化函数多个最优化点乃至局部最优解,并利用具有社会行为性质的粒子搜索空间以实现最优搜索,得到多个最优解,是一种光滑连续非线性最优化问题的有效求解器。
粒子群算法的应用大体可以分为三类,即优化问题、分类与预测问题、模糊控制问题。
其中,优化问题包括最小化函数最大化函数,函数调整,控制参数调整以及计算机视觉相关应用等,分类与预测问题应用于人工神经网络的训练,机器学习技术的开发以及数据挖掘等,模糊控制问题在多媒体处理中的应用以及虚拟现实系统的控制等方面均有所体现。
接下来介绍粒子群算法在优化问题中的应用。
粒子群算法主要用于求解最优化问题,在这里,它能够用于解决多元函数极值问题,使用粒子群算法可以更快地搜索出最优解,而且算法的收敛速度较快,具有良好的收敛性,即使在复杂多极局部最优点的情况下也能找出最优解,因此,粒子群算法在求解非线性函数极值问题方面有着广泛的应用。
粒子群算法也可以用于解决函数调整问题。
在函数调整问题中,常常需要求解优化函数最小化或最大化的参数,如寻找最佳参数权值,这时可以使用粒子群算法来解决。
粒子群算法的优点是无需设定参数,运行和调整都十分简便,但搜索过程可能会耗时较长,适用于解决复杂的函数调整问题,它能够有效的搜索出参数空间中的最优解,从而获得更好的性能和更低的计算复杂度,是一种较为有效的函数优化和参数调整算法。
粒子群算法也可以用于控制参数调整问题。
粒子群算法研究及其工程应用案例一、概述随着现代制造业对高精度生产能力和自主研发能力需求的提升,优化指导技术在精确生产制造领域中的应用日益广泛。
粒子群优化算法(Particle Swarm Optimization,PSO)作为一种基于群体智能的优化算法,因其结构简单、参数较少、对优化目标问题的数学属性要求较低等优点,被广泛应用于各种工程实际问题中。
粒子群算法起源于对鸟群捕食行为的研究,通过模拟鸟群或鱼群等群体行为,利用群体中的个体对信息的共享,使整个群体的运动在问题求解空间中产生从无序到有序的演化过程,从而找到最优解。
自1995年由Eberhart博士和kennedy博士提出以来,粒子群算法已成为一种重要的进化计算技术,并在工程应用中展现出强大的优势。
在工程应用中,粒子群算法可用于工艺参数优化设计、部件结构轻量化设计、工业工程最优工作路径设计等多个方面。
通过将粒子群算法与常规算法融合,可以形成更为强大的策略设计。
例如,在物流路径优化、机器人路径规划、神经网络训练、能源调度优化以及图像分割等领域,粒子群算法都取得了显著的应用成果。
本文旨在深入研究粒子群算法的改进及其工程应用。
对优化理论及算法进行分析及分类,梳理粒子群算法的产生背景和发展历程,包括标准粒子群算法、离散粒子群算法(Discrete Particle Swarm Optimization, DPSO)和多目标粒子群算法(Multi Objective Particle Swarm Optimization Algorithm, MOPSO)等。
在此基础上,分析粒子群算法的流程设计思路、参数设置方式以及针对不同需求得到的改进模式。
结合具体工程案例,探讨粒子群算法在工程实际中的应用。
通过构建基于堆栈和指针概念的离散粒子群改进方法,分析焊接顺序和方向对高速铁路客车转向架构架侧梁的焊接残余应力和变形的影响。
同时,将粒子群算法应用于点云数据处理优化设计,提高曲面重建和粮食体积计算的精度和效率。
粒子群算法与神经网络结合的优化算法研究随着人工智能和数据分析的快速发展,优化算法作为一种重要的数学方法,在各个领域中得到了广泛应用。
其中,粒子群算法和神经网络结合的优化算法,已经成为优化问题的一种新思路。
粒子群算法是一种优化算法,灵感来源于鸟群捕食的策略。
鸟群在进行捕食时,会根据周围环境和食物的分布情况,不断调整自己的方向和速度。
同样,粒子群算法中的“粒子”,也会根据周围其他粒子的信息和当前环境的优化目标,去更新自己所处的位置和速度。
神经网络作为另一种常用的数学方法,其本质是一种多层次的非线性函数。
神经网络通常被用来解决分类、识别和预测等问题。
其通过对输入变量的权重和偏差进行变化,不断调整模型参数,从而优化预测的准确性和泛化能力。
将这两种方法进行结合,即可形成一种有效的优化算法。
具体而言,粒子群算法可以用来寻找神经网络中的最优参数,从而提高模型的性能。
而神经网络则可以作为粒子群算法的优化目标,通过反馈神经网络预测误差,不断调整粒子的位置和速度。
这种结合方法的好处在于,能够同时利用粒子群算法的全局优化和神经网络的非线性优势。
在一些特定的优化问题中,甚至可以得到比单一方法更优秀的解决方案。
另外,在实际应用中,这种结合方法也有着很大的潜力。
例如,在智能物流中,可以运用粒子群算法从一堆货物中找出最优的装载方式,在这个过程中可以利用神经网络为每个货物进行分类,不断调整粒子,从而更好地进行装载。
在医学影像诊断中,可以利用神经网络对医学影像进行自动识别和分析,然后通过粒子群算法优化多个相关参数,从而提高诊断准确率。
总之,粒子群算法和神经网络结合的优化算法,在各个领域中有着重要的应用和价值。
虽然这种结合方法还处于起步阶段,但我们相信在不久的将来,它们将会得到更广泛的应用,并为我们带来更加稳健、高效和准确的优化算法。
粒子群算法在神经网络非线性函数拟合中的应用一、本文研究和解决的问题在自动控制问题中,系统辨识的目的是为了建立被控对象的数学模型。
多年来,控制领域对于复杂的非线性对象的辨识一直未能很好的解决,神经网络所具有的非线性特性和学习能力使其在系统辨识方面有很大的潜力。
为解决具有复杂的非线性、不确定性和不确知对象的辨识问题开辟了一条有效的途径。
基于神经网络的系统辨识是以神经网络作为被辨识对象的模型,利用其非线性特性,可建立非线性系统的静态或动态模型。
理论上,多层前馈神经网络能够以任意精度逼近任意非线性映射。
但传统神经网络学习算法中存在的收敛速度慢、容易陷入局部最优等缺点,于是设计了基于标准粒子群算法的神经网络非线性函数拟合系统。
二、传统的BP神经网络BP 神经网络即采用误差反向传播算法的网络,是一种至今仍然最为流行的前馈型神经网络模型。
BP 神经网络有很强的非线性映射能力,它能学习和存贮大量输入-输出模式映射关系,而无需事先了解描述这种映射关系的数学方程。
只要能提供足够多的样本模式对供给网络进行学习训练,它便能完成由n 维输入空间到m 维输出空间的非线性映射。
BP 学习算法属于误差修正型学习,其关键在于根据误差修正输出层和隐含层的连接权值。
其学习的基本实现方法是基于最小平方误差准则和梯度下降优化方法来确定权值调整法则。
BP网络建模特点:非线性映照能力:神经网络能以任意精度逼近任何非线性连续函数。
在建模过程中的许多问题正是具有高度的非线性。
并行分布处理方式:在神经网络中信息是分布储存和并行处理的,这使它具有很强的容错性和很快的处理速度。
自学习和自适应能力:神经网络在训练时,能从输入、输出的数据中提取出规律性的知识,记忆于网络的权值中,并具有泛化能力,即将这组权值应用于一般情形的能力。
神经网络的学习也可以在线进行。
数据融合的能力:神经网络可以同时处理定量信息和定性信息,因此它可以利用传统的工程技术(数值运算)和人工智能技术(符号处理)。
粒子群优化算法在计算机神经网络中的应用
丁玲;范平;闻彬
【期刊名称】《电子测试》
【年(卷),期】2013(000)017
【摘要】粒子群优化算法是一种新型的计算技术,具有全局优化的优势,因而被广泛的应用于优化函数和计算机神经网络中.本文将对粒子群优化算法的产生和发展以及其在神经网络中的应用进行论述,同时对粒子群优化算法的未来发展趋势进行展望.
【总页数】3页(P39-41)
【作者】丁玲;范平;闻彬
【作者单位】湖北科技学院计算机科学与技术学院 421009;湖北科技学院计算机科学与技术学院 421009;湖北科技学院计算机科学与技术学院 421009
【正文语种】中文
【相关文献】
1.基于粒子群优化算法的RBF神经网络在闸墩裂缝宽度预测中的应用 [J], 闫滨;王闯
2.基于改进粒子群优化算法的BP神经网络在大坝变形分析中的应用 [J], 齐银峰;谭荣建
3.神经网络的粒子群优化算法及其在地震预测中的应用 [J], 阮海贵;谭毅华;鹿明明;田金文
4.计算机神经网络中粒子群优化算法的应用 [J], 张小军;任帅
5.神经网络辅助的多目标粒子群优化算法在复杂产品设计中的应用 [J], 冯国奇;崔东亮;张琦;代学武
因版权原因,仅展示原文概要,查看原文内容请购买。
粒子群算法在神经网络非线性函数
拟合中的应用
一、本文研究和解决的问题
在自动控制问题中,系统辨识的目的是为了建立被控对象的数学模型。
多年来,控制领域对于复杂的非线性对象的辨识一直未能很好的解决,神经网络所具有的非线性特性和学习能力使其在系统辨识方面有很大的潜力。
为解决具有复杂的非线性、不确定性和不确知对象的辨识问题开辟了一条有效的途径。
基于神经网络的系统辨识是以神经网络作为被辨识对象的模型,利用其非线性特性,可建立非线性系统的静态或动态模型。
理论上,多层前馈神经网络能够以任意精度逼近任意非线性映射。
但传统神经网络学习算法中存在的收敛速度慢、容易陷入局部最优等缺点,于是设计了基于标准粒子群算法的神经网络非线性函数拟合系统。
二、传统的BP神经网络
BP 神经网络即采用误差反向传播算法的网络,是一种至今仍然最为流行的前馈型神经网络模型。
BP 神经网络有很强的非线性映射能力,它能学习和存贮大量输入-输出模式映射关系,而无需事先了解描述这种映射关系的数学方程。
只要能提供足够多的样本模式对供给网络进行学习训练,它便能完成由n 维输入空间到m 维输出空间的非线性映射。
BP 学习算法属于误差修正型学习,其关键在于根据误差修正输出层和隐含层的连接权值。
其学习的基本实现方法是基于最小平方误差准则和梯度下降优化方法来确定权值调整法则。
BP网络建模特点:
非线性映照能力:神经网络能以任意精度逼近任何非线性连续函数。
在建模过程中的许多问题正是具有高度的非线性。
并行分布处理方式:在神经网络中信息是分布储存和并行处理的,这使它具有很强的容错性和很快的处理速度。
自学习和自适应能力:神经网络在训练时,能从输入、输出的数据中提取出规律性的知识,记忆于网络的权值中,并具有泛化能力,即将这组权值应用于一般情形的能力。
神经网络的学习也可以在线进行。
数据融合的能力:神经网络可以同时处理定量信息和定性信息,因此它可以利用传统的工程技术(数值运算)和人工智能技术(符号处理)。
多变量系统:神经网络的输入和输出变量的数目是任意的,对单变量系统与多变量系统提供了一种通用的描述方式,不必考虑各子系统间的解耦问题。
三、解决问题的思想与方法
针对传统神经网络学习算法中存在的收敛速度慢、容易陷入局部最优等缺点,设计了基于标准粒子群算法的神经网络非线性函数拟合系统,将神经网络中的权值看作一个粒子,通过粒子之间的竞争与合作以完成网络的学习过程,仿真结果表明,基于BP的神经网络学习算法在收敛速度、辨识精度等方面要优于传统的BP神经网络。
粒子群优化算法(PSO,Particle Swarm Optimization)是计算智能领域,除了蚁群算法、鱼群算法之外的一种群体智能的优化算法。
PSO 算法源于对鸟类捕食行为的研究,鸟类捕食时,每只鸟找到食物最简单有效的方法就是搜寻当前距离食物最近的鸟的周围区域。
PSO 算法首先在可解空间中初始化一群粒子,每个粒子都代表问题的一个潜在解,用位置、速度和适应度值三项指标表示该粒子特征。
适应度值由适应度函数计算得到,其值的好坏表示粒子的优劣。
粒子的速度决定了粒子移动的方向和距离,速度随自身及其他粒子的移动经验进行动态调整,从而实现个体在可解空间中的寻优。
粒子在解空间中运动,通过跟踪个体最优值Pbest 和群体最优值Gbest 更新个体位置,个体最优值Pbest 是指个体所经历位置中计算得到的适应度值最好的位置,群体最优值Gbest 是指粒子群中所有粒子搜索到的适应度最好的位置。
粒子每更新一次位置,就计算一次适应度值,并且通过比较新粒子的适应度值和个体最优值、群体最优值的适应度值更新Pbest 和Gbest 的位置。
粒子位置和速度的调整是粒子群算法的关键。
假设在一个D 维的搜索空间中,由n 个粒子组成的种群X ( X1, X 2 ,……, X n ) ,其中第i 个例子表示为一个D 维的向量X i (xi1, xi 2 ,……, xiD )T ,代表第i 个粒子在D维搜索空间中的位置,亦代表问题的一个潜在解。
根据目标函数即可计算出每个粒子位置Xi 对应的适应度值。
第i 个粒子的速度为Vi (vi1, vi 2 ,……, viD )T ,其个体极值为P ( pi1, pi 2 ,……, piD )T ,种群的全局极值为P( pg1, pg 2 ,……, pgD )T 。
四、实验仿真结果
五、程序
基本BP网络函数逼近程序
function [epoch,s,Wki,Wij,Wb,Ez]=dyb(lr,Emin,q)
%初始化;
%lr 学习效率;Emin为期望误差最小值;q为隐含层节点数;
b=1;sum=0;Ez=[];
max_epoch=30000;%max_epoch训练的最大次数;
%提供训练集和目标值;
x=8.*rand(1,100)-4;
y=1.1.*(1-x+2.*x.^2).*exp(-x.^2/2)+0.1*rand(1,100);
%初始化Wki,Wij;
Wij=rand(1,q);Wki=rand(1,q);Wb=rand(1,q);
for epoch=1:max_epoch
E=0;m=1;oi=0;ok=0;%置隐含层和输出层各神经元输出初值为零;for m=1:100
%计算隐含层各神经元输出;
NETi=x(m)*Wij+b*Wb;
for t=1:q
oi(t)=1/(1+exp(-NETi(t)));
end
%计算输出层各神经元输出;
NETk=Wki*oi';
ok=NETk;
%计算误差;
E=E+(y(m)-ok)^2;
%调整输出层加权系数;
deltak=y(m)-ok;
Wki=Wki+lr*deltak*oi;
%调整隐含层加权系数;。