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

粒子群優化是以鄰域原理(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)疾病。


分享到:


相關文章: