91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 5KB
    文件類型: .m
    金幣: 1
    下載: 0 次
    發布日期: 2023-12-24
  • 語言: Matlab
  • 標簽: lstm??

資源簡介

matlab深度學習工具箱之LSTM, 采用歷史序列進行預測, MATLAB應用實例 直接采用工具箱進行序列預測

資源截圖

代碼片段和文件信息

clc
clear
%%?加載示例數據。
%chickenpox_dataset?包含一個時序,其時間步對應于月份,值對應于病例數。
%輸出是一個元胞數組,其中每個元素均為單一時間步。將數據重構為行向量。
data?=?chickenpox_dataset;
data?=?[data{:}];

figure
plot(data)
xlabel(“Month“)
ylabel(“Cases“)
title(“Monthly?Cases?of?Chickenpox“)
%%?對訓練數據和測試數據進行分區。
%序列的前?90%?用于訓練,后?10%?用于測試。
numTimeStepsTrain?=?floor(0.9*numel(data));
dataTrain?=?data(1:numTimeStepsTrain+1);
dataTest?=?data(numTimeStepsTrain+1:end);
%%?標準化數據
%為了獲得較好的擬合并防止訓練發散,將訓練數據標準化為具有零均值和單位方差。
%在預測時,您必須使用與訓練數據相同的參數來標準化測試數據。
mu?=?mean(dataTrain);
sig?=?std(dataTrain);

dataTrainStandardized?=?(dataTrain?-?mu)?/?sig;
%%?準備預測變量和響應
%要預測序列在將來時間步的值,請將響應指定為將值移位了一個時間步的訓練序列。
%也就是說,在輸入序列的每個時間步,LSTM?網絡都學習預測下一個時間步的值。
%預測變量是沒有最終時間步的訓練序列。
XTrain?=?dataTrainStandardized(1:end-1);
YTrain?=?dataTrainStandardized(2:end);
%%?定義?LSTM?網絡架構
%創建?LSTM?回歸網絡。指定?LSTM?層有?200?個隱含單元
numFeatures?=?1;
numResponses?=?1;
numHiddenUnits?=?200;

layers?=?[?...
????sequenceInputlayer(numFeatures)
????lstmlayer(numHiddenUnits)
????fullyConnectedlayer(numResponses)
????regressionlayer];
%指定訓練選項。
%將求解器設置為?‘adam‘?并進行?250?輪訓練。
%要防止梯度爆炸,請將梯度閾值設置為?1。
%指定初始學習率?0.005,在?125?輪訓練后通過乘以因子?0.2?來降低學習率。
options?=?trainingOptions(‘adam‘?...
????‘MaxEpochs‘250?...
????‘GradientThreshold‘1?...
????‘InitialLearnRate‘0.005?...
????‘LearnRateSchedule‘‘piecewise‘?...
????‘LearnRateDropPeriod‘125?...
????‘LearnRateDropFactor‘0.2?...
????‘Verbose‘0?...
????‘Plots‘‘training-progress‘);
%%?訓練?LSTM?網絡
%使用?trainNetwork?以指定的訓練選項訓練?LSTM?網絡。
net?=?trainNetwork(XTrainYTrainlayersoptions);
%%?預測將來時間步
%要預測將來多個時間步的值,請使用?predictAndUpdateState?函數一次預測一個時間步,并在每次預測時更新網絡狀態。對于每次預測,使用前一次預測作為函數的輸入。
%使用與訓練數據相同的參數來標準化測試數據。
dataTestStandardized?=?(dataTest?-?mu)?/?sig;
XTest?=?dataTestStandardized(1:end-1);
%要初始化網絡狀態,請先對訓練數據?XTrain?進行預測。
%接下來,使用訓練響應的最后一個時間步?YTrain(end)?進行第一次預測。
%循環其余預測并將前一次預測輸入到?predictAndUpdateState。
%對于大型數據集合、長序列或大型網絡,在?GPU?上進行預測計算通常比在?CPU?

評論

共有 條評論