-
當(dāng)前位置:首頁(yè) > 創(chuàng)意學(xué)院 > 技術(shù) > 專題列表 > 正文
粒子群算法是什么(粒子群算法是什么對(duì)種群進(jìn)行隨機(jī)初始化處理)
大家好!今天讓創(chuàng)意嶺的小編來(lái)大家介紹下關(guān)于粒子群算法是什么的問(wèn)題,以下是小編對(duì)此問(wèn)題的歸納整理,讓我們一起來(lái)看看吧。
開(kāi)始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫(xiě)出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁(yè)版、PC客戶端
官網(wǎng):https://ai.de1919.com。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請(qǐng)撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、粒子群算法的優(yōu)缺點(diǎn)
優(yōu)點(diǎn):PSO同遺傳算法類似,是一種基于迭代的優(yōu)化算法。系統(tǒng)初始化為一組隨機(jī)解,通過(guò)迭代搜尋最優(yōu)值。同遺傳算法比較,PSO的優(yōu)勢(shì)在于簡(jiǎn)單容易實(shí)現(xiàn),并且沒(méi)有許多參數(shù)需要調(diào)整。
缺點(diǎn):在某些問(wèn)題上性能并不是特別好。網(wǎng)絡(luò)權(quán)重的編碼而且遺傳算子的選擇有時(shí)比較麻煩。最近已經(jīng)有一些利用PSO來(lái)代替反向傳播算法來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò)的論文。
擴(kuò)展資料:
注意事項(xiàng):
基礎(chǔ)粒子群算法步驟較為簡(jiǎn)單。粒子群優(yōu)化算法是由一組粒子在搜索空間中運(yùn)動(dòng),受其自身的最佳過(guò)去位置pbest和整個(gè)群或近鄰的最佳過(guò)去位置gbest的影響。
對(duì)于有些改進(jìn)算法,在速度更新公式最后一項(xiàng)會(huì)加入一個(gè)隨機(jī)項(xiàng),來(lái)平衡收斂速度與避免早熟。并且根據(jù)位置更新公式的特點(diǎn),粒子群算法更適合求解連續(xù)優(yōu)化問(wèn)題。
參考資料來(lái)源:百度百科-粒子群算法
二、優(yōu)化算法筆記(五)粒子群算法(3)
(已合并本篇內(nèi)容至粒子群算法(1))
上一節(jié)中,我們看到小鳥(niǎo)們聚集到一個(gè)較小的范圍內(nèi)后,不會(huì)再繼續(xù)集中。這是怎么回事呢?
猜測(cè):
1.與最大速度限制有關(guān),權(quán)重w只是方便動(dòng)態(tài)修改maxV。
2.與C1和C2有關(guān),這兩個(gè)權(quán)重限制了鳥(niǎo)兒的搜索行為。
還是上一節(jié)的實(shí)驗(yàn), ?,F(xiàn)在我們將maxV的值有5修改為50,即maxV=50,其他參數(shù)不變。參數(shù)如下
此時(shí)得到的最優(yōu)位值的適應(yīng)度函數(shù)值為0.25571,可以看出與maxV=5相比,結(jié)果差了很多而且小鳥(niǎo)們聚集的范圍更大了。
現(xiàn)在我們?cè)O(shè)置maxV=1,再次重復(fù)上面的實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如下:
這次最終的適應(yīng)度函數(shù)值為,比之前的結(jié)果都要好0.00273。從圖中我們可以看出,小鳥(niǎo)們?cè)谙蛞粋€(gè)點(diǎn)集中,但是他們飛行的速度比之前慢多了,如果問(wèn)題更復(fù)雜,可能無(wú)法等到它們聚集到一個(gè)點(diǎn),迭代就結(jié)束了。
為什么maxV會(huì)影響鳥(niǎo)群的搜索結(jié)果呢?
我們依然以maxV=50為例,不過(guò)這次為了看的更加清晰,我們的鳥(niǎo)群只有2只鳥(niǎo),同時(shí)將幀數(shù)放慢5倍以便觀察。
思路一:限制鳥(niǎo)的最大飛行速率,由于慣性系數(shù)W的存在,使得控制最大速率和控制慣性系數(shù)的效果是等價(jià)的,取其一即可。
方案1:使慣性系數(shù)隨著迭代次數(shù)增加而降低,這里使用的是線性下降的方式,即在第1次迭代,慣性系數(shù)W=1,最后一次迭代時(shí),慣性系數(shù)W=0,當(dāng)然,也可以根據(jù)自己的意愿取其他值。
實(shí)驗(yàn)參數(shù)如下:
小鳥(niǎo)們的飛行過(guò)程如上圖,可以看到效果很好,最后甚至都聚集到了一個(gè)點(diǎn)。再看看最終的適應(yīng)度函數(shù)值8.61666413451519E-17,這已經(jīng)是一個(gè)相當(dāng)精確的值了,說(shuō)明這是一個(gè)可行的方案,但是由于其最后種群過(guò)于集中,有陷入局部最優(yōu)的風(fēng)險(xiǎn)。
方案2:給每只鳥(niǎo)一個(gè)隨機(jī)的慣性系數(shù),那么鳥(niǎo)的飛行軌跡也將不再像之前會(huì)出現(xiàn)周期性。每只鳥(niǎo)的慣性系數(shù)W為(0,2)中的隨機(jī)數(shù)(保持W的期望為1)。
實(shí)驗(yàn)參數(shù)如下:
可以看到小鳥(niǎo)們并沒(méi)有像上一個(gè)實(shí)驗(yàn)一樣聚集于一個(gè)點(diǎn),而是仍在一個(gè)較大的范圍內(nèi)進(jìn)行搜索。其最終的適應(yīng)度函數(shù)為0.01176,比最初的0.25571稍有提升,但并不顯著。什么原因造成了這種情況呢?我想可能是由于慣性系數(shù)成了期望為1的隨機(jī)數(shù),那么小鳥(niǎo)的飛行軌跡的期望可能仍然是繞著一個(gè)四邊形循環(huán),只不過(guò)這個(gè)四邊形相比之前的平行四邊形更加復(fù)雜,所以其結(jié)果也稍有提升,當(dāng)然對(duì)于概率算法,得到這樣的結(jié)果可能僅僅是因?yàn)檫\(yùn)氣不好
我們看到慣性系數(shù)W值減小,小鳥(niǎo)們聚攏到一處的速度明顯提升,那么,如果我們?nèi)サ魬T性系數(shù)這個(gè)參數(shù)會(huì)怎么樣呢。
方案3:取出慣性系數(shù),即取W=0,小鳥(niǎo)們只向著那兩個(gè)最優(yōu)位置飛行。
可以看見(jiàn)鳥(niǎo)群們迅速聚集到了一個(gè)點(diǎn),再看看得到的結(jié)果,最終的適應(yīng)度函數(shù)值為2.9086886073362966E-30,明顯優(yōu)于之前的所有操作。
那么問(wèn)題來(lái)了,為什么粒子群算法需要一個(gè)慣性速度,它的作用是什么呢?其實(shí)很明顯,當(dāng)鳥(niǎo)群迅速集中到了一個(gè)點(diǎn)之后它們就喪失了全局的搜索能力,所有的鳥(niǎo)會(huì)迅速向著全局最優(yōu)點(diǎn)飛去,如果當(dāng)前的全局最優(yōu)解是一個(gè)局部最優(yōu)點(diǎn),那么鳥(niǎo)群將會(huì)陷入局部最優(yōu)。所以,慣性系數(shù)和慣性速度的作用是給鳥(niǎo)群提供跳出局部最優(yōu)的可能性,獲得這個(gè)跳出局部最優(yōu)能力的代價(jià)是它們的收斂速度減慢,且局部的搜索能力較弱(與當(dāng)前的慣性速度有關(guān))。
為了平衡局部搜索能力和跳出局部最優(yōu)能力,我們可以人為的干預(yù)一下慣性系數(shù)W的大小,結(jié)合方案1和方案2,我們可以使每只鳥(niǎo)的慣性系數(shù)以一個(gè)隨機(jī)周期,周期性下降,若小于0,則重置為初始值。
這樣結(jié)合了方案1和方案2的慣性系數(shù),也能得到不錯(cuò)的效果,大家可以自己一試。
思路二:改變小鳥(niǎo)們向群體最優(yōu)飛行和向歷史最優(yōu)飛行的權(quán)重。
方案4:讓小鳥(niǎo)向全局最優(yōu)飛行的系數(shù)C2線性遞減。
小鳥(niǎo)們的飛行過(guò)程與之前好像沒(méi)什么變化,我甚至懷疑我做了假實(shí)驗(yàn)。看看最終結(jié)果,0.7267249621552874,這是到目前為止的最差結(jié)果。看來(lái)這不是一個(gè)好方案,讓全局學(xué)習(xí)因子C2遞減,勢(shì)必會(huì)降低算法的收斂效率,而慣性系數(shù)還是那么大,小鳥(niǎo)們依然會(huì)圍繞歷史最優(yōu)位置打轉(zhuǎn),畢竟這兩個(gè)最優(yōu)位置是有一定關(guān)聯(lián)的。所以讓C1線性遞減的實(shí)驗(yàn)也不必做了,其效果應(yīng)該與方案4相差不大。
看來(lái)只要是慣性系數(shù)不變?cè)趺葱薷腃1和C2都不會(huì)有太過(guò)明顯的效果。為什么實(shí)驗(yàn)都是參數(shù)遞減,卻沒(méi)有參數(shù)遞增的實(shí)驗(yàn)?zāi)兀?/p>
1.慣性系數(shù)W必須遞減,因?yàn)樗鼤?huì)影響鳥(niǎo)群的搜索范圍。
2.如果C1和C2遞增,那么小鳥(niǎo)的慣性速度V勢(shì)必會(huì)跟著遞增,這與W遞增會(huì)產(chǎn)生相同的效果。
上面我們通過(guò)一些實(shí)驗(yàn)及理論分析了粒子群算法的特點(diǎn)及其參數(shù)的作用。粒子群作為優(yōu)化算法中模型最簡(jiǎn)單的算法,通過(guò)修改這幾個(gè)簡(jiǎn)單的參數(shù)也能夠改變算法的優(yōu)化性能可以說(shuō)是一個(gè)非常優(yōu)秀的算法。
上述實(shí)驗(yàn)中,我們僅分析了單個(gè)參數(shù)對(duì)算法的影響,實(shí)際使用時(shí)(創(chuàng)新、發(fā)明、寫(xiě)論文時(shí))也會(huì)同時(shí)動(dòng)態(tài)改變多個(gè)參數(shù),甚至是參數(shù)之間產(chǎn)生關(guān)聯(lián)。
實(shí)驗(yàn)中,為了展現(xiàn)實(shí)驗(yàn)效果,maxV取值較大,一般取值為搜索空間范圍的10%-20%,按上面(-100,100)的范圍maxV應(yīng)該取值為20-40,在此基礎(chǔ)上,方案1、方案2效果應(yīng)該會(huì)更好。
粒子群算法是一種概率算法,所以并不能使用一次實(shí)驗(yàn)結(jié)果來(lái)判斷算法的性能,我們需要進(jìn)行多次實(shí)驗(yàn),然后看看這些實(shí)驗(yàn)的效果最終來(lái)判斷,結(jié)果必須使用多次實(shí)驗(yàn)的統(tǒng)計(jì)數(shù)據(jù)來(lái)說(shuō)明,一般我們都會(huì)重復(fù)實(shí)驗(yàn)30-50次,為了發(fā)論文去做實(shí)驗(yàn)的小伙伴們不要偷懶哦。
粒子群算法的學(xué)習(xí)目前告一段落,如果有什么新的發(fā)現(xiàn),后面繼續(xù)更新哦!
以下指標(biāo)純屬個(gè)人yy,僅供參考
目錄
上一篇 優(yōu)化算法筆記(四)粒子群算法(2)
下一篇 優(yōu)化算法筆記(六)遺傳算法
三、粒子群算法及應(yīng)用的介紹
粒子群算法是一種新的模仿鳥(niǎo)類群體行為的智能優(yōu)化算法,現(xiàn)已成為進(jìn)化算法的一個(gè)新的重要分支。全書(shū)共分為八章,分別論述了基本粒子群算法和改進(jìn)粒子群算法的原理,并且詳細(xì)介紹了粒子群算法在函數(shù)優(yōu)化、圖像壓縮和基因聚類中的應(yīng)用,最后給出了粒子群算法的應(yīng)用綜述和相關(guān)程序代碼。
四、粒子群算法的引言
優(yōu)化問(wèn)題是工業(yè)設(shè)計(jì)中經(jīng)常遇到的問(wèn)題,許多問(wèn)題最后都可以歸結(jié)為優(yōu)化問(wèn)題. 為了解決各種各樣的優(yōu)化問(wèn)題,人們提出了許多優(yōu)化算法,比較著名的有爬山法、遺傳算法、神經(jīng)網(wǎng)絡(luò)算法等. 一是要求尋找全局最優(yōu)點(diǎn),
二是要求有較高的收斂速度. 近年來(lái),一些學(xué)者將PSO算法推廣到約束優(yōu)化問(wèn)題,其關(guān)鍵在于如何處理好約束,即解的可行性。如果約束處理的不好,其優(yōu)化的結(jié)果往往會(huì)出現(xiàn)不能夠收斂和結(jié)果是空集的狀況?;赑SO算法的約束優(yōu)化工作主要分為兩類:
(1)罰函數(shù)法。罰函數(shù)的目的是將約束優(yōu)化問(wèn)題轉(zhuǎn)化成無(wú)約束優(yōu)化問(wèn)題。
(2)將粒子群的搜索范圍都限制在條件約束簇內(nèi),即在可行解范圍內(nèi)尋優(yōu)。
根據(jù)文獻(xiàn)介紹,Parsopoulos等采用罰函數(shù)法,利用非固定多段映射函數(shù)對(duì)約束優(yōu)化問(wèn)題進(jìn)行轉(zhuǎn)化,再利用PSO算法求解轉(zhuǎn)化后問(wèn)題,仿真結(jié)果顯示PSO算法相對(duì)遺傳算法更具有優(yōu)越性,但其罰函數(shù)的設(shè)計(jì)過(guò)于復(fù)雜,不利于求解;Hu等采用可行解保留政策處理約束,即一方面更新存儲(chǔ)中所有粒子時(shí)僅保留可行解,另一方面在初始化階段所有粒子均從可行解空間取值,然而初始可行解空間對(duì)于許多問(wèn)題是很難確定的;Ray等提出了具有多層信息共享策略的粒子群原理來(lái)處理約束,根據(jù)約束矩陣采用多層Pareto排序機(jī)制來(lái)產(chǎn)生優(yōu)良粒子,進(jìn)而用一些優(yōu)良的粒子來(lái)決定其余個(gè)體的搜索方向。
但是,目前有關(guān)運(yùn)用PSO算法方便實(shí)用地處理多約束目標(biāo)優(yōu)化問(wèn)題的理論成果還不多。處理多約束優(yōu)化問(wèn)題的方法有很多,但用PSO算法處理此類問(wèn)題目前技術(shù)并不成熟,這里就不介紹了。 粒子群優(yōu)化算法(PSO)是一種進(jìn)化計(jì)算技術(shù)(evolutionary computation),1995 年由Eberhart 博士和kennedy 博士提出,源于對(duì)鳥(niǎo)群捕食的行為研究 。該算法最初是受到飛鳥(niǎo)集群活動(dòng)的規(guī)律性啟發(fā),進(jìn)而利用群體智能建立的一個(gè)簡(jiǎn)化模型。粒子群算法在對(duì)動(dòng)物集群活動(dòng)行為觀察基礎(chǔ)上,利用群體中的個(gè)體對(duì)信息的共享使整個(gè)群體的運(yùn)動(dòng)在問(wèn)題求解空間中產(chǎn)生從無(wú)序到有序的演化過(guò)程,從而獲得最優(yōu)解。
PSO同遺傳算法類似,是一種基于迭代的優(yōu)化算法。系統(tǒng)初始化為一組隨機(jī)解,通過(guò)迭代搜尋最優(yōu)值。但是它沒(méi)有遺傳算法用的交叉(crossover)以及變異(mutation),而是粒子在解空間追隨最優(yōu)的粒子進(jìn)行搜索。同遺傳算法比較,PSO的優(yōu)勢(shì)在于簡(jiǎn)單容易實(shí)現(xiàn)并且沒(méi)有許多參數(shù)需要調(diào)整。目前已廣泛應(yīng)用于函數(shù)優(yōu)化,神經(jīng)網(wǎng)絡(luò)訓(xùn)練,模糊系統(tǒng)控制以及其他遺傳算法的應(yīng)用領(lǐng)域。
以上就是關(guān)于粒子群算法是什么相關(guān)問(wèn)題的回答。希望能幫到你,如有更多相關(guān)問(wèn)題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。
推薦閱讀:
粒子物理標(biāo)準(zhǔn)模型公式(粒子物理標(biāo)準(zhǔn)模型公式是什么)
標(biāo)準(zhǔn)粒子模型公式(標(biāo)準(zhǔn)粒子模型圖)
字?jǐn)?shù)排行榜(字?jǐn)?shù)最多的小說(shuō)排行榜)