我正在阅读软计算算法,目前在“粒子群优化”中,我理解这项技术一般但是,我停在数学或物理部分,我无法想象或理解它是如何工作的或它如何影响飞行,该部分是更新速度的等式中的第一部分,称为“惯性因子” 完整的更新速度方程是: 我在第2.3节“Ineteria Factor”中的一篇文章中读到:
“该算法的这种变化旨在平衡两种可能的PSO趋势(de- 关于已知解决方案的开发区域的参数化 或探索搜索空间的新领域。为此,这种变化着重于 粒子速度方程2的动量分量。请注意,如果你 删除此组件,粒子的运动没有预先记忆 虔诚的运动方向,它将始终探索一个找到的解决方案。 另一方面,如果使用速度分量,或者甚至乘以w (惯性重量,平衡动量分量的重要性)因素 粒子将倾向于探索搜索空间的新区域,因为它不能 轻松地将其速度转向最佳解决方案。它必须首先“抵消” 以前获得的势头,这样做可以探索新的 有时间的地区\花费抵消“以前的势头。这个变量 通过将先前的速度分量乘以权重来实现 价值,w。“
但我无法想象这是如何发生在物理或数字上以及这个因素如何影响从探索水平到剥削水平,所以需要一个数值例子来看它是如何工作的并想象它是如何工作的。
另外,在遗传算法中,有一个模式定理,它证明了GA成功找到最优解,是否存在PSO的这种理论。
答案 0 :(得分:3)
使用数学来解释PSO并不容易(例如参见维基百科文章)。 但你可以这样思考:方程有3个部分:
particle speed = inertia + local memory + global memory
因此,您可以通过改变每个部分的系数来控制这些组件的“重要性”。 除非你使stocastic部分保持不变并忽略粒子 - 粒子相互作用之类的东西,否则没有分析方法可以看到这一点。
漏洞利用:利用最知名的解决方案(本地和全球) 探索:搜索新方向,但不要忽视最了解的解决方案。
简而言之,您可以控制对粒子当前速度(惯性),最佳已知解决方案的粒子记忆以及群体最佳知识解决方案的粒子记忆的重要性。
我希望它可以帮到你! BR的
答案 1 :(得分:1)
惯性不是Kennedy和Eberhart在1995年引入的原始PSO算法的一部分。在Shi和Eberhart发布此扩展并且(在某种程度上)表明它更好地工作已经三年了。
可以将该值设置为常量(假设[0.8到1.2]最好)。 然而,参数的重点是平衡空间的开发和探索,以及 当作者用线性函数定义参数时,作者得到了最好的结果,随着时间从[1.4到0]减小。 他们的理由是,第一个人应该利用解决方案找到一个好种子,然后利用种子周围的区域。
我的感觉是,你越接近0,粒子就越混乱。
有关详细答案,请参阅Shi,Eberhart 1998 - “改良粒子群优化器”。
答案 2 :(得分:1)
惯性控制先前速度的影响。
当认知度和社交成分较高时,它们的相关性就会降低。 (粒子继续前进,探索空间的新部分)
当处于低水平时,粒子会更好地探索发现了迄今为止最佳的空间
惯性会随着时间变化:从高开始,然后减小