目錄
一、程序及算法內(nèi)容介紹:
基本內(nèi)容:
亮點(diǎn)與優(yōu)勢(shì):
二、實(shí)際運(yùn)行效果:
三、部分代碼展示:
四、完整代碼+數(shù)據(jù)下載:
一、程序及算法內(nèi)容介紹:
基本內(nèi)容:
-
本代碼基于Matlab平臺(tái)編譯,將卷積神經(jīng)網(wǎng)絡(luò)(CNN)與雙向長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)(Bi-LSTM)結(jié)合,進(jìn)行數(shù)據(jù)回歸預(yù)測(cè)
-
輸入訓(xùn)練的數(shù)據(jù)包含12個(gè)特征,1個(gè)響應(yīng)值,即通過(guò)12個(gè)輸入值預(yù)測(cè)1個(gè)輸出值(多變量、多輸入分類(lèi)預(yù)測(cè))
-
歸一化訓(xùn)練數(shù)據(jù),提升網(wǎng)絡(luò)泛化性
-
通過(guò)CNN神經(jīng)網(wǎng)絡(luò)提取數(shù)據(jù)的特征,然后輸入LSTM進(jìn)行預(yù)測(cè)回歸,提升整體網(wǎng)絡(luò)的性能
-
訓(xùn)練CNN-Bi_LSTM網(wǎng)絡(luò),可自行指定各種參數(shù),修改方便
-
迭代計(jì)算過(guò)程中,自動(dòng)顯示優(yōu)化進(jìn)度條,實(shí)時(shí)查看程序運(yùn)行進(jìn)展情況
-
自動(dòng)輸出多種多樣的的誤差評(píng)價(jià)指標(biāo),自動(dòng)輸出大量實(shí)驗(yàn)效果圖片
亮點(diǎn)與優(yōu)勢(shì):
-
注釋詳細(xì),幾乎每一關(guān)鍵行都有注釋說(shuō)明,適合小白起步學(xué)習(xí)
-
直接運(yùn)行Main函數(shù)即可看到所有結(jié)果,使用便捷
-
編程習(xí)慣良好,程序主體標(biāo)準(zhǔn)化,邏輯清晰,方便閱讀代碼
-
所有數(shù)據(jù)均采用Excel格式輸入,替換數(shù)據(jù)方便,適合懶人選手
-
出圖詳細(xì)、豐富、美觀(guān),可直觀(guān)查看運(yùn)行效果
-
附帶詳細(xì)的說(shuō)明文檔(下圖),其內(nèi)容包括:算法原理+使用方法說(shuō)明
二、實(shí)際運(yùn)行效果:
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-790535.html
三、部分代碼展示:
clc;
clear;
warning off;
%% 導(dǎo)入數(shù)據(jù)
Data = table2array(readtable("數(shù)據(jù)集.xlsx"));
% 本例數(shù)據(jù)集中包含:
% 1. 總共357個(gè)樣本(每一行表示一個(gè)樣本)
% 2. 每個(gè)樣本12個(gè)特征值(即前12列每一列表示樣本的一個(gè)特征,即輸入的變量)
% 3. 每個(gè)樣本1個(gè)響應(yīng)值(第13列為表示樣本的響應(yīng)值,即被預(yù)測(cè)的變量)
%% 劃分訓(xùn)練集和測(cè)試集
Temp = randperm(size(Data,1)); % 打亂數(shù)據(jù)的順序,提升模型的泛化性。
InPut_num = 1:1:12; % 輸入特征的列數(shù),數(shù)據(jù)表格中前12列為輸入值,因此設(shè)置為1:1:12,若前5個(gè)為輸入則設(shè)置為1:1:5
OutPut_num = 13; % 輸出響應(yīng)列數(shù),本例僅一個(gè)響應(yīng)值,為數(shù)據(jù)表格中第13列,若多個(gè)響應(yīng)值參照上行數(shù)據(jù)格式設(shè)置為x:1:y
% 選取前327個(gè)樣本作為訓(xùn)練集,后30個(gè)樣本作為測(cè)試集,即(1:327),和(328:end)
Train_InPut = Data(Temp(1:327),InPut_num); % 訓(xùn)練輸入
Train_OutPut = Data(Temp(1:327),OutPut_num); % 訓(xùn)練輸出
Test_InPut = Data(Temp(328:end),InPut_num); % 測(cè)試輸入
Test_OutPut = Data(Temp(328:end),OutPut_num); % 測(cè)試輸出
%% 數(shù)據(jù)歸一化
% 將輸入特征數(shù)據(jù)歸一化到0-1之間
[~, Ps] = mapminmax([Train_InPut;Test_InPut]',0,1);
Train_InPut = mapminmax('apply',Train_InPut',Ps);
Test_InPut = mapminmax('apply',Test_InPut',Ps);
四、完整代碼+數(shù)據(jù)下載:
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-790535.html
到了這里,關(guān)于(Matlab)基于CNN-Bi_LSTM的多輸入分類(lèi)(卷積神經(jīng)網(wǎng)絡(luò)-雙向長(zhǎng)短期記憶網(wǎng)絡(luò))的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!