粒子群算法粗解——如何形象理解粒子群算法

2020-12-03 研究生樂園

今天給大家介紹一種優化算法。

粒子群優化算法,也叫作鳥群算法,英文簡稱PSO算法。

現在假設這樣一個問題,在一個空間內,有一定數量的鳥群,在這個空間中的某個位置存放了食物,但是鳥群中的鳥不知道什麼位置存放了食物,僅知道其當前位置與食物的距離,問題就是我們的鳥群需要在最快的時間內找到食物的位置。

算法是這樣定義的,首先對於鳥群中的鳥,其所擁有的變量有三個,第一,是其當前的位置信息。第二,是其速度,這個速度(包含速度大小和速度方向)就決定了下一時刻該鳥的位置。然後,對於鳥群中的每個鳥,其在搜尋食物過中所經歷的最好位置(也就是距離食物的最近位置)記為pbest;對於整個種群,其每次整體遷移的過程中,總會有一個鳥距離食物的距離最近,那麼我們記這個鳥在這一時刻的位置為gbest。其次,對於速度的定義是這樣的

其中這個i就是第i個小鳥。

對於這裡的一些名詞,我們簡單解釋一下:

w 為非負數,稱為慣性因子。

c1和c2稱為加速常數。c1c1是根據個體自身的經驗進行判斷的常數;c2c2根據群體的經驗

r1和r2為[0,1]範圍內變換的隨機數。

a 稱為約束因子,目的是控制速度的權重。

然後我們取單位時間,那麼下一時刻的位置就變成了上一時刻的位置加上一時刻的速度。

最後,粒子的位置坐標對應於所求的目標函數的函數值,也就是適應度值。粒子群中的粒子中適應度值最好的那個粒子的坐標就是目標函數的解。

基於這些,我們的鳥群就可以找到食物了。

現在讓我們化身為鳥群裡的小鳥,來進行一次搜尋食物之旅。

假設現在有三隻小鳥:

第一隻叫坤坤,第二隻叫凡凡,第三隻叫帶帶大師兄。

現在進行搜索,凡凡,坤坤,大師兄,在森林裡漫無目的的飛啊飛。

每隔一段時間,坤坤,凡凡還有大師兄拿出手機互通電話,共享各自的位置。

然後坤坤和凡凡發現大師兄距離食物最近,就決定向大師兄那個方向飛去。

就這樣,坤坤和凡凡準備開始向大師兄靠攏。

但是凡凡想起來自己有一次的位置比大師兄現在的這個位置更好,他不知道怎麼辦,所以三個人就在微信群裡商量,就有了上面的速度公式。

然後,經過不斷的調整,三隻鳥兒會向食物方向聚集,達到目標。

對於我們的實際應用來說,我現在有一個需要優化的函數(一般是優化函數的最小值),有五個自變量,那麼我們的每個鳥兒的位置就會有五個,每個鳥兒的速度也會有五個,那麼我們的適應值就是將五個自變量帶入優化函數所得到的函數值。鳥群一共有三隻鳥,那麼我的鳥群所構成的數組就是一個三行五列的數組。

以下是粒子群的算法流程:

