最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

拓端tecdat|matlab使用長(zhǎng)短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò)對(duì)序列數(shù)據(jù)進(jìn)行分類

2021-07-09 16:34 作者:拓端tecdat  | 我要投稿

原文鏈接:http://tecdat.cn/?p=19751

原文出處:拓端數(shù)據(jù)部落公眾號(hào)

本示例說明如何使用長(zhǎng)短期記憶(LSTM)網(wǎng)絡(luò)對(duì)序列數(shù)據(jù)進(jìn)行分類。

要訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)對(duì)序列數(shù)據(jù)進(jìn)行分類,可以使用LSTM網(wǎng)絡(luò)。LSTM網(wǎng)絡(luò)使您可以將序列數(shù)據(jù)輸入網(wǎng)絡(luò),并根據(jù)序列數(shù)據(jù)的各個(gè)時(shí)間步進(jìn)行預(yù)測(cè)。

本示例使用日語(yǔ)元音數(shù)據(jù)集。此示例訓(xùn)練LSTM網(wǎng)絡(luò)來識(shí)別給定時(shí)間序列數(shù)據(jù)的說話者,該時(shí)間序列數(shù)據(jù)表示連續(xù)講話的兩個(gè)日語(yǔ)元音。訓(xùn)練數(shù)據(jù)包含九位發(fā)言人的時(shí)間序列數(shù)據(jù)。每個(gè)序列具有12個(gè)特征,并且長(zhǎng)度不同。數(shù)據(jù)集包含270個(gè)訓(xùn)練觀察和370個(gè)測(cè)試觀察。

加載序列數(shù)據(jù)

加載日語(yǔ)元音訓(xùn)練數(shù)據(jù)。?XTrain?是包含長(zhǎng)度可變的維度12的270個(gè)序列的單元陣列。?Y?是標(biāo)簽“ 1”,“ 2”,...,“ 9”的分類向量,分別對(duì)應(yīng)于九個(gè)揚(yáng)聲器。中的條目??XTrain?是具有12行(每個(gè)要素一行)和不同列數(shù)(每個(gè)時(shí)間步長(zhǎng)一列)的矩陣。

  1. XTrain(1:5)

  2. ans=5×1 cell array

  3. {12x20 double}

  4. {12x26 double}

  5. {12x22 double}

  6. {12x20 double}

  7. {12x21 double}

