粒子群优化

✍ dations ◷ 2025-02-23 14:12:01 #最优化算法,群集智能

粒子群优化(Particle Swarm Optimization, PSO),又称微粒群算法,是由 J. Kennedy 和 R. C. Eberhart 等于1995年开发的一种演化计算技术,来源于对一个简化社会模型的模拟。其中“群(swarm)”来源于微粒群符合 M. M. Millonas 在开发应用于人工生命(artificial life)的模型时所提出的群体智能的5个基本原则。“粒子(particle)”是一个折衷的选择,因为既需要将群体中的成员描述为没有质量、没有体积的,同时也需要描述它的速度和加速状态。

PSO 算法最初是为了图形化地模拟鸟群优美而不可预测的运动。而通过对动物社会行为的观察,发现在群体中对信息的社会共享提供一个演化的优势,并以此作为开发算法的基础。通过加入近邻的速度匹配、并考虑了多维搜索和根据距离的加速,形成了 PSO 的最初版本。之后引入了惯性权重来更好的控制开发(exploitation)和探索(exploration),形成了标准版本。为了提高粒群算法的性能和实用性,中山大学、(英国)格拉斯哥大学等又开发了自适应(Adaptive PSO)版本和离散(discrete)版本

PSO 算法是基于群体的,根据对环境的适应度将群体中的个体移动到好的区域。然而它不对个体使用演化算子,而是将每个个体看作是 D 维搜索空间中的一个没有体积的微粒(点),在搜索空间中以一定的速度飞行,这个速度根据它本身的飞行经验和同伴的飞行经验来动态调整。第 i 个微粒表示为 Xi =(xi1, xi2, …, xiD) ,它经历过的最好位置(有最好的适应值)记为 Pi = (pi1, pi2, …, piD),也称为 pbest。在群体所有微粒经历过的最好位置的索引号用符号 g 表示,即 Pg,也称为 gbest 。微粒 i 的速度用 Vi = (vi1, vi2, …, viD) 表示。对每一代,它的第 d+1 维(1 ≤ d+1 ≤ D)根据如下方程进行变化:

       vid+1 = w∙vid+c1∙rand()∙(pid-xid)+c2∙Rand()∙(pgd-xid)        (1a)       xid+1 = xid+vid				              (1b)


其中w为惯性权重(inertia weight),c1和c2为加速常数(acceleration constants),rand() 和 Rand() 为两个在范围里变化的随机值。

此外,微粒的速度 Vi 被一个最大速度 Vmax 所限制。如果当前对微粒的加速导致它的在某维的速度 vid 超过该维的最大速度 vmax,d,则该维的速度被限制为该维最大速度 vmax,d

对公式(1a),第一部分为微粒先前行为的惯性,第二部分为“认知(cognition)”部分,表示微粒本身的思考;第三部分为“社会(social)”部分,表示微粒间的信息共享与相互合作。

“认知”部分可以由 Thorndike 的效应法则(law of effect)所解释,即一个得到加强的随机行为在将来更有可能出现。这里的行为即“认知”,并假设获得正确的知识是得到加强的,这样的一个模型假定微粒被激励着去减小误差。

“社会”部分可以由 Bandura 的替代强化(vicarious reinforcement)所解释。根据该理论的预期,当观察者观察到一个模型在加强某一行为时,将增加它实行该行为的几率。即微粒本身的认知将被其它微粒所模仿。

PSO 算法使用如下心理学假设:在寻求一致的认知过程中,个体往往记住自身的信念,并同时考虑同事们的信念。当其察觉同事的信念较好的时候,将进行适应性地调整。

标准 PSO 的算法流程如下:

PSO 参数包括:群体规模 m ,惯性权重 w ,加速常数 c1 和 c2 ,最大速度 Vmax,最大代数 Gmax

Vmax 决定在当前位置与最好位置之间的区域的分辨率(或精度)。如果 Vmax 太高,微粒可能会飞过好解,如果 Vmax 太小,微粒不能进行足够的探索,导致陷入局部优值。该限制有三个目的:防止计算溢出;实现人工学习和态度转变;决定问题空间搜索的粒度。

惯性权重w使微粒保持运动的惯性,使其有扩展搜索空间的趋势,有能力探索新的区域。

