最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

麻雀算法極限學習機SSA-ELM回歸預測及其MATLAB代碼實現(xiàn)

2022-10-29 11:26 作者:Matlab工程師  | 我要投稿

?作者簡介:熱愛科研的Matlab仿真開發(fā)者,修心和技術同步精進,matlab項目合作可私信。

??個人主頁:Matlab科研工作室

??個人信條:格物致知。

更多Matlab仿真內容點擊??

智能優(yōu)化算法 ?神經(jīng)網(wǎng)絡預測 雷達通信 無線傳感器

信號處理 圖像處理 路徑規(guī)劃 元胞自動機 無人機

? 內容介紹

極限學習機(Extreme Learning Machine, ELM)是近幾年發(fā)展起來的一種有效的新型單隱層前饋神經(jīng)網(wǎng)絡學習算法,和傳統(tǒng)學習算法不同的是,ELM算法的網(wǎng)絡參數(shù)隨機選取,無需調節(jié),輸出權值是通過對平方損失函數(shù)最小化得到的最小二乘解,因此該算法具有較快的學習速度和良好的泛化性能,并在多模式分類,非線性預測等領域得到了廣泛的應用.但是ELM在學習過程中也不可避免的存在眾多缺點,其參數(shù)的隨機選取導致一系列非最優(yōu)參數(shù)的生成,使得所需隱含層節(jié)點數(shù)多于傳統(tǒng)學習算法,影響其泛化性能,并導致系統(tǒng)的病態(tài);在學習過程中僅僅只利用了輸入?yún)?shù)的信息進行計算,而忽略了非常有價值的實際輸出值;將其應用于工業(yè)生產(chǎn)中所得到的精度不能滿足實際的標準等等.針對上述缺點,本文提出了一種對ELM的麻雀搜索算法極限學習機(SSA-ELM)。

1 麻雀搜索算法原理

麻雀搜索算法是一種新型的群智能優(yōu)化算法,?在?2020?年由?Xue?等?[15]?提出,主要是受麻雀的覓食?和反哺食行為啟發(fā),具有尋優(yōu)能力強、收斂速度快的特點。麻雀搜索算法將整個麻雀種群分為三類,即尋找食物的生產(chǎn)者,搶奪食物的加入者和發(fā)現(xiàn)危險的警戒者?。生產(chǎn)者和加入者可以相互轉化,但各自在?種群中的占比不會發(fā)生變化。在模擬實驗中,需要使用虛擬麻雀進行食物的?尋找,與其他尋優(yōu)算法相同,麻雀搜索算法首先需要對麻雀種群與適應度值進行初始化,麻雀種群可?初始化為如下形式,表達式為式(3)?

中:n為麻雀的數(shù)量;d為要優(yōu)化的變量的維度即獨立參數(shù)的數(shù)目;xnd為第n只麻雀第d維度的值。由此,總體麻雀適應度值表征形式為?

式(4)中:f(x)為個體適應度值。適應度值較好的麻雀(即生產(chǎn)者)在搜索中會優(yōu)先獲得食物并指引群體的覓食方向與范圍,與此同時,生產(chǎn)者會具有更大的覓食搜索范圍。生產(chǎn)者在覓食過程中,位置不斷發(fā)生移動,而在遇到捕食者時,移動規(guī)則又會發(fā)生改變,即?

式(5)中:t為當前迭代次數(shù);j∈{1,2,…,d};xit,j為迭代第t次時,第i個麻雀的第j個維度的值;α∈(0,1],為隨機數(shù);iter_max為迭代次數(shù)最多的常數(shù);R2∈[0,1],為報警值;ST∈[0,1],為安全閾值;Q為服從正態(tài)分布的隨機數(shù);L為1×d階矩陣(元素全為1)。R2<ST時,代表該區(qū)域安全,無捕食者出沒,生產(chǎn)者會出現(xiàn)大范圍覓食行為;R2≥ST時,表示一些麻雀發(fā)現(xiàn)了捕食者并發(fā)出警告,所有麻雀迅速飛入安全區(qū)域。而對加入者而言,在覓食過程中,一旦生產(chǎn)者找到了好的食物源,加入者必會知曉,并飛向它的附近搶食,同時,也有加入者會時刻監(jiān)視生產(chǎn)者,隨時準備爭搶食物。由此加入者的位置更新規(guī)則為

式(6)中:xp為生產(chǎn)者占據(jù)的最佳位置;xworst為全局最差位置;A為1×d階矩陣,每個元素隨機為1或-1;A?=AT(AAT)-1。當i>時,表示適應性較差的第i個加入者搶奪食物失敗,為了更好地獲得食物避免挨餓只能飛往其他地區(qū)進行覓食??傮w而言,假設意識到危險的麻雀(即警戒者)占10%~20%。初始位置則隨機產(chǎn)生,規(guī)則為

式(7)中:λ為步長控制函數(shù),是一個均值為0,方差為1的正態(tài)分布隨機數(shù);fi為當前麻雀適應值;fg為全局最好適應值;fw為全局最差適應值;k為麻雀移動方向;xbest為全局最優(yōu)位置;ε為最小常數(shù),避免除數(shù)為零。當fi>fg時,警戒者位于種群邊緣,意識到危險后向中央安全區(qū)靠近;當fi=fg時,則是處于種群中央的麻雀意識到了危險,為躲避危險,則向其他麻雀身邊靠攏。

