基于粒子群算法求解指定算法的最优参数
引言
粒子群优化算法(Particle Swarm Optimization Algorithm,PSO)是由Eberhart和kennedy提出的一种基于群体协作的随机搜索算法。其原理来源于对鸟群捕食行为的研究,基本思想是通过群体中个体之间的协作和信息共享来寻找最优解。PSO的优势在于其简单的算法实现和简洁的参数设置。目前已经广泛应用于函数优化、图像处理等方面,但PSO也存在着早熟收敛、容易陷入局部最优、维数灾难等缺点,这也是需要解决的问题。
算法主要流程
算法公式
此处介绍的是惯性权重线性递减的PSO算法。这是Yuhui Shi于1998年提出的改进粒子群算法。除此之外,还有另外,还有带收缩因子的PSO算法(见附章[3])
粒子速度更新公式
v i = ω v i + c 1 r 1 ( p b e s t d − x i ) + c 2 r 2 ( g b e s t d − x i ) v_i = \omega v_i + c_1r_1(p_{bestd} - x_i) + c_2r_2(g_{bestd} - x_i) vi=ωvi+c1r1(pbestd−xi)+c2r2(gbestd−xi)
粒子位置更新公式
x i = x i + v i x_i = x_i + v_i xi=xi+vi
其中:
-
ω v i \omega v_i ωvi理解为粒子先前的速度和惯性,这是其自身属性的体现; c 1 r 1 ( p b e s t d − x i ) c_1r_1(p_{bestd} - x_i) c1r1(pbestd