正式开始学优化了,先学学自家实验室的成名算法PSO
百科定义:PSO是粒子群优化算法(——Particle Swarm Optimization)的英文缩写,是一种基于种群的随机优化技术。
PSO算法最早由美国加州大学洛杉矶分校的计算机科学家James Kennedy和Russell Eberhart于1995年提出,起源于模拟鸟群和鱼群的群体行为观察。
通过模拟群体中个体的合作与信息共享,从而引导整个群体向问题的最优解靠拢。PSO算法通过不断地更新粒子的位置和速度,模拟了粒子在搜索空间中的移动,以期望找到全局最优解。
粒子群在每次迭代过程中,所有粒子都需要对目前所在位置进行一次评估(计算适应值);
分别与自己到过的最优点Pbest、全局最优点Gbest比较,若更好则更新Pbest、Gbest;
当适应度达到要求时,结束迭代,输出最优解。
PSO比较经典的应用就是鸟类觅食行为,这也是PSO算法发展的起源之一。将鸟类觅食问题映射到PSO算法中,关系如下。
鸟群 | PSO |
---|---|
鸟 | 粒子 |
觅食区 | 求解空间 |
食物量 | 适应度 |
鸟到达的位置 | 空间中的单个解 |
食物最多的位置 | 全局最优解 |
PSO在鸟类觅食问题里的过程就是
每只小鸟根据自己的想法在觅食区域寻找食物,将沿路上的食物最多的位置记下来;到达边界后鸟群进行汇合,此时鸟群会交换自己发现的信息,然后就知道目前食物最多的地方(相当于完成了一次迭代);根据自己搜索的信息和团队搜索到的信息重新搜索直至找到满足鸟群需求的觅食地点。