人工智能粒子群优化三大算法

粒子群优化是以邻域原理(neighborhood principle)为基础进行操作的,该原理来源于社会网络结构研究中。驱动粒子群优化的特性是社会交互作用。群中的个体(粒子)相互学习,而且基于获得的知识移动到更相似于它们的、较好的邻近区域。邻域内的个体进行相互通信。

群是由粒子的集合组成的,而每个粒子代表一个潜在的解答。粒子在超空间流动,每个粒子的位置按照其经验和邻近粒子的位置而发生变化。速度矢量推动优化过程,并反映出社会所交换的信息。下面简单介绍一下三种不同的粒子群优化算法,它们对社会信息交换扩展程度是不同的。

个体最佳算法

1.个体最佳算法

对于个体最佳(individual best)算法,每一个体只把它的当前位置与自己的最佳位置pbest相比较,而不使用其他粒子的信息。具体算法如下:

(1)对粒子群P(t)初始化,使得t=0时每个粒子P∈P(t)在超空间中的位置X(t)是随机的。

(2)通过每个粒子的当前位置评价其性能f。

(3)比较每个个体的当前性能与其至今有过的最佳性能。

(4)改变每个粒子的速度矢量。

(5)转回第(2)步,重复递归直至收敛。

上述算法中粒子离开其先前发现的最佳解答越远,使该粒子(个体)移回它的最佳解答所需要的速度就越大。随机值P的上限为用户规定的系统参数。p的上限越大,粒子轨迹振荡就越大。较小的P值能够保证粒子的平滑轨迹。

全局最佳算法

2.全局最佳算法

对于全局最佳(global best)算法,粒子群的全局优化方案gbest反映出一种被称为星形(stan)的邻域拓扑结构。在该结构中,每个粒子能与其他粒子(个体)进行通信,形成一个全连接的社会网络。用于驱动各粒子移动的社会知识包括全群中选出的最佳粒子位置,此外,每个粒子还根据先前已发现的最好的解答来运用它的历史经验。

对于全局最佳算法,粒子离开全局最佳位置和它自己的最佳解答越远,使该粒子回到它的最佳解答所需的速度变化也越大。

3.局部最佳算法

局部最佳(local best)算法用粒子群优化的最佳方案lbest反映一种称为环形(ring)的邻域拓扑结构。该结构中每个粒子与它的n个中间邻近粒子通信。如果n=2,那么一个粒子与它的中间相邻粒子的通信如下图所示。粒子受它们邻域的最佳位置和自己过去经验的影响。

局部最佳算法

以上三种算法的第(2)步检测各粒子的性能。其中,采用一个函数来测量相应解答与最佳解答的接近度。在进化计算中,称这种接近度为适应度函数。

粒子群优化已用于求解非线性函数的极大值和极小值,也成功地应用于神经网络训练。这时,每个粒子表示一个权矢量,代表一个神经网络。粒子群优化也成功地应用于人体颤抖分析,以便诊断帕金森(Parkinson)疾病。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190122A0EFAI00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券