加速常数 c1 和 c2 代表将每个微粒推向 pbest 和 gbest 位置的统计加速项的权重。低的值允许微粒在被拉回来之前可以在目标区域外徘徊,而高的值导致微粒突然的冲向或者越过目标区域。

如果没有后两部分,即 c1 = c2 = 0,微粒将一直以当前的速度飞行,直到到达边界。由于它只能搜索有限的区域,将很难找到好的解。

如果没有第一部分,即 w = 0,则速度只取决于微粒当前的位置和它们历史最好位置 pbest 和 gbest ,速度本身没有记忆性。假设一个微粒位于全局最好位置,它将保持静止。而其它微粒则飞向它本身最好位置 pbest 和全局最好位置 gbest 的加权中心。在这种条件下,微粒群将统计的收缩到当前的全局最好位置,更象一个局部算法。

在加上第一部分后,微粒有扩展搜索空间的趋势,即第一部分有全局搜索的能力。这也使得w的作用为针对不同的搜索问题,调整算法全局和局部搜索能力的平衡。

如果没有第二部分,即 c1 = 0,则微粒没有认知能力,也就是“只有社会(social-only)”的模型。在微粒的相互作用下,有能力到达新的搜索空间。它的收敛速度比标准版本更快,但是对复杂问题,比标准版本更容易陷入局部优值点。

如果没有第三部分,即 c2 = 0,则微粒之间没有社会信息共享,也就是“只有认知(cognition-only)”的模型。因为个体间没有交互,一个规模为m的群体等价于m个单个微粒的运行。因而得到解的几率非常小。

收敛性的数学证明帮助了 PSO 的发展和应用, 但此内分析具有很大的局限性. 为 PSO 加入正交学习后,算法的全局收敛、收敛精度及鲁棒可靠性都得到了提高.

相关

  • 针灸针灸是针法和灸法的合体。中医学中采用针刺或火灸人体穴位来治疗疾病,是联合国教科文组织认定的人类非物质文化遗产代表作。根据中医学理论,通过刺激穴位可以改善经络中的气的
  • 狼疮性肾炎狼疮肾炎(Lupus nephritis)是红斑性狼疮(SLE)造成的肾脏炎症,属于一种免疫系统的疾病。除了肾脏,SLE也会损害皮肤、关节、神经系统和在体内的几乎任何器官或系统。狼疮的一般
  • 子实体 (消歧义)子实体(英语:fruiting body)通常是指是高等真菌进行有性生殖的产孢结构,也就是蕈或菇。广义的子实体也可指黏菌与黏细菌(英语:Myxobacteria)用来产生孢子的结构。
  • 消炎抗炎性(英语:Anti-inflammatory)指物质或治疗能减少炎症的特性。消炎药占约止痛药的一半。消炎药以消炎作用来减少疼痛,与鸦片类药物不同,后者影响中枢神经系统以阻断疼痛讯号传
  • 经济、社会及文化权利国际公约《经济、社会及文化权利国际公约》(ICESCR)又称“A公约”,是第2200A (XXI)号决议,它承诺其缔约方致力于向非自治领土和托管领土和个人授予经济、社会、文化权利,包括劳动权和健康
  • 印度学印度学是一门研究印度语言、历史、宗教、哲学的学科。包括研究吠陀经、佛经、耆那教、锡克教、瑜伽、梵文等。世界各大学的印度学系
  • 社会契约社会契约(英语:Social Contract)是一种概念,用以解释个人和政府之间的适当关系。社会契约主张:个人融入政治社会是透过一个相互同意的过程,当中,个人同意遵守共同的规则,并接受相应
  • .mg.mg为马达加斯加国家及地区顶级域(ccTLD)的域名。A .ac .ad .ae .af .ag .ai .al .am .ao .aq .ar .as .at .au .aw .ax .az  B .ba .bb .bd .be .bf .bg .bh .bi .bj .bm
  • 彼德·甘达洛维奇彼德·甘达洛维奇(Petr Gandalovič,1964年—),捷克政治人物,2011年至今捷克驻美国大使。1982–1987年,就读于布拉格查理大学理学院;1990年至1992年,担任捷克斯洛伐克联邦议会议员。
  • 时频分析时频分布是一项让我们能够同时观察一个讯号的时域和频域资讯的工具,而时频分析就是在分析时频分布。传统上,我们常用傅里叶变换来观察一个讯号的频谱。然而,这样的方法不适合用