滄州 網(wǎng)站建設(shè)鄭州seo外包顧問(wèn)
時(shí)序預(yù)測(cè) | MATLAB實(shí)現(xiàn)BO-CNN-GRU貝葉斯優(yōu)化卷積門控循環(huán)單元時(shí)間序列預(yù)測(cè)
目錄
- 時(shí)序預(yù)測(cè) | MATLAB實(shí)現(xiàn)BO-CNN-GRU貝葉斯優(yōu)化卷積門控循環(huán)單元時(shí)間序列預(yù)測(cè)
- 效果一覽
- 基本介紹
- 模型描述
- 程序設(shè)計(jì)
- 參考資料
效果一覽
基本介紹
基于貝葉斯(bayes)優(yōu)化卷積神經(jīng)網(wǎng)絡(luò)-門控循環(huán)單元(CNN-GRU)時(shí)間序列預(yù)測(cè),BO-CNN-GRU/Bayes-CNN-GRU時(shí)間序列預(yù)測(cè)模型?;谪惾~斯算法(bayes)優(yōu)化卷積神經(jīng)網(wǎng)絡(luò)-門控循環(huán)單元(CNN-GRU)時(shí)間序列預(yù)測(cè),單列數(shù)據(jù)集.
1.優(yōu)化參數(shù)為:學(xué)習(xí)率,隱含層節(jié)點(diǎn),正則化參數(shù)。
2.評(píng)價(jià)指標(biāo)包括:R2、MAE、MSE、RMSE和MAPE等,方便學(xué)習(xí)和替換數(shù)據(jù)。
3.運(yùn)行環(huán)境matlab2020b及以上。
模型描述
-
CNN 是通過(guò)模仿生物視覺(jué)感知機(jī)制構(gòu)建而成,能夠進(jìn)行有監(jiān)督學(xué)習(xí)和無(wú)監(jiān)督學(xué)習(xí)。隱含層的卷積核參數(shù)共享以及層間連接的稀疏性使得CNN 能夠以較小的計(jì)算量從高維數(shù)據(jù)中提取深層次局部特征,并通過(guò)卷積層和池化層獲得有效的表示。CNN 網(wǎng)絡(luò)的結(jié)構(gòu)包含兩個(gè)卷積層和一個(gè)展平操作,每個(gè)卷積層包含一個(gè)卷積操作和一個(gè)池化操作。第二次池化操作后,再利用全連接層將高維數(shù)據(jù)展平為一維數(shù)據(jù),從而更加方便的對(duì)數(shù)據(jù)進(jìn)行處理。
-
當(dāng)時(shí)間步數(shù)較大時(shí),RNN 的歷史梯度信息無(wú)法一直維持在一個(gè)合理的范圍內(nèi),因此梯度衰減或爆炸幾乎是不可避免的,從而導(dǎo)致RNN 將很難從長(zhǎng)距離序列中捕捉到有效信息。LSTM 作為一種特殊的RNN,它的提出很好的解決了RNN 中梯度消失的問(wèn)題。而GRU 則是在LSTM 的基礎(chǔ)上提出的,其結(jié)構(gòu)更簡(jiǎn)單,參數(shù)更少,訓(xùn)練時(shí)間短,訓(xùn)練速度也比LSTM更快。
-
為使模型具有自動(dòng)提取特征的功能,一般采用深度學(xué)習(xí)的方法來(lái)進(jìn)行構(gòu)建。其中,CNN 在提取特征這方面能力較強(qiáng),它通常依靠卷積核來(lái)對(duì)特征進(jìn)行提取。但是,卷積核的存在又限制了CNN 在處理時(shí)間序列數(shù)據(jù)時(shí)的長(zhǎng)期依賴性問(wèn)題。
-
在這項(xiàng)研究中,GRU 的引入可以有效地解決這個(gè)問(wèn)題,并且我們可以捕獲時(shí)間序列前后的依賴關(guān)系。另一方面, GRU 模塊的目的是捕獲長(zhǎng)期依賴關(guān)系,它可以通過(guò)存儲(chǔ)單元長(zhǎng)時(shí)間學(xué)習(xí)歷史數(shù)據(jù)中的有用信息,無(wú)用的信息將被遺忘門遺忘。另外,直接用原始特征進(jìn)行處理,會(huì)極大的占用模型的算力,從而降低模型的預(yù)測(cè)精度,CNN-GRU模型結(jié)合了CNN和GRU的優(yōu)點(diǎn)。
-
通常,在模型訓(xùn)練過(guò)程中需要對(duì)超參數(shù)進(jìn)行優(yōu)化,為模型選擇一組最優(yōu)的超參數(shù),以提高預(yù)測(cè)的性能和有效性。 憑經(jīng)驗(yàn)設(shè)置超參數(shù)會(huì)使最終確定的模型超參數(shù)組合不一定是最優(yōu)的,這會(huì)影響模型網(wǎng)絡(luò)的擬合程度及其對(duì)測(cè)試數(shù)據(jù)的泛化能力。
-
偽代碼
-
通過(guò)調(diào)整優(yōu)化算法調(diào)整模型參數(shù),學(xué)習(xí)重復(fù)率和貝葉斯優(yōu)化超參數(shù)來(lái)調(diào)整模型參數(shù)。
程序設(shè)計(jì)
- 完整程序和數(shù)據(jù)獲取方式1:私信博主,同等價(jià)值程序兌換;
- 完整程序和數(shù)據(jù)下載方式2(資源處直接下載):MATLAB實(shí)現(xiàn)BO-CNN-GRU貝葉斯優(yōu)化卷積門控循環(huán)單元時(shí)間序列預(yù)測(cè)
- 完整程序和數(shù)據(jù)下載方式3(訂閱《組合優(yōu)化》專欄,同時(shí)獲取《組合優(yōu)化》專欄收錄的所有程序,數(shù)據(jù)訂閱后私信我獲取):MATLAB實(shí)現(xiàn)BO-CNN-GRU貝葉斯優(yōu)化卷積門控循環(huán)單元時(shí)間序列預(yù)測(cè)
%% 優(yōu)化算法參數(shù)設(shè)置
%參數(shù)取值上界(學(xué)習(xí)率,隱藏層節(jié)點(diǎn),正則化系數(shù))
%% 貝葉斯優(yōu)化參數(shù)范圍
optimVars = [optimizableVariable('NumOfUnits', [10, 50], 'Type', 'integer')optimizableVariable('InitialLearnRate', [1e-3, 1], 'Transform', 'log')optimizableVariable('L2Regularization', [1e-10, 1e-2], 'Transform', 'log')];%% 貝葉斯優(yōu)化網(wǎng)絡(luò)參數(shù)
BayesObject = bayesopt(fitness, optimVars, ... % 優(yōu)化函數(shù),和參數(shù)范圍'MaxTime', Inf, ... % 優(yōu)化時(shí)間(不限制) 'IsObjectiveDeterministic', false, ...'MaxObjectiveEvaluations', 10, ... % 最大迭代次數(shù)'Verbose', 1, ... % 顯示優(yōu)化過(guò)程'UseParallel', false);%% 創(chuàng)建混合CNN-GRU網(wǎng)絡(luò)架構(gòu)
% 創(chuàng)建"CNN-GRU"模型layers = [...% 輸入特征sequenceInputLayer([numFeatures 1 1],'Name','input')sequenceFoldingLayer('Name','fold')% CNN特征提取convolution2dLayer([FiltZise 1],32,'Padding','same','WeightsInitializer','he','Name','conv','DilationFactor',1);batchNormalizationLayer('Name','bn')eluLayer('Name','elu')averagePooling2dLayer(1,'Stride',FiltZise,'Name','pool1')% 展開(kāi)層sequenceUnfoldingLayer('Name','unfold')% 平滑層flattenLayer('Name','flatten')% GRU特征學(xué)習(xí)gruLayer(50,'Name','gru1','RecurrentWeightsInitializer','He','InputWeightsInitializer','He')% GRU輸出gruLayer(NumOfUnits,'OutputMode',"last",'Name','bil4','RecurrentWeightsInitializer','He','InputWeightsInitializer','He')dropoutLayer(0.25,'Name','drop3')% 全連接層fullyConnectedLayer(numResponses,'Name','fc')regressionLayer('Name','output') ];layers = layerGraph(layers);layers = connectLayers(layers,'fold/miniBatchSize','unfold/miniBatchSize');
參考資料
[1] https://blog.csdn.net/kjm13182345320/article/details/129036772?spm=1001.2014.3001.5502
[2] https://blog.csdn.net/kjm13182345320/article/details/128690229