粒子群優化是以鄰域原理(neighborhood principle)為基礎進行操作的,該原理來源於社會網絡結構研究中。驅動粒子群優化的特性是社會交互作用。群中的個體(粒子)相互學習,而且基於獲得的知識移動到更相似於它們的、較好的鄰近區域。鄰域內的個體進行相互通信。
群是由粒子的集合組成的,而每個粒子代表一個潛在的解答。粒子在超空間流動,每個粒子的位置按照其經驗和鄰近粒子的位置而發生變化。速度矢量推動優化過程,並反映出社會所交換的信息。下面簡單介紹一下三種不同的粒子群優化算法,它們對社會信息交換擴展程度是不同的。
![人工智能粒子群優化三大算法](http://p2.ttnews.xyz/loading.gif)
粒子群優化算法
1.個體最佳算法
對於個體最佳(individual best)算法,每一個體只把它的當前位置與自己的最佳位置pbest相比較,而不使用其他粒子的信息。具體算法如下:
(1)對粒子群P(t)初始化,使得t=0時每個粒子P∈P(t)在超空間中的位置X(t)是隨機的。
(2)通過每個粒子的當前位置評價其性能f。
(3)比較每個個體的當前性能與其至今有過的最佳性能。
(4)改變每個粒子的速度矢量。
(5)轉回第(2)步,重複遞歸直至收斂。
上述算法中粒子離開其先前發現的最佳解答越遠,使該粒子(個體)移回它的最佳解答所需要的速度就越大。隨機值P的上限為用戶規定的系統參數。p的上限越大,粒子軌跡振盪就越大。較小的P值能夠保證粒子的平滑軌跡。
![人工智能粒子群優化三大算法](http://p2.ttnews.xyz/loading.gif)
粒子群優化算法
2.全局最佳算法
對於全局最佳(global best)算法,粒子群的全局優化方案gbest反映出一種被稱為星形(stan)的鄰域拓撲結構。在該結構中,每個粒子能與其他粒子(個體)進行通信,形成一個全連接的社會網絡。用於驅動各粒子移動的社會知識包括全群中選出的最佳粒子位置,此外,每個粒子還根據先前已發現的最好的解答來運用它的歷史經驗。
對於全局最佳算法,粒子離開全局最佳位置和它自己的最佳解答越遠,使該粒子回到它的最佳解答所需的速度變化也越大。
3.局部最佳算法
局部最佳(local best)算法用粒子群優化的最佳方案lbest反映一種稱為環形(ring)的鄰域拓撲結構。該結構中每個粒子與它的n箇中間鄰近粒子通信。如果n=2,那麼一個粒子與它的中間相鄰粒子的通信如下圖所示。粒子受它們鄰域的最佳位置和自己過去經驗的影響。
粒子群優化算法
以上三種算法的第(2)步檢測各粒子的性能。其中,採用一個函數來測量相應解答與最佳解答的接近度。在進化計算中,稱這種接近度為適應度函數。
粒子群優化已用於求解非線性函數的極大值和極小值,也成功地應用於神經網絡訓練。這時,每個粒子表示一個權矢量,代表一個神經網絡。粒子群優化也成功地應用於人體顫抖分析,以便診斷帕金森(Parkinson)疾病。
閱讀更多 同花順智能語音機器人 的文章