免责声明:本文仅代表个人观点,如有错误,请读者自己鉴别;如果本文不小心含有别人的原创内容,请联系我删除;本人心血制作,若转载请注明出处
本文出处:本博客是根据 “何同弟” 的博士论文 “高光谱图像的分类技术研究”的“粒子群优化算法”一节而写,大部分细节皆取自此文,如有兴致,请直接查看原文。
1、与其他进化算法一样,也是基于“种群”和“进化”的概念,通过个体间的协作与竞争,实现复杂空间最优解的搜索;同时,PSO 又不像其他进化算法那样对个体进行交叉、变异、选择等进化算子操作,而是将群体(swarm) 中的个体看作是在D 维搜索空间中没有质量和体积的粒子(particle) ,每个粒子以一定的速度在解空间运动,并向自身历史最佳位置pbest
和邻域历史最佳位置gbest聚集,实现对候选解的进化。其实现步骤如下:
①、初始化种群数量,使他们随机分布在平面上;
②、根据模型评估每个粒子的位置;
③、如果一个粒子当前的位置比它之前的pbest好,则更新此位置为pbest
④、确定全局最优位置pbest
⑤、根据如下公式更新每个粒子的速度,c1和c2为学习因子,也称加速常数,r1和r2为[0,1]范围内的均匀随机数。
⑥、根据如下公式更新每个粒子的位置。
⑦、返回第2步重新迭代,直到满足停止条件。
2、PSO的工作流程如下。