恩佐2登录 > SEO算法 > 梯度下降法和粒子群优化算法的区别

梯度下降法和粒子群优化算法的区别

admin SEO算法 2019年12月17日

  摘 要:,粒子群算法据自己的速度来决定搜索过程,只有最优的粒子把信息给予其他的粒子,整个搜索更新过程是跟随当前最优解的过程,所有的粒子还可以更快的收敛于最优解。由于微粒群算法简单,容易实现,与其它求解约束优化问题的方法相比较,具有一定的优势。实验结果表明,恩佐2登录对于无约束的非线性求解,粒子群算法表现出较好的收敛性和健壮性。

  非线性方程的求根问题是多年来数学家努力解决的问题之一。长期以来,人们已找出多种用于解决方程求根的方法,例如牛顿法、弦割法、抛物线法等。然而,很多传统的方法仅能运用于相应的小的问题集,推广性相对较差。对于一个现实世界中的优化问题,必须尝试很多不同的方法,甚至要发明相应的新的方法来解决,这显然是不现实的。我们需要另外的方法来克服这样的困难。

  粒子群算法是一种现代启发式算法,具有推广性强、鲁棒性高等特点[1]。该算法具有群体智能、内在并行性、迭代格式简单、可快速收敛到最优解所在区域等优点[2]。本文采用粒子群算法,对函数的极值进行寻优计算,实现了对函数的极值求解。

  粒子群算法(PSO)是一种基于群体的随机优化技术,它的思想来源于对鸟群捕食行为的研究与模拟。粒子群算法与其它基于群体的进化算法相类似,选用“群体”和“进化”的概念,按照个体的适应度值进行操作,也是一种基于迭代的寻优技术。区别在于,粒子群算法中没有交叉变异等进化算子,而是将每个个体看作搜索空间中的微粒,每个微粒没有重量和体积,但都有自己的位置向量、速度向量和适应度值。所有微粒以一定的速度飞行于搜索空间中,其中的飞行速度是由个体飞行经验和群体的飞行经验动态调整,通过追踪当前搜索到的最优值来寻找全局最优值。

  粒子群算法需要修改的参数很少,但对参数的选择却十分敏感。El-Gallad A, El-Hawary M, Sallam A, Kalas A[3]主要对算法中的种群规模、迭代次数和粒子速度的选择方法进行了详细分析,利用统计方法对约束优化问题的求解论证了这 3 个参数对算法性能的影响,并给出了具有一定通用性的3 个参数选择原则[4]。

  最大速度:决定粒子在一次迭代中的最大移动距离,通常设定为不超过粒子的范围宽度。

  加速常数:加速常数c1和c2通常是由经验值决定的,它代表粒子向pbest和gbest靠拢的加速项的权重。一般取值为:c1=c2=2。

  惯性权重:惯性权重能够针对待优化问题调整算法的局部和全局搜索能力。当该值较大时有利于全局搜索,新宝7恩佐登录较小时有利于局部搜索。所以通常在算法开始时设置较大的惯性权重,以便扩大搜索范围、加快收敛。而随着迭代次数的增加逐渐减小惯性权重的值,使其进行精确搜索,避免跳过最优解。

  (2)对任意的i,s,在[-xmax, xmax]内均匀分布,产生初始位置xis;

  (3)对任意的i,s,在[-vmax, vmax]内均匀分布,产生速度vis;

  Step3:对每个粒子的适应度值和得到过的最好位置pis的适应度值进行比较,若相对较好,则将其作为当前的最好位置。

  Step4:对每个粒子的适应度值和全局得到过的最好位置pgs的适应度值进行比较,若相对较好,则将其作为当前的全局最好位置。

  粒子群算法优化是计算机智能领域,除蚁群算法外的另一种基于群体智能的优化算法。粒子群算法是一种群体智能的烟花计算技术。与遗传算法相比,粒子群算法没有遗传算法的选择(Selection)、交叉(Crossover)、变异(Mutation)等操作,而是通过粒子在解空间追随最优的粒子进行搜索。

  速度更新为,式中,c1和c2为其两个学习因子的参数值;r1和r2为其两个随机值。

  可以看出,选取区间内的Ackley函数图形只有一个极小值点。因此,对于该段函数进行寻优,不会陷入局部最小。采用粒子群算法对该函数进行极值寻优。

  搜索个体最优极值,即搜索最小的适应度值,我们可利用MATLAB绘图将所有个体的适应度值绘成plot图查看相对最小值。

  图5 迭代曲线中可看出,该函数的寻优是收敛的,最优个体和实际情况较吻合。因此,采用粒子群算法进行函数极值寻优,快速、准确且鲁棒性较好。

  本文阐述了粒子群算法求解最化问题的过程,实验结果表明了该算法对于无约束问题的可行性。与其它的进化算法相比,粒子群算法容易理解、编码简单、容易实现。但是参数的设置对于该算法的性能却有很大的影响,例如控制收敛,避免早熟等。在未来的工作中,将努力于将其它计算智能算法或其它优化技术应用于粒子群算法中,以进一步提高粒子群算法的性能。

  粒子群(PSO)算法是近几年来最为流行的进化算法,最早是由Kenned和Eberhart于1995年提出.PSO 算法和其他进化算法类似,也采用“群体”和“进化”的概念,通过个体间的协作与竞争,实现复杂空间中最优解的搜索.PSO 先生成初始种群,即在可行解空间中随机初始化一群粒子,每个粒子都为优化问题的一个可行解,并由目标函数为之确定一个适应值(fitness value).PSO 不像其他进化算法那样对于个体使用进化算子,而是将每个个体看作是在n 维搜索空间中的一个没有体积和重量的粒子,每个粒子将在解空间中运动,并由一个速度决定其方向和距离.通常粒子将追随当前的最优粒子而运动,并经逐代搜索最后得到最优解.在每一代中,粒子将跟踪两个极值,一为粒子本身迄今找到的最优解 pbest ,另一为全种群迄今找到的最优解 gbest.由于认识到 PSO 在函数优化等领域所蕴含的广阔的应用前景,在 Kenned 和 Eberhart 之后很多学者都进行了这方面的研究.目前已提出了多种 PSO改进算法,并广泛应用到许多领域。

标签: seo算法