【DELM分類】基于花朵授粉算法改進(jìn)深度學(xué)習(xí)極限學(xué)習(xí)機(jī)實(shí)現(xiàn)數(shù)據(jù)分類附matlab代碼
【DELM分類】基于花朵授粉算法改進(jìn)深度學(xué)習(xí)極限學(xué)習(xí)機(jī)實(shí)現(xiàn)數(shù)據(jù)分類附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 部分代碼
% --------------------------------------------------------------------%
% Flower pollenation algorithm (FPA),
or
flower algorithm %
% Programmed by Xin-She Yang @ May
2012
%
% --------------------------------------------------------------------%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%
%
Notes:
This demo program contains the very basic components of %
% the flower pollination algorithm (FPA),
or
flower algorithm (FA), %
%
for
single objective optimization. It usually works well
for
%
% unconstrained functions only. For functions/problems with %
% limits/bounds
and
constraints, constraint-handling techniques %
% should be implemented to deal with constrained problems properly. %
% %
% Citation
details:
%
%
1
)Xin-She Yang, Flower pollination algorithm
for
global optimization,%
% Unconventional Computation
and
Natural Computation, %
% Lecture Notes
in
Computer Science, Vol.
7445
, pp.
240
-
249
(
2012
). %
%
2
)X. S. Yang, M. Karamanoglu, X. S. He, Multi-objective flower %
% algorithm
for
optimization, Procedia
in
Computer Science, %
% vol.
18
, pp.
861
-
868
(
2013
). %
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%
clc
clear all
close all
n=30; %
Population size, typically
10
to
25
p=
0
.
8
; % probabibility switch
% Iteration parameters
N_iter=
3000
; % Total number of iterations
fitnessMSE = ones(
1
,N_iter);
% % Dimension of the search variables Example
1
d=
2
;
Lb = -
1
*ones(
1
,d);
Ub =
1
*ones(
1
,d);
% % Dimension of the search variables Example
2
% d=
3
;
% Lb = [-
2
-
1
-
1
];
% Ub = [
2
1
1
];
%
% % Dimension of the search variables Example
3
% d=
3
;
% Lb = [-
1
-
1
-
1
];
% Ub = [
1
1
1
];
%
%
% % % Dimension of the search variables Example
4
% d=
9
;
% Lb = -
1.5
*ones(
1
,d);
% Ub =
1.5
*ones(
1
,d);
% Initialize the population/solutions
for
i=
1
:n
,
Sol(i,
:
)=Lb+(Ub-Lb).*rand(
1
,d);
% To simulate the filters use fitnessX() functions
in
the
next
line
Fitness(i)=fitness(Sol(i,
:
));
end
% Find the current best
[fmin,I]=min(Fitness);
best=Sol(I,
:
);
S=Sol;
% Start the iterations -- Flower Algorithm
for
t=
1
:N_iter
,
% Loop over all bats/solutions
for
i=
1
:n
,
% Pollens are carried by insects
and
thus can move
in
% large scale, large distance.
% This L should replace by Levy flights
%
Formula:
x_i^{t+
1
}=x_i^t+ L (x_i^t-gbest)
if
rand>p,
%% L=rand;
L=Levy(d);
dS=L.*(Sol(i,:)-best);
S(i,:)=Sol(i,:)+dS;
%
Check
if
the simple limits/bounds are OK
S(i,
:
)=simplebounds(S(i,
:
),Lb,Ub);
% If
not
,
then
local pollenation of neighbor flowers
else
epsilon=rand;
% Find random flowers
in
the neighbourhood
JK=randperm(n);
% As they are random, the first two entries also random
% If the flower are the same
or
similar species,
then
% they can be pollenated, otherwise, no action.
%
Formula:
x_i^{t+
1
}+epsilon*(x_j^t-x_k^t)
S(i,
:
)=S(i,
:
)+epsilon*(Sol(JK(
1
),
:
)-Sol(JK(
2
),
:
));
% Check
if
the simple limits/bounds are OK
S(i,
:
)=simplebounds(S(i,
:
),Lb,Ub);
end
% Evaluate new solutions
% To simulate the filters use fitnessX() functions
in
the
next
% line
Fnew=fitness(S(i,
:
));
% If fitness improves (better solutions found), update
then
if
(Fnew<=Fitness(i)),
Sol(i,
:
)=S(i,
:
);
Fitness(i)=Fnew;
end
% Update the current global best
if
Fnew<=fmin,
best=S(i,
:
) ;
fmin=Fnew ;
end
end
% Display results every
100
iterations
if
round(t/
100
)==t/
100
,
best
fmin
end
fitnessMSE(t) = fmin;
end
%figure, plot(
1
:N_iter
,fitnessMSE);
% Output/display
disp([
’Total number of evaluations: ’
,num2str(N_iter*n)]);
disp([
’Best solution=’
,num2str(best),
’ fmin=’
,num2str(fmin)]);
figure(
1
)
plot( fitnessMSE)
xlabel(
’Iteration’
);
ylabel(
’Best score obtained so far’
);
3 仿真結(jié)果
4 參考文獻(xiàn)
[1]馬萌萌. 基于深度學(xué)習(xí)的極限學(xué)習(xí)機(jī)算法研究[D]. 中國(guó)海洋大學(xué), 2015.
博主簡(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
