優化算法學習---PSO(粒子群優化算法)

github代碼地址:https://github.com/BecauseY/optimization-algorithm

算法介紹

PSO是粒子群優化算法(——Particle Swarm Optimization)的英文縮寫,是一種基于種群的隨機優化技術,由Eberhart和Kennedy于1995年提出。粒子群算法模仿昆蟲、獸群、鳥群和魚群等的群集行為,這些群體按照一種合作的方式尋找食物,群體中的每個成員通過學習它自身的經驗和其他成員的經驗來不斷改變其搜索模式。

算法流程

首先說一下參數,有一個種群的概念,種群中每一個個體都可以看作問題的一個解,這個解通過更新自己來最終得到最優解。每一個解可以看作一個鳥(或者一個粒子),所有的鳥都在一個n維空間進行搜索,每個鳥都有一個位置和速度,這個位置就是問題的解。通過適應性函數來判斷目前位置的好壞,然后更新自己的位置和速度。
該算法是每個鳥向自己的歷史最優解(最佳位置)和所有鳥的歷史最優解(最佳位置)進行學習的,通過以下公式可以看出:

t時刻到t+1時刻的速度:


速度更新

下一時刻位置:


位置更新

參數解釋

算法流程圖
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • [->點擊訪問個人博客,相互交流學習<-](https://jackhcc.github.io/) 1 研究背景 ...
    JackHCC閱讀 1,678評論 0 2
  • 0?前言 ??本系列文章主要針對粒子群算法進行介紹和運用,并給出粒子群算法的經典案例,從而進一步加深對粒子群算法的...
    Bocchi閱讀 6,281評論 0 11
  • 算法背景 粒子群算法(particle swarm optimization,PSO)是計算智能領域中的一種生物啟...
    Muggle01閱讀 4,391評論 0 5
  • 很久沒有很正式的讀書了,而且還被要求寫讀書感悟,很有點又回到學校完成老師作業的感受。 但是,拿到這本《從你的全世界...
    無邊的藍海閱讀 627評論 0 0
  • “嗯,你說的,不對!我的耳朵就輕易被捏不紅,所以,你還是害羞了!” “我沒有,就是被你捏紅的!” “好,那你捏我的...
    基尼小南瓜閱讀 547評論 0 4