2 極限學習機

傳統(tǒng)的單隱層神經(jīng)網(wǎng)絡由三部分組成,分別是輸入層、隱含層和輸出層,輸入層神經(jīng)元節(jié)點個數(shù)即輸入變量的個數(shù),隱含層節(jié)點個數(shù)則需要人為給定,輸出層節(jié)點個數(shù)也就是輸出變量的個數(shù)。在2006年,新加坡南洋理工大學的Huang等[16]在傳統(tǒng)的單隱層神經(jīng)網(wǎng)絡的基礎上提出了一種新的前饋神經(jīng)網(wǎng)絡學習算法,命名為極限學習機(extremelearningmachine,ELM),不同于傳統(tǒng)的基于梯度的前饋神經(jīng)網(wǎng)絡算法,該方法隨機產(chǎn)生隱含層與輸入層之間的連接權值及隱含層神經(jīng)元的閾值,訓練過程中只需要設置隱含神經(jīng)元的個數(shù)便可獲得唯一最優(yōu)解,極限學習機網(wǎng)絡結構如圖1所示。

3 麻雀算法優(yōu)化極限學習機

本文采用麻雀搜索算法對其隱含層的初始權值與閾值進行優(yōu)化,具體構建過程可以概述為:確定ELM的輸入與輸出樣本集;確定對ELM初始權值及閾值的編碼方式;隨機采樣產(chǎn)生第一代種群;計算每個個體的適應值,并排序選優(yōu);按照既定規(guī)則更新產(chǎn)生下一代種群直至滿足終止條件為止,終止條件設置為預測值與期望值的誤差矩陣的范數(shù)小于某一設定值。

利用麻雀搜索算法對核極限學習機的兩項參數(shù):核參數(shù)及正則化系數(shù)進行優(yōu)化,得到耦合滑坡預測模型,其實施步驟如下。

步驟1初始化種群。設置麻雀數(shù)量為20,隨機產(chǎn)生初始核參數(shù)及正則化系數(shù),生成種群初始位置。

步驟2確定優(yōu)化參數(shù)的取值范圍。根據(jù)多次實驗,確定核參數(shù)為(-100 100),正則化系數(shù)為(-100 100)。

步驟3建立SSA-KELM耦合模型,計算麻雀個體適應度,對適應度值進行排序,尋找出當前最好和最差的個體。

適應度函數(shù)為式(16)中為真實值;為函數(shù)預測值。

步驟4根據(jù)式式(7)更新麻雀位置。

步驟5獲取新的麻雀位置及個體適應度值,將本輪最優(yōu)適應度值與之前的最優(yōu)適應度值做比較,如果本輪更優(yōu),則更新全局最優(yōu)適應度值與相關位數(shù)。

步驟6循環(huán)結束。當?shù)螖?shù)大于500,則尋優(yōu)過程結束。步驟7得到KELM的最佳訓練參數(shù),模型建立。

? 部分代碼

function [output] = my_map(type, raw_data, raw_data_max, raw_data_min, max, min)

if type ~= 0

? ? output = my_pos_map(raw_data, raw_data_max, raw_data_min, max, min);

end

if type ~= 1?

? ? output = my_rev_map(raw_data, raw_data_max, raw_data_min, max, min);

end

end

function [out] = my_pos_map(raw_data, raw_data_max, raw_data_min, max, min)

? ? for i = 1:length(raw_data')

? ? ? ? out(i) = (max - min) * (raw_data(i) - raw_data_min) / (raw_data_max - raw_data_min) + min;

? ? end

end

function [out] = my_rev_map(raw_data, raw_data_max, raw_data_min, max, min)

? ? for i = 1:length(raw_data')

? ? ? ? out(i) = (raw_data(i) - min) * (raw_data_max - raw_data_min) / (max - min) + raw_data_min;

? ? end

end

? 運行結果



? 參考文獻

[1]馬飛燕, 李向新. 基于改進麻雀搜索算法-核極限學習機耦合算法的滑坡位移預測模型[J]. 科學技術與工程, 2022(022-005).

?? 關注我領取海量matlab電子書和數(shù)學建模資料

??部分理論引用網(wǎng)絡文獻,若有侵權聯(lián)系博主刪除



麻雀算法極限學習機SSA-ELM回歸預測及其MATLAB代碼實現(xiàn)的評論 (共 條)

分享到微博請遵守國家法律
抚州市| 吉木乃县| 谷城县| 元阳县| 磴口县| 本溪市| 喀喇沁旗| 高州市| 南岸区| 洛扎县| 隆安县| 鹤岗市| 公安县| 象州县| 修水县| 彭泽县| 宁津县| 高碑店市| 岢岚县| 新田县| 九寨沟县| 稷山县| 盐源县| 舟山市| 留坝县| 惠州市| 普格县| 荥阳市| 化德县| 沅江市| 济宁市| 桂平市| 论坛| 黄龙县| 上思县| 巴林右旗| 南宫市| 新泰市| 黑龙江省| 宜州市| 聂拉木县|