相關焦點

  • MATLAB數學建模(六) | 粒子群優化(PSO)算法講解 (上)
    本次推文B站視頻講解連結:https://b23.tv/ZurR5V粒子群優化算法顧名思義是一種群智能優化算法,在使用PSO求解問題時,每一個粒子可以被看做問題的一個解。既然是PSO是智能優化算法,那麼在搜索問題解的過程中,PSO一定會存在其與其它智能優化算法不同的地方,PSO的獨特之處主要在於PSO是通過全局更新與個體更新相結合的方式更新粒子的位置。粒子群中包含若干個粒子,粒子群中的粒子在搜索過程中通過若干次迭代,不斷更新粒子位置最終完成搜索,以找到最終的解。
  • 基於粒子群優化算法的結構可靠度敏感性分析方法:相對收斂率
    中文摘要:目的:採用粒子群優化算法(PSO)提高可靠指標計算效率,探討PSO求解過程中粒子群在不同維上統計特性及其收斂速率表徵的物理含義,研究優化過程中粒子收斂速率與隨機變量敏感性的關係,提出可靠度敏感性分析新方法。
  • 粒子群算法matlab源程序function
    % FUNCTION PSO ---USE Particle Swarm Optimization Algorithm %global present; % close all; pop_size = 10; % pop_size 種群大小part_size = 2; % part_size 粒子大小
  • 一種元啟發式算法--海島算法
    受該現象啟發,提出一種元啟發式算法,海島算法(Island Algorithm IA)。海島算法在每次迭代中包含三個階段,淘汰階段,海平面上升階段,平衡階段。圖1  三階段關係圖淘汰階段主要的任務是根據海島範圍的變化量來產生本次迭代需要淘汰植物的個數,即淘汰個數N,由淘汰函數完成,為當前迭代的海平面上升階段做準備。
  • 淺析基於優化算法的能量管理控制策略(二)
    ,NN)滑模控制(Sliding ModeControl,SMC)無導數優化算法——模擬退火(Simulated Annealing,SA)無導數優化算法——遺傳算法(Genetic Algorithm,GA)無導數優化算法——粒子群算法(Particle Swarm Optimization,PSO)無導數優化算法——DIRECT
  • 基於MOPSO-SA混合算法的礦山微震震源定位方法
    因此,如何有效提升煤礦 微 震 震 源 定 位 精 度 是 目 前 面 臨 的 一 個 重 大問題 。目前,主要的煤礦微震震源定位方法是反演法。該方法通過震源檢波探測器接收震源初至時刻來反演震源的位置,包括非啟發式和啟發式 2 種 。 非啟發式方法主要包括牛頓法、擬牛頓法和梯度下降法等。
  • 基本粒子如何相互作用?
    本文參加百家號科學#了不起的基礎科學#系列徵文在過去的幾十年裡,計算機能力的指數級增長,以及隨之而來的算法質量提高,使得理論物理學家和粒子物理學家能夠對基本粒子及其相互作用進行更複雜、更精確的模擬。德國美因茨亥姆霍茲研究所的物理學家馬可·切(Marco Ce)現在在EPJ Plus上發表了一項新研究:描述了一種模擬「大」粒子群的技術(至少以粒子物理學的標準來看)。提高了信噪比,提高了模擬精度;至關重要的是,還可以用來模擬重子的整體:包括構成原子核的質子和中子在內的一類基本粒子。
  • 啟發式算法分類 - CSDN
    下面是一些學習到的算法,有些沒有具體用到,所以只是概念的解釋,方便自己以後回憶。一、粒子群算法1.1基本思想粒子群算法是模擬群體智能所建立起來的一種優化算法,粒子群算法可以用鳥類在一個空間內隨機覓食為例,所有的鳥都不知道食物具體在哪裡,但是他們知道大概距離多遠,最簡單有效的方法就是搜尋目前離食物最近的鳥的周圍區域。
  • 粒子群間有非常強的耦合能,被束縛的粒子間可以視為兩堆
    在x射線隧道顯微鏡下,粒子群間有非常強的耦合能,被束縛的粒子間可以視為兩堆。從觀察角度而言,你在x射線隧道顯微鏡下看到的粒子是兩堆的效果。核聚變裡面電子是即使間隔很長的距離相互作用的粒子數量遠多於整個宇宙所以距離很遠的兩個粒子,相互作用粒子數一定是比鄰近的粒子數少的。
  • 如何利用光量子不確定性發現新的粒子?
    根據歐洲量子理論協會的說法,20世紀以來的學術科學進展,特別是宇宙學和量子統計物理方面的發展,都是對電磁現象(廣義的電磁現象包括力學和量子物理)的理解,而對量子物理科學應用的重要貢獻,則是量子物理學的電子物理學、量子材料學、系統化的量子力學學說、量子信息和量子計算。全世界使用量子計算機運行的超過60%的計算結果都是在統計意義上的不確定性原理的不穩定情況下產生的。
  • [算法系列]最優化問題綜述
    兩者的關係可以這樣理解:隨機梯度下降方法以損失很小的一部分精確度和增加一定數量的迭代次數為代價,換取了總體的優化效率的提升。增加的迭代次數遠遠小於樣本的數量。  對批量梯度下降法和隨機梯度下降法的總結:  批量梯度下降---最小化所有訓練樣本的損失函數,使得最終求解的是全局的最優解,即求解的參數是使得風險函數最小,但是對於大規模樣本問題效率低下。
  • 技術篇:蟻群算法實例解析
    在我們做研究的的時候會用到很多群智能算法用於尋優,比如遺傳算法、魚群算法、粒子群算法、還有咱們今天要講的蟻群算法。而距離長的路正相反,因此越來越多的螞蟻聚集到最短路徑上來,我們下圖可以形象的表示蟻群算法的中心思想。
  • 人工智慧大顯神通,實現用機器學習算法:簡化粒子加速器的操作!
    直線加速器相干光源從巨型線性粒子加速器產生的高能電子束中產生超亮X射線。直線加速器相干光源的實驗日以繼夜地進行,每天有兩個12小時的輪班。 這就是為什麼SLAC國家加速器實驗室的研究人員,決定開發一種新的算法,將人工智慧機器學習,學習如何隨著時間推移變得更好的「智能」電腦程式,與加速器的物理知識相結合。
  • 合肥研究院圍繞近紅外光譜分析技術提出變量選擇算法
    近期,中國科學院合肥物質科學研究院智能機械研究所離子束生物工程與綠色農業研究中心研究員吳躍進課題組圍繞近紅外光譜分析技術,提出基於組合移動窗口和智能優化算法相結合的變量選擇算法。該研究改進傳統粒子群算法(PSO),提出變維度的粒子群算法(VDPSO),結合組合移動窗口策略,實現光譜數據變量的快速選擇。該算法可在不同維度搜索數據空間,降低限入局部極值和過擬合的風險。
  • 到底什麼是粒子?
    教授進來,看著學生們問道:「什麼是粒子?」一位提前預習過課程的同學答道:「龐加萊群的一個不可約表示。」教授把定義當作常識,跳過任何解釋,開始了一系列令人費解的課程。「整個學期我都沒有從這門課上學到任何東西。」這是懂行的人有深度的標準答案:粒子是「對稱群」的「表示」(對稱群是對稱變換的集合)。
  • 【直播筆記】上帝粒子是如何被發現的?
    一個粒子如果與希格斯場有相互作用,則它的運動受到了阻礙,無法以光速進行運動,從而表現得有質量。所以質量的大小其實就是希格斯場阻礙粒子以光速運動的強烈程度。問題2(用戶@誰是恩和d膜):伽羅瓦群的子集是 李群嗎?李群的子集是su3嗎?
  • 粒子到底是什麼?
    可是粒子有電荷、質量等不同的特性,而一個不佔據物理空間的點如何攜帶質量呢?粒子是「對稱群」的「表示」。因此,粒子物理學的標準模型——描述所有已知基本粒子及其相互作用的量子場論——通常被稱為是表示 SU(3)×SU(2)×U(1) 對稱群,它包含三個子群的對稱操作的所有組合。(顯然,粒子也在龐加萊群下變換。)
  • 麻雀算法
    接上次的粒子群算法,這次更新2020年提出的最新的優化算法-麻雀算法。優化問題是科學研究和工程實踐領域中的熱門問題。智能優化算法大多是受到人類智能、生物群體社會性或自然現象規律的啟發,在解空間內進行全局優化。麻雀算法於2020年由薛建凱[1]首次提出,是基於麻雀種群的覓食和反捕食行為的一種新型智能優化算法。
  • 地震群是如何產生的?
    地震群是如何產生當長期被摩擦力固定在原地的地殼突然滑落、顛簸時,地震會突然爆,發出地動山搖的能量其中最主要的未知數是流體和壓力如何沿著斷層遷移,以及如何導致斷層滑動。鄧納姆和同事開發的一個新的基於物理學的斷層模型提供了一些答案。該模型顯示了流體如何通過配合抬升,逐漸削弱斷層。在大地震發生前的幾十年裡,它們似乎將邊界或鎖定深度向上推進了一兩英裡。
  • 為你揭秘,希格斯玻色子如何賦予粒子質量
    該理論模型為了解基本粒子和宇宙間的力搭構了理解框架,這個永恆框架就是我們口中的「標準模型」,其中最主要的是「希格斯場」,它無處不在,賦予粒子質量。量子力學中存在波粒二象性,因此希格斯場中也有與之相關的基本粒子,也即希格斯玻色子。