根據名字: 粒子群優化,其實就界定了該演算法是作為乙個優化演算法的,優化的目的是什麼?使得某個loss 函式最小或者最大吧,這裡可以容易使人聯想到梯度下降求最小值(缺陷較為明顯->有可能在區域性達到最小或者最大,並且不適用於帶約束條件的問題,優點就是:容易實現,演算法思路簡單。),於是我們現在考慮pso,該演算法能夠適應於帶約束條件的問題的求解。
主要參考很容易得出:演算法本身僅僅依賴於函式和約束條件,和之前你使用的任何樣本資料都無關。
演算法如下:
foreach particle i = 1, …, sdo
initialize the particle』s position with a uniformly distributed random vector:xi ~ u(blo,bup)
initialize the particle』s best known position to its initial position:pi ←xi
iff(pi) < f(g)then
update the swarm』s best known position:g←pi
initialize the particle』s velocity:vi ~ u(-|bup-blo|, |bup-blo|)
whilea termination criterion is not metdo:
foreach particle i = 1, …, sdo
foreach dimension d = 1, …, ndo
pick random numbers: r
p, r
g ~ u(0,1)
update the particle』s velocity:vi,d ← ωvi,d + φp
rp (pi,d-xi,d) + φg
rg (gd-xi,d)
update the particle』s position:xi ←xi +lr vi
iff(xi) < f(pi)then
update the particle』s best known position:pi ←xi
iff(pi) < f(g)then
update the swarm』s best known position:g←pi
應用到具體例項中,各個引數的實際意義:
(待實現)
可以先參考:
粒子群(pso)演算法
一 粒子群演算法的概念 粒子群優化演算法 pso particle swarm optimization 是一種進化計算技術 evolutionary computation 源於對鳥群捕食的行為研究。粒子群優化演算法的基本思想 是通過群體中個體之間的協作和資訊共享來尋找最優解 pso的優勢 在於簡...
粒子群演算法 PSO
1995年美國社會心理學家kennedy和電氣工程師eberhart共同提出粒子群優化演算法 particle swarm optimization,pso pso演算法的基本思想利用生物學家heppner的生物群體模型,模擬鳥類覓食過程。鳥類飛行過程相互交流,當乙個鳥飛向棲息地時,其他鳥兒也會跟著...
粒子群優化演算法 PSO
粒子群優化演算法 pso particle swarm optimization 是一種進化計算技術 evolutionary computation 源於對鳥群捕食的行為研究。粒子群優化演算法的基本思想 是通過群體中個體之間的協作和資訊共享來尋找最優解 pso的優勢 在於簡單容易實現並且沒有許多引...