【DELM預測】基于海鷗算法改進深度學習極限學習機實現(xiàn)數(shù)據(jù)預測附matlab代碼
1 簡介
人工神經(jīng)網(wǎng)絡的最大缺點是訓練時間太長從而限制其實時應用范圍,近年來,極限學習機(Extreme Learning Machine, ELM)的提出使得前饋神經(jīng)網(wǎng)絡的訓練時間大大縮短,然而當原始數(shù)據(jù)混雜入大量噪聲變量時,或者當輸入數(shù)據(jù)維度非常高時,極限學習機算法的綜合性能會受到很大的影響.深度學習算法的核心是特征映射,它能夠摒除原始數(shù)據(jù)中的噪聲,并且當向低維度空間進行映射時,能夠很好的起到對數(shù)據(jù)降維的作用,因此我們思考利用深度學習的優(yōu)勢特性來彌補極限學習機的弱勢特性從而改善極限學習機的性能.為了進一步提升DELM預測精度,本文采用麻雀搜索算法進一步優(yōu)化DELM超參數(shù),仿真結(jié)果表明,改進算法的預測精度更高。





2 部分代碼
function[Score,Position,Convergence]=SOA(Search_Agents,Max_iterations,Lower_bound,Upper_bound,dimension,objective)
Position=zeros(1,dimension);
Score=inf;
Positions=init(Search_Agents,dimension,Upper_bound,Lower_bound);
Convergence=zeros(1,Max_iterations);
l=0;
while l<Max_iterations
? ?for i=1:size(Positions,1) ?
? ? ? ?
? ? ? ?Flag4Upper_bound=Positions(i,:)>Upper_bound;
? ? ? ?Flag4Lower_bound=Positions(i,:)<Lower_bound;
? ? ? ?Positions(i,:)=(Positions(i,:).*(~(Flag4Upper_bound+Flag4Lower_bound)))+Upper_bound.*Flag4Upper_bound+Lower_bound.*Flag4Lower_bound; ? ? ? ? ? ? ?
? ? ? ?
? ? ? ?fitness=objective(Positions(i,:));
? ? ? ?
? ? ? ?if fitness<Score
? ? ? ? ? ?Score=fitness;
? ? ? ? ? ?Position=Positions(i,:);
? ? ? ?end
? ? ? ?
? ?end
? ?
? ?
? ?Fc=2-l*((2)/Max_iterations);
? ?
? ?for i=1:size(Positions,1)
? ? ? ?for j=1:size(Positions,2) ? ?
? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ?r1=rand();
? ? ? ? ? ?r2=rand();
? ? ? ? ? ?
? ? ? ? ? ?A1=2*Fc*r1-Fc;
? ? ? ? ? ?C1=2*r2;
? ? ? ? ? ?b=1; ? ? ? ? ? ?
? ? ? ? ? ?ll=(Fc-1)*rand()+1; ?
? ? ?
? ? ? ? ? ?D_alphs=Fc*Positions(i,j)+A1*((Position(j)-Positions(i,j))); ? ? ? ? ? ? ? ? ?
? ? ? ? ? ?X1=D_alphs*exp(b.*ll).*cos(ll.*2*pi)+Position(j);
? ? ? ? ? ?Positions(i,j)=X1;
? ? ? ? ? ?
? ? ? ?end
? ?end
? ?l=l+1; ? ?
? ?Convergence(l)=Score;
end
3 仿真結(jié)果



4 參考文獻
[1]馬萌萌. 基于深度學習的極限學習機算法研究[D]. 中國海洋大學, 2015.
博主簡介:擅長智能優(yōu)化算法、神經(jīng)網(wǎng)絡預測、信號處理、元胞自動機、圖像處理、路徑規(guī)劃、無人機等多種領(lǐng)域的Matlab仿真,相關(guān)matlab代碼問題可私信交流。
部分理論引用網(wǎng)絡文獻,若有侵權(quán)聯(lián)系博主刪除。
