资源预览内容
第1页 / 共41页
第2页 / 共41页
第3页 / 共41页
第4页 / 共41页
第5页 / 共41页
第6页 / 共41页
第7页 / 共41页
第8页 / 共41页
第9页 / 共41页
第10页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
/ 41 摘要在智能领域,大部分问题都可以归结为优化问题。常用的经典优化算法都对问题有一定的约束条件,如要求优化函数可微等,仿生算法是一种模拟生物智能行为的优化算法,由于其几乎不存在对问题的约束,因此,粒子群优化算法在各种优化问题中得到广泛应用。本文首先描述了基本粒子群优化算法及其改进算法的基本原理, 对比分析粒子群优化算法与其他优化算法的优缺点,并对基本粒子群优化算法参数进行了简要分析。根据分析结果 , 研究了一种基于量子的粒子群优化算法。在标准测试函数的优化上粒子群优化算法与改进算法进行了比较, 实验结果表明改进的算法在优化性能明显要优于其它算法。本文算法应用于支持向量机参数选择的优化问题上也获得了较好的性能。最后, 对本文进行了简单的总结和展望。关键词:粒子群优化算法最小二乘支持向量机参数优化适应度精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 41 页I / 41 目录摘要. . 目录 . . I 1. 概述 . . 0 1.1 引言 . 0 1.2 研究背景 . 0 1.2.1 人工生命计算. 0 1.2.2 群集智能理论 . . 1 1.3 算法比较 . 1 1.3.1 粒子群算法与遗传算法 (GA比较 . 1 1.3.2 粒子群算法与蚁群算法 (ACO 比较 . 2 1.4 粒子群优化算法的研究现状. 3 1.4.1 理论研究现状. 3 1.4.2 应用研究现状. 4 1.5 粒子群优化算法的应用. 5 1.5.1 神经网络训练. 5 1.5.2 函数优化 . 5 1.5.3 其他应用 . 5 1.5.4 粒子群优化算法的工程应用概述. 6 2. 粒子群优化算法 . . 7 2.1 基本粒子群优化算法. 7 2.1.1 基本理论 . 8 2.1.2 算法流程 . 8 2.2 标准粒子群优化算法. 10 2.2.1 惯性权重 . 10 2.2.2 压缩因子 . 11 2.3 算法分析 . 11 2.3.1 参数分析 . 11 2.3.2 粒子群优化算法的特点. 13 3. 粒子群优化算法的改进. . 14 3.1 粒子群优化算法存在的问题. 14 3.2 粒子群优化算法的改进分析. 15 3.3 基于量子粒子群优化 (QPSO 算法 . 17 3.3.1 QPSO 算法的优点 . 17 3.3.2 基于 MATLAB 的仿真 . . 17 3.4 PSO 仿真 . 19 3.4.1 标准测试函数 . . 19 3.4.2 实验参数设置 . . 20 3.5 实验结果与分析. 20 4. 粒子群优化算法在支持向量机的参数优化中的应用. . 21 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 41 页II / 41 4.1 支持向量机 . 21 4.2 最小二乘支持向量机原理. 22 4.3 基于粒子群算法的最小二乘支持向量机的参数优化方法. 23 4.4 仿真 . . 24 4.4.1 仿真设定 . 24 4.4.2 仿真结果 . 24 4.4.3 结果分析 . 24 5. 总结与展望 . . 25 5.1 总结 . . 25 5.2 展望 . 26 致谢 . . 27 参考文献 . . 28 Abstract . . 29 附录 . . 30 PSO 程序 . 30 LSSVM 程序 . 34 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 41 页III / 41 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 41 页0 / 41 1. 概述1.1 引言最优化问题是在满足一定约束条件下,寻找一组参数值,使得系统的某些性能指标达到最大或者最小。它广泛的存在于农业,国防,工程,交通,金融,能源,通信,材料等诸多领域。最优化技术在上述领域的应用已经产生了巨大的经济效益和社会效益。国内外的实践证明,在同样条件下,经过优化技术的处理,对系统效率的提高,能耗的降低,资源的合理利用及经济效益提高均有显著的效果,而且随着处理对象规模的增大,这种效果也更加显著。但随着处理对象规模的增大,优化问题也越来越复杂,而经典的优化技术对问题的约束比较大,如梯度下降法要求优化函数是可导等,因此,对于新型优化算法的研究具有重要的意义1。1.2 研究背景1.2.1 人工生命计算人们从生命现象中得到启示,发明了许多智能的优化方法来解决复杂优化问题。现在已有很多源于生物现象的计算技巧。例如,人工免疫模拟生物免疫系统的学习和认知功能,人工神经网络是简化的大脑模型, 遗传算法是模拟基因进化的过程。在计算智能(computational intelligence领域有两种基于群体智能swarm intelligence的算法,粒 子 群 优 化 算 法 (particle swarm optimization和 蚁 群 算 法 (ant colony optimization。蚁群优化算法模拟了蚂蚁群体在路径选择和信息传递方面的行为,而粒子群优化算法模拟群居动物觅食迁徙等群体活动中个体与群体协调合作的工作过程。这类借鉴了模拟生命系统行为功能和特性的科学计算方法称为人工生命计算。人工生命计算包括两方面的内容,研究如何利用计算技术研究生物现象和研究如何利用生物技术研究计算问题。人工神经网络,粒子群优化算法,遗传算法,蚁群优化算法等都属于人工生命计算的范畴2。本文详细介绍的粒子群优化算法是其中的一种新兴计算方法。它同遗传算法类似,同属随机迭代优化工具。同遗传算法等其他人工生命计算相比,粒子群算法概念简单,精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 41 页1 / 41 容易实现,调节参数较少。目前粒子群算法越来越引起人们的关注。1.2.2 群集智能理论我们经常能够看到成群的鸟、鱼或其它生物,这些生物的聚集行为有利于它们觅食和逃避捕食者。生物的群落动辄以十、百、千甚至万计,它们是如何迅速完成聚集、移动等行为呢 ?这些群落一般都不存在一个统一的指挥者,那么一定有某种潜在的能力或者规则保证了这些行为的同步。科学家们普遍认为上述行为是基于不可预知的种群社会行为中的群集智能。群集智能 (Swarm Intelligence指的是众多无智能的简单个体组成的群体,通过相互间的简单合作表现出智能行为的特性。群居生物涌现的群集智能正越来越得到人们的重视,成为近年来人工智能研究的一个热点课题。Millonasp在开发人工生命算法时提出了群集智能的概念,并提出五点原则3: 1)接近性原则 : 群体应能够实现简单的时空计算。2)优质性原则 : 群体能够响应环境要素。3)变化相应原则 : 群体不应把自己的活动限制在一个狭小的范围: 4)稳定性原则 : 群体不应每次随环境改变自己的模式。5)适应性原则 : 群体的模式应在计算代价值得的时候改变。1.3 算法比较1.3.1 粒子群算法与遗传算法 (GA比较为更清楚地认识 PSO 算法和 GA算法,下面对两者做个简单比较。PSO 算法和 GA算法的相同点 : (1都属于仿生算法。 PSO算法主要模拟鸟类觅食、人类认知等社会行为而研究。GA算法主要借用生物进化中“适者生存”的规律。(2都属全局优化方法。在解空间都随机产生初始种群,因而算法在全局的解空间进行搜索,且将搜索重点集中在性能高的部分。(3都属随机搜索算法。(4隐含并行性。搜索过程是从问题解的一个集合开始的,而不是从单个个体开始,具有精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 41 页2 / 41 隐含并行搜索特性,从而减小了陷入局部极小的可能性。(5根据个体的适配信息进行搜索,因此不受函数约束条件的限制,如连续性、可导性等。(6对高维复杂问题,往往会遇到早熟收敛和收敛性能差的缺点,都无法保证收敛到最优点。PSO 算法和 GA算法不同点 : (1 PSO 算法有记忆,好的解的知识所有粒子都保存,而GA算法,以前的知识随着种群的改变被破坏。(2PSO算法中的粒子仅仅通过当前搜索到最优点进行共享信息,所以很大程度上这是一种单项信息共享机制。而GA算法中,染色体之间相互共享信息,使得整个种群都向最优区域移动。(3GA算法的编码技术和遗传操作比较简单,而PSO算法相对于 GA算法,没有交叉和变异操作,粒子只是通过内部速度进行更新,因此原理更简单、参数、更少、实现更容易。(4在收敛性方面, GA算法己经有了较成熟的收敛性分析方法,并且可对收敛速度进行估计。而 PSO算法这方面的研究还比较薄弱。尽管己经有简化确定性版本的收敛性分析,但将确定性向随机性的转化尚需进一步研究。(5在应用方面, PSO算法主要应用于连续问题,包括神经网络训练和函数优化等,而GA算法除了连续问题之外,还可应用于离散问题。1.3.2 粒子群算法与蚁群算法 (ACO 比较 PSO算法和 ACO 算法都是群体智能算法,为更清楚地认识PSO 算法和 ACO 算法,下面对两者也做简单比较4。PSO 算法和 ACO 算法的相同点 : (1都属于仿生算法。 PSO 算法和 ACO 算法主要模拟觅食、人类认知等社会行为而提出。(2都属全局优化方法。算法在全局的解空间进行搜索,且将搜索重点集中在性能高的部分。(3都属随机搜索算法。(4都有记忆,好的解的知识所有粒子都保存。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 41 页3 / 41 (5隐含并行性。搜索过程是从问题解的一个集合开始的,而不是从单个个体开始,具有隐含并行搜索特性,从而减小了陷入局部极小的可能性。并且由于这种并行性,易在并行计算机上实现,以提高算法性能和效率。(6根据个体的适配信息进行搜索,因此不受函数约束条件的限制,如连续性、可导性等。(7对高维复杂问题,往往会遇到早熟收敛和收敛性能差的缺点,都无法保证收敛到最优点。PSO 算法和 ACO 算法不同点 : (1 PSO 算法中的粒子通过当前搜索到最优点进行共享信息,所以很大程度上这是一种单项信息共享机制。而ACO算法中,每个个体只能感知局部的信息,不能直接使用全局信息。(2 PSO算法的编码技术和ACO 算法操作比较简单,而PSO 算法相对于 ACO 算法,粒子只是通过内部速度进行更新,因此原理更简单、参数更少、实现更容易。(3在收敛性方面, ACO算法己经有了较成熟的收敛性分析方法,并且可对收敛速度进行估计。而PSO算法这方面的研究还比较薄弱。尽管已经有简化确定性版本的收敛性分析,但将确定性向随机性的转化尚需进一步研究。(4在应用方面, PSO算法主要应用于连续问题,包括神经网络训练和函数优化等,而全局 ACO算法除了连续问题之外,还可应用于离散问题,比如TSP问题、工作车间调度等。1.4 粒子群优化算法的研究现状1.4.1 理论研究现状在粒子群优化算法的理论研究方面,由于PSO算法对参数的选择没有规范,而且算法容易“早熟”,因此很多学者都对算法提出了改进。有些学者对算法的收敛性进行了分析,对参数选择提出了好的建议。更多的学者则致力于研究算法的结构和性能的改善,包括参数分析,拓扑结构,粒子多样性保持,算法融合和性能比较等5。在基本粒子群优化算法的基础上,Shi 和 Eberhart首次提出了惯性权重的概念,对基本算法中的速度更新公式进行修正。惯性权重的引入更好地控制了粒子的开发精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 41 页4 / 41 (exploitation和探索 (exploration,提高了算法性能。惯性权重在多数情况下被设置为随时间递减的时变权重。改进后的算法称为标准粒子群优化算法,为大多数研究者所使用。之后, Kenned 提出了簇丛分析 (cluster analysis的方法。簇丛分析方法是在微粒群体中选择一些微粒作为中心,再将离它最近的N 个微粒和中心微粒作为一簇,然后计算每个簇的中心位置,并以这些中心位置来替换Pbest 或者 Gbest。结果表明,用簇中心替换Pbest 时,部分测试函数的解得到了较好的改进,其余的函数只是略微差一点。如果用全局的簇中心替换Gbest 时,几乎所有函数的结果都较差。此外,簇丛分析的方法虽然使收敛速度有所加快,但同时引入了一些附加计算,通常需要标准PSO算法计算时间的74%-200% 。 Angeline P. J.利用选择 (selection的方法改进PSO算法4。结果表明,改进后的方法提高了大部分函数的性能。这是由于选择方法加快了对当前较好区域的开发过程,使得算法收敛速度加快,但也增加了陷入局部解的可能性。标准粒子群优化算法有3 个权重因子,这使得算法调整很自由,但也为找到最好的参数组合带来难度。因此, Clerc提出一个简化的PSO算法,只有一个公式和一个社会/ 信心参数。该算法定义了一个无希望(No-hope 收敛规则和一个重新希望(Re-hope方法,以便不时地根据对目标函数的梯度估计和先前的初始化重新初始化群体位置,算法还考虑了粒子群体的引力中心 (Gravity center。用该算法对一些函数进行测试得到了较好的结果。1.4.2 应用研究现状粒子群优化算法最早应用于非线性连续函数的优化和神经元网络的训练,后来也被用于解决约束优化问题。 Eberhart用 PSO算法来分析人类的帕金森综合症等颤抖类疾病。Robinson 等将 PSO 算法用于剖面波状喇叭天线的优化,并与GA的优化效果进行了比较,研究了二者混合应用的可行性5。Ciuprina提出一种智能PSO (IntelligentPSO用于电磁线圈尺寸的优化。 Abido 将 PSO算法用于解决最优功率通量(OPF 问题。国内也有越来越多的学者关注PSO算法,将其应用于非线性规划、参数优化、车辆路径、约束布局优化、新产品组合投入、多目标优化等问题。还有一些学者尝试将PSO算法应用于解决动态优化问题,也取得了较好的效果。粒子群优化算法由于其算法简单,参数少,易于实现等特点,在连续非线性优化问题和组合优化问题中都表现出良好的效果。基于以上研究成果,论文将在分析粒子群优化算法缺点的基础上对其做进一步的改进,以提高算法在复杂、高维情况下的优化性能,精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 41 页5 / 41 使算法能有效避免搜索过程中的“早熟”问题,提高算法的稳定性,并且对最小二乘支持向量机的参数进行优化。1.5 粒子群优化算法的应用粒子群优化 (PSO算法概念简单,易于实现,同时又有深刻的智能背景,既适合科学研究,又适合于工程应用。由于该算法具有很强的通用性,而且无需问题的特殊信息,因此,算法一提出就吸引了广泛的关注,不断涌现出各种关于PSO算法应用的研究成果,有力地推动了 PSO算法的应用研究。1.5.1 神经网络训练粒子群优化算法最早最成功的应用就是在神经网络的训练领域。在神经网络的训练中,主要包含3 个方面 : 网络连接权重、网络拓扑结构、学习算法。每个粒子包含神经网络的所有参数,通过迭代来优化这些参数,从而达到训练的目的。与BP 算法相比,使用PSO算法训练神经网络的优点在于不需要梯度信息,可使用一些不可微的传递函数。多数情况下其训练结果优于BP算法,而且训练速度非常快6。1.5.2 函数优化粒子群优化算法最直接的应用就是多元函数的优化问题,包括带约束的优化问题。通常这些函数是非常复杂的,主要表现为规模大、维数高、非线性和不可微等特点,而且有的函数存在大量局部极值。许多传统的确定性优化算法收敛速度较快,计算精度高,但对初值敏感,易陷入局部最小。而一些具有全局性的优化算法,如遗传算法、模拟退火算法、进化规划等,受限于各自的机理和单一结构,对于高维复杂函数难以实现高效优化。 PSO 算法通过改进或结合其它算法,对高维复杂函数可以实现高效优化。1.5.3 其他应用一般而言,粒子群优化算法与其他演化算法一样,能用于求解大多数优化问题。除了以上领域外, PSO算法的应用包括系统设计、多目标优化、分类、模式识别、调度、信号处理、决策、机器人应用等。其中具体应用实例有: 模糊控制器设计、车间作业调度、机器精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 41 页6 / 41 人实时路径规划、自动目标检测、时频分析等。总之, PSO算法的应用十分广泛,有着较好的发展前景。目前PSO算法的应用研究尚处于初期,还有许多问题需要进一步的研究。1.5.4 粒子群优化算法的工程应用概述以上阐述了粒子群优化算法在函数优化,神经网络训练和模糊系统控制等基本领域的应用。实际的优化问题往往可以转化为上述问题进行求解。下面简要介绍粒子群优化算法在一些实际应用领域的进展。首先,日本的Fuji电力公司的研究人员将电力企业著名的RPVC(Reactive Power and Voltage Control问题简化为函数优化问题,并使用改进的PSO算法进行优化求解。与传统方法如专家系统、敏感性分析相比,实验产生的结果证明了PSO算法在解决该问题的优势。其次,将 PSO算法与 BP算法相结合训练神经网络已用于对电动汽车燃料电池组实时充电情况的模拟。对电动汽车燃料电池带电状况的模拟是电动汽车以及混合动力汽车技术发展过程中的重大课题。实验证明相对于1996 年 Eberhart ,Simpson 和 Dobbins 的模拟方法,上述方法的模拟精确程度明显提高。此外, PSO算法已被美国一家公司用于各种生物化学成分的优化组合,进而人工合成微生物。与传统的工业优化方法比较,PSO产生合成结果的适应度是传统方法的两倍。实验的优化过程充分显示了PSO算法的优越性:尽管一种劣质成分在一定的迭代次数内能够影响优化搜索的进程,但是PSO最后总能得到比较理想的合成结果。这是因为PSO本质而言能够搜索到更大范围内的优化问题的解空间。总的来说,粒子群优化算法与其他进化算法一样,可以解决几乎所有的优化问题,或者是可以转化为优化问题进行求解的问题。其中最具应用前景的领域包括多目标问题的优化、系统设计、分类、模式识别、生物系统建模、规划、信号处理、决策和模拟等等。目前,在模糊控制器的设计、图像分割、EEG信号模拟、语音识别、烧伤诊断以及探测移动目标等方面已经有成功应用的先例7。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 41 页7 / 41 2. 粒子群优化算法2.1 基本粒子群优化算法粒子群优化 (Particle Swarm Optimization,简称PSO 算法的基本思想是通过群体中个体之间的协作和信息共享来寻找最优解,它包含有进化计算和群集智能的特点。起初 Kennedy和 Eberhart 只是设想模拟鸟群觅食的过程,但后来发现PSO算法是一种很好的优化工具。设想这样一个场景: 一群鸟在空间中随机的搜索食物。在这个区域里只有一块食物,所有的鸟都不知道食物在哪儿,但是它们知道自己当前的位置距离食物还有多远。那么找到食物的最优策略是什么?最简单有效的方法就是搜寻目前距离食物最近的鸟的周围区域,通过鸟之间的集体协作与竞争使群体达到目的。这是一种信息共享机制,在心理学中对应的是在寻求一致的认知过程中,个体往往记住它们的信念,同时考虑其它个体的信念。当个体察觉其它个体的信念较好的时候,它将进行适应性地调整。PSO算法就是从这种模型中得到启示并用于解决优化问题的。如果我们把一个优化问题看作是在空中觅食的鸟群,那么在空中飞行的一只觅食的“鸟”就是PSO算法中在解空间中进行搜索的一个“粒子”(Particle,也是优化问题的一个解。“食物”就是优化问题的最优解。粒子的概念是一个折衷的选择,它只有速度和位置用于本身状态的调整,而没有质量和体积。“群”(Swarm 的概念来自于人工生命,满足群集智能的五个基本原则。因此PSO算法也可以看作是对简化了的社会模型的模拟,社会群体中的信息共享是推动算法的主要机制8。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 41 页8 / 41 2.1.1 基本理论Eberhart 和 Kennedy提出的基本粒子群优化算法可描述如下: 设在一个 D维的目标搜索空间中,有m个粒子组成一个群落,第i 个粒子的位置用向量Xi=Xi1,Xi2,. ,XiD 表示 , 飞 行 速 度 用Vi=Vi1,Vi2, . ,ViD 表 示 , 第 i个 粒 子 搜 索 到 的 最 优 位 置 为Pi=Pi1,Pi2, ,PiD ,整个群体搜索到的最优位置为Pg=Pi1,Pi2, .,PiD ,则用下式更新粒子的速度和位置 : Vi(n+l=Vi(n+clrl(Pi-Xi(n+c2r2(Pg-Xi(n (2-1 Xi(n+1=Xi(n+Vi(n (2-2 式中, i=1,2,., m,分别表示不同的粒子。c1 ,c2为大于零的学习因子或称作加速系数,分别调节该粒子向自身己寻找到的最优位置和同伴已寻找到的最优位置方向飞行的最大步长,通常情况下取cl=c2=2 。 rl,r2为介于 0,1之间的随机数。 n 为迭代次数,即粒子的飞行步数。将V,限定一个范围,使粒子每一维的运动速度都被限制在-Vmax.,Vmax之间,以防止粒子运动速度过快而错过最优解,这里的Vmax根据实际问题来确定。当粒子的飞行速度足够小或达到预设的迭代步数时,算法停止迭代,输出最优解。从社会学的角度来看,公式(2-1 的第一部分是“记忆”项,是粒子先前的速度,表示粒子当前的速度要受到上一次速度的影响。公式第二部分是“自身认知”项,是从当前点指向粒子自身最好点的一个矢量,表示粒子的动作来源于自己经验的部分,可以认为是粒子自身的思考。公式的第三部分是“群体认知”项,是一个从当前点指向种群最好点的矢量,反映了粒子间的协同合作和信息共享。粒子正是通过自己的经验和同伴中最好的经验来决定下一步的运动。公式(2-1 中的第一部分起到了平衡全局和局部搜索能力的作用。第二部分使粒子拥有的局部搜索能力,能更好的开发解空间。第三部分体现了粒子间的信息共享,使粒子能在空间更广阔的探索。只有在这三个部分的共同作用下粒子才能有效的搜索到最好的位置。2.1.2 算法流程基本粒子群优化算法的步骤描述如下: 步骤 1: 初始化粒子群,包括群体规模、粒子的初始速度和位置等。步骤2: 计算每个粒子的适应度(fitness,存储每个粒子的最好位置Pbest: 和精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 41 页9 / 41 fitness,并从种群中选择fitness最好的粒子位置作为种群的Gbest。步骤 3: 根据方程 (2-1 和(2-2 更新每个粒子的速度和位置。步骤 4: 计算位置更新后每个粒子的适应度,将每个粒子的fitness与其以前经历过的最好位置时所对应的fitness比较,如果较好,则将其当前的位置作为该粒子的 Pbest。步骤 5: 将每一个粒子的适应度 (fitness与全体粒子所经历过的最好位置比较,如果较好,则将更新 Gbest 的值。步骤 6: 判断搜索结果是否满足算法设定的结束条件( 通常为足够好的适应值或达到预设的最大迭代步数 ,如果没有达到预设条件,则返回步骤3。如果满足预设条件,则停止迭代,输出最优解。否是在整个搜索空间随机初始粒子位置和初始速度计算各粒子的适应度更新粒子的Pbest与 Gbest 根据公式 2-1)和 进行了修正,引入惯性权重因子: )()()() 1(2211nXPrcnXPrcnVnVigiiii(2-3 惯性权重。是用来控制粒子以前速度对当前速度的影响,它将影响粒子的全局和局部搜索能力。选择一个合适的可以平衡全局和局部搜索能力,这样可以使算法以最少的迭代次数,迅速找到最优解。初始时,Shi 将取为常数,后来实验发现,动态的必能够获得比固定值更好的寻优结果。因为较小的必可加强局部搜索能力,而较大的可加快收敛速度,所以通过调节可以达到收敛速度和局部搜索能力间的平衡8。动态山可以在PSO算法搜索过程中线性变化,也可根据PSO算法性能的某个测度函数动态改变。目前,采用较多的是 Shi 建议的线性递减权值 (linearlydecreasing weight, LDW策略: maxminmaxmaxnn(2-4 式中,min.max分别为最大和最小惯性权重,n 为当前迭代步数,maxn为算法总的迭代次数。常在0.4,0.9之间变化,随着迭代步数的增加而减小。的线性变换使得算法在早期具有较快的收敛速度,而后期又有较强的局部搜索能力。引入使PSO算法性能有了很大提高,针对不同的搜索问题,可以调整全局和局部搜索能力,也使得PSO算法能成功的应用于很多实际问题。因此,采用公式(2-3 的粒子群优化算法被称为标准粒子群优化算法。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 15 页,共 41 页11 / 41 2.2.2 压缩因子在此之后, Clerc 引入压缩因子 (constriction factor K来保证收敛性 : )()()() 1(2211nxprcnxprcnvknvigiiii 粒子种群数目m: m 是整型参数,当m=1的时候,表示种群中只有一个粒子,PSO算法变为基于个体搜索的技术,一旦陷入局部最优,将不能跳出。当m 设置较小时,算法收敛速度快,但是易陷入局部最优。当m设置很大时, PSO算法的优化能力很好,但是收敛速度非常慢。通常,粒子种群的数目是根据具体问题而设定的,一般设置在10 到 50 之间。其实对于大部分的问题10-20 个粒子就可以取得很好的效果,而对于比较复杂的搜索空间或者特定类型的问题,粒子数可以取到100 或者更大。然而,群体过大将导致计算时间大幅增加,并且当群体数目增长至一定水平时,再增加粒子数目将不再有显著的作用。(2粒子的维数D: D 也是整型参数。粒子的维数是根据具体问题的解空间的维数来确定的。(3粒子的最大速度Vmax:Vmax是一个非常重要的参数,决定问题空间搜索的力度。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 16 页,共 41 页12 / 41 如果 Vmax较大,粒子的探索能力强,但是容易飞过优秀的搜索空间,错过最优解;如果Vmax较小,粒子的开发能力强,但是容易陷入局部最优,可能使粒子无法移动足够远的距离跳出局部最优,从而不能到达解空间中的最佳位置。粒子在解空间中的每一维上都有一个最大速度Vmax ,用来对粒子的速度进行限制,使速度控制在 -Vmax,Vmax 范围内,这也就决定了粒子在迭代中速度的变化范围。假设在 搜 索 空 间 中, 第 i个 粒 子 的 第 D 维 速 度 经 过 公 式 (2-3 更 新 后为 ViD,如 果maxmax,VVViD时,iDV将被限定为士 Vmax. (4学习因子c1 , c2: 学习因子具有自我总结和向群体中优秀个体学习的能力,从而使粒子向群体内或邻域内的最优点靠近。c1和 c2分别调节粒子向个体最优和群体最优方向飞行的最大步长,决定粒子个体经验和群体经验对粒子自身运行轨迹的影响,反映粒子群体之间的信息交流。当学习因子值较小时,可能使粒子在远离目标区域内徘徊。而当学习因子较大时,可能使粒子迅速向目标区域移动,甚至越过目标区域。如果 c1=0,则粒子自身没有认知能力,只有群体的经验,即“只有社会(social-only ”模型。在粒子相互作用下,算法有能力达到新的搜索空间。其收敛速度比标准算法更快,但碰到复杂问题,比标准算法更容易陷入局部极点。如果 c2=0,则粒子没有群体共享信息,即“只有认知(cognition-only”模型。由于个体之间没有交互,一个规模为m 的群体等价于m 个独立的粒子运行,因而得到最优解的概率非常小。如果 cl=c2=0,则粒子将以当前速度飞行,直到边界。此时,由于粒子只能搜索有限的区域,故很难找到好解。因此,Shi 和 Eberhart建议,为了平衡随机因素的作用,一般情况下设置c1=c2=2,大部分算法都采用这个建议。不过在文献中也有其他的取值,但是一般 c1等于 c2,并且范围在 0,4 之间。(5 rl,r2: 是介于 0,1 之间的随机数。(6粒子空间的初始化: 这是由具体问题决定的。较好地选择粒子的初始化空间,可以大大缩短算法的搜索时间,提高算法效率。(7迭代终止条件 : 迭代终止条件的设定需要根据具体的问题兼顾算法的优化质量和搜索效率等多方面性能。一般来说,当算法运行达到最大迭代次数、预设计算精度或可以接受的解时,算法停止迭代,输出最优解。(8惯性权重w:是标准粒子群优化算法中非常重要的参数,可以用来控制算法的开发精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 17 页,共 41 页13 / 41 (exploitation和探索 (exploration能力。惯性权重的大小决定了对粒子当前速度继承的多少。较大的惯性权重可以使粒子具有较大的速度,从而具有较强的探索能力。较小的惯性权重使粒子具有较强的开发能力。关于惯性权重的选择一般有常数和时变两种。算法的执行效果很大程度上取决于惯性权重的选取。参数的选择将影响算法的性能和效率,如何确定最优参数使算法性能最佳本身就是一个极其复杂的优化问题。由于参数空间的大小不同,而且各参数之间有一定的相关性,在实际的应用当中,并无确定最优参数的通用方法,只能凭借经验选取。通过仿真实验发现,参数对算法性能的影响是有一定规律可寻的。上面的分析可为粒子群优化算法的参数选取提供了一个理论上的指导和参考9。2.3.2 粒子群优化算法的特点和其他算法相比,粒子群优化算法主要有以下特点10: PSO算法简单,需要调节的参数不多,尤其是算法在引入惯性权重后,许多情况下可以按经验值设置参数即可获得较好的收敛性。PSO算法采用实数编码,可直接取目标函数本身作为适应度函数,根据目标函数值进行迭代搜索。PSO算法的各粒子间信息交流采用单向的信息流动方式,整个搜索更新过程是跟随当前最优解的过程。PSO 算法的各粒子具有记忆性,使得邻域算子不能破坏己搜索到的较优解。PSO算法根据粒子速度来决定搜索路径,且沿着梯度方向搜索,搜索速度快,在大多数的情况下,所有的粒子能收敛于最优解。但是,粒子群优化算法并不保证一定能找到最优解。这是由于PSO算法在优化过程中存在着一些问题,这些问题使得粒子在搜索过程中易陷入局部最优,导致算法“早熟”,从而降低了算法的稳定性。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 18 页,共 41 页14 / 41 3. 粒子群优化算法的改进3.1 粒子群优化算法存在的问题粒子群优化算法是Eberhart和 Kennedy 在对鸟群捕食行为模拟的基础上提出的一种群集智能的算法。同其它进化算法相比,PSO算法概念简单、容易实现。因此,PSO算法一提出,立刻引起了进化计算等领域学者们的广泛关注,成为一个研究的热点。随着学者们对粒子群优化算法研究的不断深入,他们逐渐发现:PSO 算法不是一定能找到最优解,这是由于该算法在优化过程中存在两个问题: 首先,由于整个粒子群体都是根据全体粒子的经验向着最优解的方向“飞行”,在较大系数的作用下,粒子有可能错过最优解,在远离最优解的空间中发散,使得算法不能收敛。其次,在算法收敛的情况下,由于所有的粒子都朝着最优解的方向搜索,种群中的粒子趋向同一,失去了解的多样性,使得算法后期的收敛速度明显减慢,同时使得算法在收敛到一定精度时,无法继续优化,这样就导致了PSO算法所能达到的精度比其它算法低。不仅如此,PSO算法在其它方面也存在着一些问题,现将其总结如下11: (1参数设置问题 : 在粒子群优化算法中,参数的选择对算法的结果有较大影响。不同的参数可能导致不同的优化结果。即使是相同的参数,在随机初始化的条件下也可能产生截然不同的结果。因此,如何选择合适的参数达到最好的优化结果是粒子群优化算法需要解决的问题。(2“早熟”问题 : 这是许多优化算法在寻优过程中都可能出现的问题,粒子群优化算法也不例外。当使用粒子群优化算法在解空间搜索最优值时,如果粒子过早收敛,就会使算法的寻优停滞在局部邻域而无法继续搜索全局最优,这样PSO算法就会出现“早熟”问题。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 19 页,共 41 页15 / 41 (3稳定性问题 : 由于算法中粒子的初始位置、速度和算法的一些参数是被随机初始化的,因此算法每一次寻优的结果可能并不相同,有时会差别很大,这样就导致了算法优化结果的不稳定。3.2 粒子群优化算法的改进分析为了提高粒子群优化算法的性能,研究者们对其作了各种各样的改进。他们尝试从环境中获取启发式信息,将这些知识以参数调节的形式加入到粒子群优化算法中。研究者们还尝试从其他进化计算技术中得到启发,他们也借鉴了不同的概念或建立了不同的混合算法,试图在某些方面改善PSO算法的性能。现在已从基本粒子群优化算法发展出许多不同的版本,这些版本是对基本PSO算法的改进或者是在某一应用领域的延伸。目前,国内外对粒子群优化算法的改进主要有以下几个方面12: (1 PSO算法参数的改进在基本粒子群优化算法提出后,研究者们对它的参数进行了实验,提出了许多改进的方法,其中比较典型的就是Shi 建议的惯性权重口的线性递减策略。山的引入使PSO算法在搜索初期有着较大探索能力,后期又能得到较精确的结果,在一定程度上提高了算法性能。 2001 年 Shi 又提出了模糊自适应调节的PSO算法,该算法在对单峰函数的处理中取得了较好的效果,但其推广的程度远不如惯性权重m的线性递减策略。(2 PSO算法拓扑结构的改进在提出粒子群优化算法的全局模式和局部模式之后,Kennedy 等又进一步研究粒子群的拓扑结构,分析粒子间的信息流,提出了一系列的拓扑结构,如图3-1 所示,并对其做了实验研究。除静态拓扑结构外,也有研究者提出动态粒子群拓扑结构精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 20 页,共 41 页16 / 41 图 3-1 PSO 算法的拓扑结构(3 PSO算法机理的改进粒子群优化算法和其他优化算法的结合是改进研究的热点,现将这方面的相关改进算法总结如下 : Angeline将选择的概念引入粒子群优化算法,提出了混和PSO算法。该算法主要用PSO的基本机制以及演化计算所采用的自然选择机制,将选择每次迭代后的较好粒子复制到下一代,以保证每次迭代的粒子群都具有较好的性能,这种算法的测试结果显示该算法提高了 PSO 算法的局部搜索能力,但同时也削弱了全局搜索能力。Ltvbjerg在粒子群每次迭代后,按概率在粒子间交换各维,通过交叉来生成更优秀的粒子,算法对某些多峰函数效果较好。Higashi 等人分别提出了自己的变异PSO算法,基本思路均是希望通过引入变异算子跳出局部极值点的吸引,从而提高算法的全局搜索能力,得到较高的搜索成功率。高鹰等人则引入免疫机制的概念,提高了粒子群体的多样性和自我调节能力,增强了粒子的全局搜索能力。Baskar, Bergh等人各自提出了自己的协同PSO算法,通过使用多群粒子分别优化问题的不同维、多群粒子协同优化等办法来对基本算法进行改进尝试。A 1-kazemi所提出的Multi-Phase PSO算法是在粒子群中随机选取部分个体向Gbest 方向飞,而其他个体向反方向飞,以扩大搜索空间。除以上的混合算法之外,还出现了量子PSO 、模拟退火PSO 、耗散 PSO 、自适应 PSO精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 21 页,共 41 页17 / 41 等混合改进算法,也有采取PSO算法与基于梯度的优化方法相结合的办法。以上的改进算法各有优缺点,这些方法都引入了一些新的参数,在改进算法性能的同时也一定程度上增加了算法的复杂性。因此,下面我们研究一种改进的PSO算法基于量子粒子群优化算法13。3.3 基于量子粒子群优化 (QPSO 算法3.3.1 QPSO 算法的优点孙俊等人从量子力学的角度, 提出一种新的PSO算法量子粒子群优化(QPSO 算法, 认为粒子具有量子行为 , 每一个粒子在搜索空间移动时, 存在着一个以Pbest 为中心的DELTA势阱。由于在量子空间中的粒子满足聚集态的性质完全不同, 粒子移动时没有确定的轨迹 , 这使粒子可以在整个可行解空间中进行探索寻找全局最优解, 因而 QPSO 算法的全局搜索能力远远优于经典的PSO算法。在 QPSO 算法中 , 设种群规模为M,在进化过程中 , 粒子以一定概率取加或减 , 更新每个粒子的位置 , 并生成新的粒子群体 , 由公式 (3-1 至(3-4 决定: p = a* Pbest ( i + (1 - a * Gbest。 (3-1 mbest = 1 /M* Mi 1Pest ( i; (3-2 b = 1. 0 - generation /maxgeneration* 0. 5。 (3-3 if u = 0. 5 (3-4 position =p - b* |mbest3/ position | * ln (1 /u 。else position =p + b* |mbest3 /position | * ln (1 /u 。其中, a, u为 0 至 1 之间的随机数 ,mbest 是粒子群 pbest 的中间位置 , 即平均值 , b为 收 缩 扩 张 系 数 , 在QPSO收 敛 过 程 中 线 性 减 小 , generation为 当 前 进 化 代数,maxgeneration为设定的最大进化代数14。3.3.2 基于 MATLAB 的仿真1 参数编码精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 22 页,共 41 页18 / 41 在 MATLAB 中, 粒子的位置X 用实数表示。粒子的参数编码格式: X1 , X2 , X3 , ?, XD。D 表示粒子的参数维数 , 这由变量的个数决定 ,M 表示粒子群的规模 , 即粒子的个X11 , X12 , ?, X1D数。2 初始化粒子群粒子群个体极值Pbest 和全局极值Gbest 进行初始化。下面给出粒子群初始化伪代码: POP = unifrnd ( Xmin, Xmax,M,D 。Pbest = POP。Gbest = unifrnd ( Xmin, Xmax, 1,D 。其中 , POP 表示粒子群 ,Xmin 和 Xmax 分别是变量的下限和上限, unifrnd是返回Xmin至 Xmax之间的随机数。3 更新粒子的位置粒子的位置的更新是基于公式(3-1 至(3-4 ,下面给出其实现的伪代码 : a = unifrnd (0, 1 。 u = unifrnd (0, 1 。b = 1. 0 - 当前代数 / 最大代数 *0. 5 。p = a* Pbest ( i, : + (1 - a * Gbest。mbest = sum ( Pbest /M。if u = 0. 5POP ( i, : = p - b*abs (mbest -POP ( i, : *ln1 /u 。elsePOP ( i, : = p + b * abs (mbest - POP( i, : *ln (1 /u 。end 其中, b 为收缩扩张因子。4 主程序QPSO 算法具体实现步骤如下 : (1确定种群规模 M和粒子维数 D,初始化粒子群体、 Pbest 和 Gbest。(2根据目标函数计算每一个粒子的适应度。(3根据其适应度 , 更新个体最优位置Pbest(i 和群体最优位置Gbest。(4根据公式 (3-1 至(3-4 以一定概率取加或减 , 更新每个粒子的位置, 生成新的粒子群体。(5判断粒子适应度是否满足收敛条件或者是否到达最大进化代数, 是则退出 , 否则返回 2 。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 23 页,共 41 页19 / 41 3.4 PSO 仿真为了验证本文算法的性能, 我们把本文研究的基于量子的粒子群优化算法与粒子群优化算法的进行了比较 , 在实验中 , 选择了4 个常用的标准优化函数作为验证函数。用于验证本文算法的收敛性能、收敛速度。3.4.1 标准测试函数为了与其改进算法比较,本文使用4 个常用标准测试函数来评价算法的性能15。函数如下:1、Sphere 函数:niixxf121)(又称 DeJong 函数,这是一个简单的单峰函数,各类优化算法都能较为容易地发现全局最优解,它的简单性有助于研究优化算法在问题维度上的效果。该函数的全局最优点位于 x=0,.,0,全局最优点的函数值0)(1xf。2、Rosenbrock 函数:niiiixxxxf122212)1()(100()(这是一个单峰函数,但并不易于求解。该函数在远离最优点区域的适应值地形很简单,但是靠近最优点的区域为香蕉状。变量之间具有很强的相关性,且梯度信息经常误导算法的搜索方向。该函数在最优点,1,.,1x具有最小函数值0)(2xf。3、Rastrigin函数:)10)2cos(10()(123iniixxxf这个是Sphere 类函数的多峰版本,具有大量按正弦拐点排列的、很深的局部最优点。全局最优值为,0)(3xf在点0,.,0x处获得。优化算法很容易在通往全局最优点的路径上陷入一个局部最优点。4、Griewank 函数:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 24 页,共 41 页20 / 41 niniiiixxxf11241)cos(40001)(该函数是一个复杂的多峰函数,存在大量的局部最小点和高大障碍物,由于各个变量 之 间 显 著 相 关 , 优 化 算 法 很 容 易 陷 入 局 部 最 优 , 该 函 数 全 局 最 优 值 为0,.,0,0)(4xxf在点处获取。3.4.2 实验参数设置本文的所使用的测试函数的初始化均使用标准初始化范围,在基本的PSO中取=1,在标准的PSO中,4 .0,9.0,其他参数: c1=c2=2,三种算法群体规模大小为40,优化变量的维数为40,最大迭代次数数为1000,表 3-2,展示了个函数的初始化范围和搜索空间。测试函数搜索域初始化范围Sphere function 1 -30 , 30 -30 , 30 Rosenbrock function 2 -2.408 , 2.408 -2.408 , 2.408 Rastrigin function 3 -5.12 , 5.12 -5.12 , 5.12 Griewank function 4 -600 , 600 -600 , 600 3.5 实验结果与分析精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 25 页,共 41 页21 / 41 通过观察以上仿真结果,我们得出无论是单峰函数,还是多峰函数,基于量子行为的 PSO它具有更强的全局收缩能力,能在后期找到全局最优值,但是收敛速度比较差。对于标准的PSO来说,早期收敛速度快,容易陷入“早熟”,得不到全局最优值。而对基本的 PSO ,其整体性能是最差的。4. 粒子群优化算法在支持向量机的参数优化中的应用4.1 支持向量机Vapnik 在 1995年 提 出 一 种 新 型 统 计 学 习 方 法 -支 持 向 量 机 SVM(support vector machines,支持向量机具有完备的统计学习理论基础和出色的学习性能,已成为机器学习界的研究热点,并在很多领域都得到了成功应用。近年来,Suykens提出最小二乘支持向量机法 LS-SVM 这种方法采用最小二乘线性系统作为损失函数求解过程变成了解一组等式方程,求解速度相对加快,并应用到生化过程的建模,取得较好的效果。和其它学习算法一样,其性能依赖于学习机的参数,然而到目前为止,还没有指导最小二乘支持向量机参数选择的好方法。如何确定最优参数,一直是提高最小二乘支持向量机学习和泛化能力的主要问题之一。本文利用具有较强的全局搜索能力的粒子群算法PSO 来对最小二乘支持向量机建模过程中的重要参数进行优化,进行状态预估16。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 26 页,共 41 页22 / 41 4.2 最小二乘支持向量机原理SVM 算法是针对有限样本情况下根据结构风险最小化原则设计的一种统计学习理论,已广泛用于解决分类和回归问题。LS-SVM 与标准 SVM 有所不同的是,优化目标的损失函数是以误差的二范数来表示,用等式约束代替了SVM 中的不等式约束条件,提高了收敛速度17。设有训练数据集 (xi,yi,i=1 ,2,.,n,xiRd是第 i 个样本输人, yiR 是第 i 个样本的期望输出,则线性回归函数为y(X=tX+b (4-1 其中: X=(x1,x2,.,xn;=(1,2,. ,n为LS-SVM 的权值系数, b为阈值。根据结构风险最小 (structural risk minimization,SRM 准则,优化问题转换为min21|2+2ni 12i+b+i i=l,2,. ,n 4-3)为正则化参数,为权值向量,i为误差变量。本文核函数采用径向基核函数:)2|exp(),(22iiXXXXK4-4)式中:2为径向基函数参数;iXX ,为支持向量内积运算中的项。通过引入拉格朗日函数,根据KKT 条件求解可得到 LS-SVM 的回归函数模型为bXXKXfinii),()(1 为核函数,主要完成了对样本数据的内积运算。由LS-SVM 算法推导可知,对于采用径向基核的LS-SVM 的主要参数是和2,是权衡拟合曲线光滑度并使拟合误差最小化的参数,值越大,训练数据样本点拟合值越符合实际值,减小会降低模型的复杂性;2增大会使拟合曲线更光滑。这2个参数在很大程度上决定了LS-SVM 的学习能力和预测能力18-19。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 27 页,共 41 页23 / 41 4.3 基于粒子群算法的最小二乘支持向量机的参数优化方法利用粒子群优化算法的全局搜索能力,对最小二乘支持向量机建模过程的重要参数进行优化调整,必然可以得到较为精确的最小二乘支持向量机模型。其整个优化建模流程如下:1对群体规模、迭代次数、初始粒子位置值和速度值、初始最小二乘支持向量机的正则化参数、核函数参2数值盯进行初始化。2采用新确定的最小二乘支持向量机参数即各粒子的坐标位置值对训练样本数据进行学习并建立各自对应的预测模型。3利用该模型对检验样本数据进行预测得到各个粒子当前位置值的预测误差。并计算各粒子的适应度函数值。miiiimyyXF12/)()(4根据粒子群算法, 将各粒子的当前适应值F(Xi与该粒子自身的最优适应值,)(ibestPF进行比较,如果F(Xi,将粒子的当前位置作为该粒子的最优位置。5将各粒子的自身最优位置适应值)(ibestPF与所有粒子的最优位置的适应值)(GbestPF比较,若)(ibestPF,将该粒子的最优位置作为所有粒子的最优位置。6根据粒子群优化算法的进化方程对粒子的速度和位置进行进化调整,得到新的粒子位置,即得到新的最小二乘支持向量机参数值。7判断所有粒子的最优位置的适应值或迭代次数是否满足要求,若满足,则结束计算,并保存此时的粒子群的整体最优位置值。若不满足则返回流程第2步继续计算。该参数优化调整方法最后得到的粒子群的整体最优位置值即为最小二乘支持向量机建模所需的对应各参数值利用参数值确定的最小二乘支持向量机方法即可对样本数据进行训练与学习从而得到所需模型。PSO和 QPSO 的不同之处在于“进化”方法不同,即更新粒子位置的方法不同20-21。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 28 页,共 41 页24 / 41 4.4 仿真4.4.1 仿真设定本 实 验 选 择;200:2:1 ),1 .0*sin()(1xxxfii中 的 一 百 个 点 作 为 训 练 样 本 ,200:2:22x为预测样本。 PSO的参数中:最大迭代次数为10,粒子群规模大小为10,维数为 2. 4.4.2 仿真结果表 4-1:LSSVM 训练方法Gam Sig2 MSE1 训练均方差MSE2 预测均方差LSSVM 8.9887 2.2359 0.0029 0.0061 基本 PSO-LSSVM 6.0975 6.1190 0.0025 0.0034 标准 PSO-LSSVM 972.4922 9.6830 8.2456e-008 1.9223e-004 量子 PSO-LSSVM 93.2827 57.9624 6.6656e-009 2.7901e-005 4.4.3 结果分析由表 4-1,我们可以看出,对于LSSVM 不同的训练方法,得出的Gam与 Sig2 的参数组合是不同的,这对参数组合也决定了,训练均方差MES1 :LSSVM 基本 PSO-LSSVM标准PSO-LSSVM量子 PSO-LSSVM, 从而得出预测的性能中量子PSO-LSSVM 效果是最好的。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 29 页,共 41 页25 / 41 5. 总结与展望5.1 总结通过对粒子群优化算法理论的深入研究,在阅读了大量关于避免算法“早熟”和改善算法搜索效率的资料之后,决定在借鉴前人研究成果的基础之上,对标准的粒子群优化算法进行改进。在文献的查找和资料的阅读过程中发现,标准的粒子群优化算法存在着一些问题,如 : 稳定性问题、“早熟”问题等。因此,决定从解决算法“早熟”问题入手,协调算法的全局探索能力和局部搜索能力,以提高算法的搜索效率。在借鉴生物进化理论和社会心理学的部分研究成果的基础上,对目前的PSO改进算法作了重点研究,研究了一种基于量子的粒子群优化算法,并将引入的参数对算法性能的影响进行了实验研究和分析。论文第一章只要介绍了粒子群优化算法的背景,研究及应用的现状,而第二章介绍了粒子群优化算法的基本理论,算法的实现,所具有的特点、优点。论文第三章提出了粒子群优化算法存在的问题,并研究了一种基于量子的粒子群优化算法。该算法通过粒子群有量子的行为,提高了算法的寻优能力,增强了算法的全局搜索能力,有效的避免了“早熟”问题。经过常用标准函数的测试证明,基于量子的粒子群优化算法在一定程度上提高了算法的性能,为一些复杂的优化问题提供了方法。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 30 页,共 41 页26 / 41 论文的第四章介绍的是基于粒子群优化算法在最小二乘支持向量机参数选择的应用。主要是对基本粒子优化算法,标准的粒子群优化算法,还有改进的粒子群优化算法在优化最小二乘支持向量机参数优化的性能进行比较。通过比较,我们可以得出改进的粒子群优化算法的优化性能更加好。5.2 展望通过对粒子群优化算法的研究、改进和应用,发现该算法有着广阔的发展前景。PSO算法提出已有十几年的时间了,随着研究的逐步深入,学者们发现PSO算法仍然有大量待研究的问题,现将其总结如下: (1 算法的基础理论研究 :PSO 算法的数学理论基础相对比较薄弱,该算法的有效性在一些实例和数值实验中得到证明,但算法整体性能的优劣( 收敛性、收敛速度等缺少数学证明。因此, PSO算法需要理论上对如何进行参数的选择和设计,如何设计适应度函数,以及如何提高算法在解空间里的搜索效率等具体问题进行指导。而且算法本身的模型和群体的拓扑结构都需要在理论上进行更深入的研究和探索,仅仅依靠实验方法是不够的。(2 参数选择与优化 : 参数 w , c1, c2的选择分别关系到粒子速度的3 个部分: 惯性部分、自身部分和社会部分在搜索中的作用。如何选择、调整和优化参数,使得算法既能避免早熟又能比较快速地收敛,对工程实践有着重要意义。(3 对算法本身的改进 :PSO 作为一种进化算法,也面临着陷入局部极小的问题。因此,PSO算法自身的改进也是研究的重要方向之一。由于大自然中存在着无穷的奥秘,在探索自然规律的基础上尽量去模拟自然、贴近自然,用更加精确的模型去描述这种进化行为将会进一步提高算法的性能。因而,如何设计出更为高效的PSO算法将是一个很具挑战的课题。(4 算法的离散问题 :PSO 算法也可应用于离散问题,但对于离散问题,算法往往难以取得理想的优化结果,如何提高PSO算法在离散空间的应用也是一类值得研究的问题。(5 算法的应用及实现 : 算法的有效性必须在应用中才能体现,所以PSO算法的应用领域需要进一步拓宽。(6 粒子群优化算法虽然在许多领域已经得到了广泛的应用,但多数应用还处在研精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 31 页,共 41 页27 / 41 究实验阶段,如何将它们硬件化、产品化,推向市场,获得更大的经济、实用价值是算法应用研究的前沿。应当相信的是,随着算法理论研究的发展和应用领域的拓展,粒子群优化算法具有更广阔的研究和应用前景。致谢在毕业论文设计的过程中,我受到了陈老师多次帮助,因此。我要感谢我的指导老师,陈治明老师,他耐心的指导和每次我发邮件提出问题的时候,陈老师总能第一时间回答我的问题,给我做论文的过程中争取到了很多重要的时间,也使我的论文顺利的完成。关于论文有关问题的讨论,他总是能给我很多新的思路和动力,且他严谨的治学态度同样给我以很大的启发和触动,总之深深的感谢他一直以来对我的帮助。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 32 页,共 41 页28 / 41 参考文献1 李爱国等 . 粒子群优化算法. 计算机工程与应用J ,2002,21:1-3 2 喻海飞,王定伟. 人工生命与人工生命计算.2007 ,43(1 ,12-14 3 J. Kennedy, R. Eberhart. Particle swarm op timizationJ. Proceeding IEEE international Conference on NeuralNetworks , 1995, 4: 19421948 4Jun Sun, Bin Feng, WenboXu. Particle Swarm Opimization with particles having quantum behavior C. Congress on Evolutionary Computation, 2004 5 欧旭,梁京章 . 浅析粒子群优化算法的研究和应用J.大从科技 2009,11 :44-45 6 郭辉等 . 最小二乘支持向量机参数选择方法及其应用研究J.系统仿真学报,2006,187):2033-2036 7 赵世安等 . 模拟退火并行粒子群优化算法程序设计与研究J. 百色学院学报,2006,19:62-64 10 陈 林,潘丰. 基于量子 PSO 的SVM 参数选择及其应用J.自动化与仪表,20091):5-8 11 杨绍全等 . 支持向量机参数选择方法研究J.系统工程与电子技术, 2004.268 ):1117-1120 12 田鹏潘丰,改进粒子群算法在支持向量机训练中的应用J.自动化技术与应用,2009,精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 33 页,共 41 页29 / 41 2803):6-8 13 陈刚等 . 基于粒子群算法在支持向量机参数选择及应用J.控制理论与应用,2006, 23:740-743 14 任文进等 . 基于混沌粒子群的支持向量机参数优化J.科学技术与工程,2007, 14 的最小二乘支持向量机的工具箱及其应用J. 计算机应用,2006,26:358-360 16余 健 , 郭 平 . 基 于MATLAB的 量 子 粒 子 群 优 化 算 法 及 其 应 用 J.计 算 机 与 数 字 工程,2007 ,35(12:38-39 17 姚全珠,蔡婕. 基于PSO 的 LS SVM特征选择与参数优化算法J.计算机工程与应用,2018,4601):134-136 18 路志英等 . 粒子群算法优化RBF-SVM沙尘暴预报模型参数J.天津大学学报,2008,414):414-418 19 熊伟丽,徐保国. 粒子群算法在支持向量机参数选择优化中的应用研究C.2007中国控制与决策学术年会论文集:447-452 20 阎威武,邵惠鹤. 支持向量机和最小二乘支持向量机的比较及应用研究J.控制与决策,2009,18:8-11 AbstractIn the field of artificial intelligence, most problems belong to the category of optimization. The classical algorithms in common use are usually limited by certain optimizing problems such as the object optimization function, which has to be a continuous one. As bionic algorithm imitates the intellective actions of life free from the limits resulting from the optimizing problems , the particle swarm optimization is commonly used in different kinds of category of optimization. First of all,this paper ,basing on the particle swarm optimization, 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 34 页,共 41 页30 / 41 illustrates the fundament of this algorithm.Moreover,this paper focuses on the analysis of parameter that may affect the performance of the algorithm. Also an introduction of improved algorithms and popular advanced improving strategies is shown, as well as the mastery of basic researching process and methods. According to the result of the analysis, the author put forward a new quantas swarms PSO algorithm to overcome the defects of the original. Through the simulation, the results show that , compared with other PSO variants, the algorithm proposed by the author has attained a better solution to the same problems. Finally, the paper gave some further expectations concerning the PSO algorithm research. Keywords:Particle Swarm LS-SVM PreferencesFitness 附录PSO程序function PSO c1=2。c2=2。global dimension Size dimension=40。Size=40。% 种群维数 dimension 、规模 Size Tmax=1000 。% 最大迭代次数 Tmax % 选择不同测试函数的速度和位置限制范围% 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 35 页,共 41 页31 / 41 F_n=2。switch F_n case 1 % f1_Sphere % Vmax(1:dimension= 30。 Vmin(1:dimension=-30。 Xmax(1:dimension= 30。 Xmin(1:dimension=-30。 case 2 % f2_griewank -600,600 % Vmax(1:dimension= 600。 Vmin(1:dimension=-600。 Xmax(1:dimension= 600。 Xmin(1:dimension=-600。 case 3 % f3_Rastrigin -5.12,5.12 % Vmax(1:dimension= 5.12。 Vmin(1:dimension=-5.12。 Xmax(1:dimension= 5.12。 Xmin(1:dimension=-5.12。 case 4 % f4_Rosenbrock -2.408,2.408 % Vmax(1:dimension= 2.408。 Vmin(1:dimension=-2.408。 Xmax(1:dimension= 2.408。 Xmin(1:dimension=-2.408。end %initial Position Velocity% Position=zeros(dimension,Size。%以 后 位 置 Position统 一 为此 种 记 法: 行dimension ;列 Size ;Velocity=zeros(dimension,Size。% 每个粒子的位置、速度对应于一列。Position,Velocity=initial_Position_Velocity(dimension,Size,Xmax,Xmin,Vmax,Vmin。% 个体最优 P_p 和全局最优 globe 初始赋值 % P_p=Position 。globe=zeros(dimension,1。% 评价每个粒子适应值,寻找出 globle% for j=1:Size Pos=Position(:,j。 fz(j=Fitness_Function(Pos,F_n。end P_g,I=min(fz。%P_g globe=Position(:,I。for itrtn=1:Tmax time(itrtn=itrtn。 Weight=0.4+0.5*(Tmax-itrtn/Tmax。 % Weight=1。 r1=rand(1。r2=rand(1 。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 36 页,共 41 页32 / 41 for i=1:Size Velocity(:,i=Weight*Velocity(:,i+c1*r1*(P_p(:,i-Position(:,i+c2*r2*(globe-Position(:,i。% 速度更新 end % 速度限制 % for i=1:Size jj=1。 K=ones(dimension,1。 for row=1:dimension if Velocity(row,iVmax(row K(jj=Vmax(row/Velocity(row,i。 jj=jj+1。 elseif Velocity(row,i K(jj=Vmin(row/Velocity(row,i。 jj=jj+1。 else end end Kmin=min(K。 for row=1:dimension if Velocity(row,iVmax(row Velocity(row,i=Velocity(row,i*Kmin。 elseif Velocity(row,i Velocity(row,i=Velocity(row,i*Kmin。 else end end end Position=Position+Velocity。% 位置更新% 位置限制 % for i=1:Size for row=1:dimension if Position(row,iXmax(row Position(row,i=Xmax(row。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 37 页,共 41 页33 / 41 elseif Position(row,i Position(row,i=Xmin(row。 else end end end % 重新评价每个粒子适应值,更新个体最优 P_p 和全局最优 globe% for j=1:Size xx=Position(:,j。 fz1(j=Fitness_Function(xx,F_n。 if fz1(j P_p(:,j=Position(:,j。 fz(j=fz1(j。 end if fz1(j。 end end P_g1 I=min(fz。 P_gg(itrtn=P_g1。 globe=P_p(:,I。end % 画评价值变化曲线 % figure(1。plot(time,P_gg,-g。legend( 标准 PSO 。xlabel(迭代的次数 。ylabel(适应度值 P_g。hold on FunctionPosition,Velocity=initial_Position_Velocity(dimension,Size,Xmax,Xmin,Vmax,Vmin for i=1:dimension Position(i,:=Xmin(i+(Xmax(i-Xmin(i*rand(1,Size。 Velocity(i,:=Vmin(i+(Vmax(i-Vmin(i*rand(1,Size。 end function Fitness=Fitness_Function(X,F_n 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 38 页,共 41 页34 / 41 global dimension Size % F_n 标准测试函数选择 , 其中: switch F_n case 1 % f1_Sphere % Func_Rastrigin=X(:*X(:。 Fitness=Func_Rastrigin。 case 2 % f2_griewank % res1=X(:*X(:/4000。 res2=1。 for row=1:dimension res2=res2*cos(X(row/sqrt(row。 end Func_Griewank=res1-res2+1。 Fitness=Func_Griewank。 case 3 % f3_Rastrigin % Func_Rastrigin=X(:*X(:-10*sum(cos(X(:*2*pi+10*dimension。 Fitness=Func_Rastrigin。 case 4 % f4_Rosenbrock % res1=0。 for row=1:(dimension-1 res1=res1+100*(X(row+1-X(row22+(X(row-12。 end Func_Rosenbrock=res1。 Fitness=Func_Rosenbrock。end % LSSVM 程序clc 。clear 。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 39 页,共 41 页35 / 41 st=cputime 。%the computation time of start %- % 产生训练样本与测试样本 n1 = 1:2:200。 x1 = sin(n1*0.1。 n2 = 2:2:200。 x2 = sin(n2*0.1。 xn_train = n1。 % 训练样本,每一列为一个样本 dn_train = x1。 % 训练目标,行向量 xn_test = n2。 % 测试样本,每一列为一个样本 dn_test = x2。 % 测试目标,行向量 X = xn_train。 Y = dn_train。 Xt = xn_test。 Yt = dn_test。%- % 参数设置type = f。kernel = RBF_kernel。gam =8.9887。 %3.5655/37.413 Reg3ularization parameter sig2 =2.2359。 %31.3729/Kernel 20.089parameter (bandwidth in the case of the RBF_kernel % 模型初始化model = initlssvm(X,Y,type,gam,sig2,kernel,original。model = trainlssvm(model。 % 训练Ytr = simlssvm(model,X。 % 回归Yd = simlssvm(model,Xt。et=Ytr-Y 。ET=Yd-Yt。mse1=mse(et 。 %均方误差mse2=mse(ET 。%- % 结果统计mse1 mse2 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 40 页,共 41 页36 / 41 gam sig2 stp=cputime-st 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 41 页,共 41 页
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号