【DELM預(yù)測(cè)】基于遺傳算法改進(jìn)深度學(xué)習(xí)極限學(xué)習(xí)機(jī)實(shí)現(xiàn)數(shù)據(jù)預(yù)測(cè)附matlab代碼
【DELM預(yù)測(cè)】基于遺傳算法改進(jìn)深度學(xué)習(xí)極限學(xué)習(xí)機(jī)實(shí)現(xiàn)數(shù)據(jù)預(yù)測(cè)附matlab代碼
TT_Matlab
博主簡(jiǎn)介:擅長(zhǎng)智能優(yōu)化算法、神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)、信號(hào)處理、元胞自動(dòng)機(jī)、圖像處理、路徑規(guī)劃、無人機(jī)等多種領(lǐng)域的Matlab仿真,完整matlab代碼或者程序定制加qq1575304183。
1 簡(jiǎn)介
人工神經(jīng)網(wǎng)絡(luò)的最大缺點(diǎn)是訓(xùn)練時(shí)間太長(zhǎng)從而限制其實(shí)時(shí)應(yīng)用范圍,近年來,極限學(xué)習(xí)機(jī)(Extreme Learning Machine, ELM)的提出使得前饋神經(jīng)網(wǎng)絡(luò)的訓(xùn)練時(shí)間大大縮短,然而當(dāng)原始數(shù)據(jù)混雜入大量噪聲變量時(shí),或者當(dāng)輸入數(shù)據(jù)維度非常高時(shí),極限學(xué)習(xí)機(jī)算法的綜合性能會(huì)受到很大的影響.深度學(xué)習(xí)算法的核心是特征映射,它能夠摒除原始數(shù)據(jù)中的噪聲,并且當(dāng)向低維度空間進(jìn)行映射時(shí),能夠很好的起到對(duì)數(shù)據(jù)降維的作用,因此我們思考利用深度學(xué)習(xí)的優(yōu)勢(shì)特性來彌補(bǔ)極限學(xué)習(xí)機(jī)的弱勢(shì)特性從而改善極限學(xué)習(xí)機(jī)的性能.為了進(jìn)一步提升DELM預(yù)測(cè)精度,本文采用麻雀搜索算法進(jìn)一步優(yōu)化DELM超參數(shù),仿真結(jié)果表明,改進(jìn)算法的預(yù)測(cè)精度更高。
2 部分代碼
%%
GA
clc
% 清屏
clear
all; % 刪除workplace變量
close
all; % 關(guān)掉顯示圖形窗口
warning
off
%%
參數(shù)初始化
popsize
=
50; %種群規(guī)模
lenchrom
=
17; %變量字串長(zhǎng)度
pc
=
0.7; %設(shè)置交叉概率,本例中交叉概率是定值,若想設(shè)置變化的交叉概率可用表達(dá)式表示,或從寫一個(gè)交叉概率函數(shù),例如用神經(jīng)網(wǎng)絡(luò)訓(xùn)練得到的值作為交叉概率
pm
=
0.3; %設(shè)置變異概率,同理也可設(shè)置為變化的
load(’Ereal.mat’)
load(’Freal.mat’)
maxgen
=
500; % 進(jìn)化次數(shù)
%定義弧的權(quán)矩陣和幾點(diǎn)換乘權(quán)矩陣
%種群
popmax
=
9;
popmin
=
1;
popmax2
=
0
popmin2
=
-4
bound
=
[popmin popmax;popmin2 popmax2;popmin popmax;popmin2 popmax2;popmin popmax;popmin2 popmax2;popmin popmax;popmin2 popmax2;popmin popmax;popmin2 popmax2;popmin popmax;popmin2 popmax2;popmin popmax;popmin2 popmax2;popmin popmax;popmin2 popmax2;popmin popmax]; %變量范圍
%%
產(chǎn)生初始粒子和速度
for
i=1:popsize
%隨機(jī)產(chǎn)生一個(gè)種群
GApop(i,
:
)=Code(lenchrom,popmax,bound,E); %隨機(jī)產(chǎn)生個(gè)體,GApop是lenchrom和bound的一個(gè)函數(shù),是100*7的矩陣,GApop(i,:)是1*7的一行數(shù)字,等于是對(duì)每個(gè)i去執(zhí)行一次Code函數(shù)和test函數(shù)
%或者說Code函數(shù)指編碼過程,以lenchrom和bound為依據(jù)進(jìn)行編碼
%Code經(jīng)過檢驗(yàn)后,GApop第i行賦值為每一個(gè)Code列向量
%計(jì)算適應(yīng)度
p
=
[]
for
u=1:2:(lenchrom-2)
p
=
[p E(GApop(i,u),GApop(i,u+2),-GApop(i,u+1))]
end
q
=
[]
for
j=3:2:(lenchrom-2)
q
=
[q F(-GApop(i,j-1),-GApop(i,j+1),GApop(i,j))]
end
fitness(i)
=
sum(p)+sum(q); %染色體的適應(yīng)度
end
%找最好的染色體
[bestfitness
bestindex]=min(fitness); %min函數(shù)左側(cè)是適應(yīng)度矩陣(1*100)中最佳值和對(duì)應(yīng)位置,bestindex為什么不是最優(yōu)的位置(是生成的第一批的最優(yōu)和位置)
zbest
=
GApop(bestindex,:); %全局最佳,最佳位置對(duì)應(yīng)的染色體向量
gbest
=
GApop; %個(gè)體最佳,100*7矩陣
fitnessgbest
=
fitness; %個(gè)體最佳適應(yīng)度值,指同樣的函數(shù)式
fitnesszbest
=
bestfitness; %全局最佳適應(yīng)度值,同上
%%
迭代尋優(yōu)
for
i=1:maxgen
i
%種群更新
GA選擇更新
GApop
=
Select2(GApop,fitness,popsize); %產(chǎn)生了輪盤賭選出的100個(gè)染色體
%
交叉操作 GA
GApop
=
Cross(pc,lenchrom,GApop,popsize,bound,E);
%這里刪掉了兩個(gè)操作
%
變異操作 GA變異
GApop
=
Mutation(pm,lenchrom,GApop,popsize,[i maxgen],bound,popmax,E);
%
元素刪除 GA變異
GApop
=
Mutation2(pm,lenchrom,GApop,popsize,[i maxgen],bound,E);
pop
=
GApop;
for
j=1:popsize
%適應(yīng)度值
p
=
[]
for
u=1:2:(lenchrom-2)
p
=
[p E(GApop(j,u),GApop(j,u+2),-GApop(j,u+1))]
end
q
=
[]
for
v=3:2:(lenchrom-2)
q
=
[q F(-pop(j,v-1),-pop(j,v+1),pop(j,v))]
end
fitness(j)
=
sum(p)+sum(q); %染色體的適應(yīng)度
%對(duì)每個(gè)滿足約束的個(gè)體計(jì)算適應(yīng)度(不符合就不更新)
%個(gè)體最優(yōu)更新
if
fitness(j) < fitnessgbest(j)
gbest(j,
:
) = pop(j,:);
fitnessgbest(j)
=
fitness(j); %每一代如果適應(yīng)度變小就更新,否則不更新;輸出的fitness 是最后一代的適應(yīng)度
end
%群體最優(yōu)更新
if
fitness(j) < fitnesszbest
zbest
=
pop(j,:);
fitnesszbest
=
fitness(j); %兩次更新都循環(huán)100次,每一個(gè)fitness(j)都和兩個(gè)數(shù)比一遍
end
end
yy(i)
=
fitnesszbest;
end
%%
結(jié)果
disp
’*************best particle number****************’
zbest
%%
plot(yy,’linewidth’,2);
title([’適應(yīng)度曲線
’ ’終止代數(shù)=’ num2str(maxgen)]);
xlabel(’進(jìn)化代數(shù)’);ylabel(’適應(yīng)度’);
grid
on
3 仿真結(jié)果
4 參考文獻(xiàn)
[1]律方成, 劉怡, 亓彥珣,等. 基于改進(jìn)遺傳算法優(yōu)化極限學(xué)習(xí)機(jī)的短期電力負(fù)荷預(yù)測(cè)[J]. 華北電力大學(xué)學(xué)報(bào):自然科學(xué)版, 2018, 45(6):7.
博主簡(jiǎn)介:擅長(zhǎng)智能優(yōu)化算法、神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)、信號(hào)處理、元胞自動(dòng)機(jī)、圖像處理、路徑規(guī)劃、無人機(jī)等多種領(lǐng)域的Matlab仿真,相關(guān)matlab代碼問題可私信交流。
部分理論引用網(wǎng)絡(luò)文獻(xiàn),若有侵權(quán)聯(lián)系博主刪除。
-
2023年各省最新電價(jià)一覽!8省中午執(zhí)行谷段電價(jià)! 2023-01-03
-
PPT導(dǎo)出高分辨率圖片的四種方法 2022-09-22
-
全國(guó)消防救援總隊(duì)主官及簡(jiǎn)歷(2023.2) 2023-02-10
-
我們的前輩!歷屆全國(guó)工程勘察設(shè)計(jì)大師完整名單! 2022-11-18
-
關(guān)于某送變電公司“4·22”人身死亡事故的快報(bào) 2022-04-26
