天天看點

【回歸預測-LSTM預測】基于灰狼算法優化LSTM實作資料回歸預測附Matlab代碼

 1 内容介紹

一種基于灰狼算法優化LSTM的網絡流量預測方法,屬于網絡流量預測領域,該方法包括以下步驟:對第一網絡流量資料集進行極差标準化處理,得到第二網絡流量資料集,并劃分為訓練集和測試集,并确定灰狼算法優化LSTM神經網絡中輸入層單元個數,輸出層單元個數和隐藏層單元個數;用得到第二網絡流量資料集,在過程中利用灰狼算法來優化LSTM神經網絡的參數,得到訓練完成的灰狼算法優化LSTM神經網絡;灰狼優化算法可以有效解決優化中的求解問題,可應用于工程,經濟,排程等問題求解.灰狼優化算法利用自身的全局最優能力彌補傳統LSTM容易收斂于局部最優解的缺點,提高LSTM避免局部最優能力;加快LSTM神經網絡參數收速度.實驗證明,灰狼算法優化LSTM能夠有效減少神經網絡的訓練時間,提高了網絡流量預測精度.

2 仿真代碼

function result = fun(pop)

global inputn outputn shuru_num shuchu_num

tic

pop(1)=round(pop(1));

layers = [ ...

    sequenceInputLayer(shuru_num)

    lstmLayer(pop(1))

    fullyConnectedLayer(shuchu_num)

    regressionLayer];

options = trainingOptions('adam', ...  % 梯度下降

    'MaxEpochs',50, ...                % 最大疊代次數

     'GradientThreshold',1, ...         % 梯度門檻值 

    'InitialLearnRate',pop(2));

% 劃分訓練集=訓練集中選取80%進行訓練,20%進行訓練測試

n = randperm(size(inputn,2));%随機選取

xun_n = round(size(inputn,2)*0.8);

xunx = inputn(:,n(1:xun_n));

xuny = outputn(:,n(1:xun_n));  

cex = inputn(:,n((xun_n+1):end));

cey = outputn(:,n((xun_n+1):end)); 

% 訓練LSTM

net = trainNetwork(xunx,xuny,layers,options);

% 預測

net = resetState(net);% 網絡的更新狀态可能對分類産生了負面影響。重置網絡狀态并再次預測序列。

[~,Ytrain]= predictAndUpdateState(net,cex);

error = Ytrain-cey;

num=length(cey);

cg=sum(error.*error)/num;

 toc

disp('-------------------------')

result = cg;

end

3 運作結果

【回歸預測-LSTM預測】基于灰狼算法優化LSTM實作資料回歸預測附Matlab代碼

【回歸預測-LSTM預測】基于灰狼算法優化LSTM實作資料回歸預測附Matlab代碼

編輯

【回歸預測-LSTM預測】基于灰狼算法優化LSTM實作資料回歸預測附Matlab代碼

【回歸預測-LSTM預測】基于灰狼算法優化LSTM實作資料回歸預測附Matlab代碼

編輯

【回歸預測-LSTM預測】基于灰狼算法優化LSTM實作資料回歸預測附Matlab代碼

【回歸預測-LSTM預測】基于灰狼算法優化LSTM實作資料回歸預測附Matlab代碼

編輯

4 參考文獻

[1]杜秀麗, 司增輝, 潘成勝,等. 一種基于決策灰狼算法優化LSTM的網絡流量預測方法:, CN111371607A[P]. 2020.

部落客簡介:擅長智能優化算法、神經網絡預測、信号處理、元胞自動機、圖像處理、路徑規劃、無人機等多種領域的Matlab仿真,相關matlab代碼問題可私信交流。

繼續閱讀