可視化圖中的第一個(gè)時(shí)間序列。每行對(duì)應(yīng)一個(gè)特征。

  1. figure

  2. plot(Train')

  3. xlabel("時(shí)間步長(zhǎng)")

  4. title("訓(xùn)練樣本 1")

  5. numFeatures = size(XTrain{1},1);

  6. legend("特征 "

準(zhǔn)備填充數(shù)據(jù)

在訓(xùn)練過程中,默認(rèn)情況下,該軟件默認(rèn)將訓(xùn)練數(shù)據(jù)分成小批并填充序列,以使它們具有相同的長(zhǎng)度。太多的填充可能會(huì)對(duì)網(wǎng)絡(luò)性能產(chǎn)生負(fù)面影響。

為防止訓(xùn)練過程增加太多填充,您可以按序列長(zhǎng)度對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行排序,并選擇小批量的大小,以使小批量中的序列具有相似的長(zhǎng)度。下圖顯示了對(duì)數(shù)據(jù)進(jìn)行排序之前和之后的填充序列的效果。

獲取每個(gè)觀察的序列長(zhǎng)度。

按序列長(zhǎng)度對(duì)數(shù)據(jù)進(jìn)行排序。

在條形圖中查看排序的序列長(zhǎng)度。

  1. figure

  2. bar(sequenceLengths)

  3. ylim([0 30])

  4. xlabel("序列")

  5. ylabel("長(zhǎng)度")

  6. title("排序后數(shù)據(jù)")

選擇大小為27的小批量可均勻劃分訓(xùn)練數(shù)據(jù)并減少小批量中的數(shù)量。下圖說明了添加到序列中的填充量。

定義LSTM網(wǎng)絡(luò)架構(gòu)

定義LSTM網(wǎng)絡(luò)體系結(jié)構(gòu)。將輸入大小指定為大小為12的序列(輸入數(shù)據(jù)的大?。V付ň哂?00個(gè)隱藏單元的雙向LSTM層,并輸出序列的最后一個(gè)元素。最后,通過包括大小為9的完全連接層,其后是softmax層和分類層,來指定九個(gè)類。

如果可以在預(yù)測(cè)時(shí)使用完整序列,則可以在網(wǎng)絡(luò)中使用雙向LSTM層。雙向LSTM層在每個(gè)時(shí)間步都從完整序列中學(xué)習(xí)。例如,如果您無法在預(yù)測(cè)時(shí)使用整個(gè)序列,比如一次預(yù)測(cè)一個(gè)時(shí)間步長(zhǎng)時(shí),請(qǐng)改用LSTM層。


  1. layers =

  2. 5x1 Layer array with layers:


  3. 1 ? '' ? Sequence Input ? ? ? ? ?Sequence input with 12 dimensions

  4. 2 ? '' ? BiLSTM ? ? ? ? ? ? ? ? ?BiLSTM with 100 hidden units

  5. 3 ? '' ? Fully Connected ? ? ? ? 9 fully connected layer

  6. 4 ? '' ? Softmax ? ? ? ? ? ? ? ? softmax

  7. 5 ? '' ? Classification Output ? crossentropyex

現(xiàn)在,指定訓(xùn)練選項(xiàng)。將優(yōu)化器指定為??'adam',將梯度閾值指定為1,將最大歷元數(shù)指定為100。要減少小批量中的填充量,請(qǐng)選擇27的小批量大小。與最長(zhǎng)序列的長(zhǎng)度相同,請(qǐng)將序列長(zhǎng)度指定為??'longest'。為確保數(shù)據(jù)仍按序列長(zhǎng)度排序,請(qǐng)指定從不對(duì)數(shù)據(jù)進(jìn)行隨機(jī)排序。

由于批處理的序列短,因此訓(xùn)練更適合于CPU。指定??'ExecutionEnvironment'?為??'cpu'。要在GPU上進(jìn)行訓(xùn)練(如果有),請(qǐng)將設(shè)置??'ExecutionEnvironment'?為??'auto'?(這是默認(rèn)值)。

訓(xùn)練LSTM網(wǎng)絡(luò)

使用指定的訓(xùn)練選項(xiàng)來訓(xùn)練LSTM網(wǎng)絡(luò)??trainNetwork。

測(cè)試LSTM網(wǎng)絡(luò)

加載測(cè)試集并將序列分類為揚(yáng)聲器。

加載日語(yǔ)元音測(cè)試數(shù)據(jù)。?XTest?是包含370個(gè)長(zhǎng)度可變的維度12的序列的單元陣列。?YTest?是標(biāo)簽“ 1”,“ 2”,...“ 9”的分類向量,分別對(duì)應(yīng)于九個(gè)揚(yáng)聲器。

  1. XTest(1:3)

  2. ans=3×1 cell array

  3. {12x19 double}

  4. {12x17 double}

  5. {12x19 double}

LSTM網(wǎng)絡(luò)??net?是使用相似長(zhǎng)度的序列進(jìn)行訓(xùn)練的。確保測(cè)試數(shù)據(jù)的組織方式相同。按序列長(zhǎng)度對(duì)測(cè)試數(shù)據(jù)進(jìn)行排序。

分類測(cè)試數(shù)據(jù)。要減少分類過程引入的數(shù)據(jù)量,請(qǐng)將批量大小設(shè)置為27。要應(yīng)用與訓(xùn)練數(shù)據(jù)相同的填充,請(qǐng)將序列長(zhǎng)度指定為??'longest'。

計(jì)算預(yù)測(cè)的分類準(zhǔn)確性。

  1. acc = sum(YPred == YTest)./numel(YTest)

  2. acc = 0.9730

最受歡迎的見解

1.用于NLP的Python:使用Keras的多標(biāo)簽文本LSTM神經(jīng)網(wǎng)絡(luò)分類

2.Python中利用長(zhǎng)短期記憶模型LSTM進(jìn)行時(shí)間序列預(yù)測(cè)分析 – 預(yù)測(cè)電力消耗數(shù)據(jù)

3.python在Keras中使用LSTM解決序列問題

4.Python中用PyTorch機(jī)器學(xué)習(xí)分類預(yù)測(cè)銀行客戶流失模型

5.R語(yǔ)言多元Copula GARCH 模型時(shí)間序列預(yù)測(cè)

6.在r語(yǔ)言中使用GAM(廣義相加模型)進(jìn)行電力負(fù)荷時(shí)間序列分析

7.R語(yǔ)言中ARMA,ARIMA(Box-Jenkins),SARIMA和ARIMAX模型用于預(yù)測(cè)時(shí)間序列數(shù)

8.R語(yǔ)言估計(jì)時(shí)變VAR模型時(shí)間序列的實(shí)證研究分析案例

9.用廣義加性模型GAM進(jìn)行時(shí)間序列分析


拓端tecdat|matlab使用長(zhǎng)短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò)對(duì)序列數(shù)據(jù)進(jìn)行分類的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
广丰县| 河北省| 石台县| 常德市| 博客| 宁都县| 临沧市| 屯昌县| 龙山县| 甘泉县| 黔西| 柯坪县| 闸北区| 将乐县| 新乐市| 洛川县| 汉中市| 蒙阴县| 咸阳市| 武威市| 永福县| 吴旗县| 青铜峡市| 类乌齐县| 东乡族自治县| 中山市| 敖汉旗| 青河县| 哈密市| 湟源县| 桂林市| 安福县| 嵊州市| 肇东市| 蓝山县| 凤冈县| 义马市| 灌阳县| 璧山县| 五常市| 凌源市|