使用LSTM进行预测和更新

3次查看(最近30天)
Tanmoy Chatterjee
Tanmoy Chatterjee 2021年8月11日18:12
你好,
我尝试用Matlab中的LSTM来解决一个时间预测问题。我之前的问题 https://uk.mathworks.com/matlabcentral/answers/890637-data-preparation-for-time-forecasting-using-lstm?s_tid=srchtitle 都回答得很好。谢谢你,。
(Q1)在这种情况下,我想问在使用LSTM的预测步骤中,除了“predict”返回一个序列的预测,而“predictAndUpdateState”进行一步一步的预测之外,“predict”和“predictAndUpdateState”是否有任何区别?我问这个是因为“predict”也会更新每个预测之间的网络状态。
(Q2)我在前900秒训练LSTM模型(训练集),并预测下100秒的响应(测试集)。所以,技术上,如果我使用YPred = predict(net,XTest),这是根据XTest更新'net',XTest是测试输入,根据预测问题公式,我没有测试集,因此不应该使用它。我宁愿更新模型,只根据XTrain和YTrain做出如下预测。但这方面的预测一点也不乐观。您能否提供一些建议,以确定是否可以使用XTest进行预测,或者如何改进以下代码的预测?
n = 1: numObs
[net, Y] = predictAndUpdateState(net, XTrain{n});
Y = Y(:,结束);
Yseq = [];
t = 1: numSteps
[net, Y] = news.com;
Yseq = cat(2, Yseq, Y);
结束
欧美{n} = Yseq;
网= resetState(净);
结束
我正在使用以下网络配置:
numHiddenUnits = 100;
options = trainingOptions('adam',…
“MaxEpochs”,200年,…
“GradientThreshold”,1,…
“InitialLearnRate”,0.005,…
“LearnRateSchedule”、“分段”,…
“LearnRateDropPeriod”,125年,…
“LearnRateDropFactor”,0.2,…
“MiniBatchSize”,100年,…
“详细”,1,…
“阴谋”,“训练进步”);

答案(0)

s manbetx 845


释放

R2020a

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!