- 积分
- 883
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2020-11-5
- 最后登录
- 1970-1-1
![[请听我说不要说话] 粉丝数:1 微博数:2 新浪微博达人勋](source/plugin/sina_login/img/light.png)
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
各位大佬,我用lstm模型进行预测是,发现每次输出的结果都不一样,而且输出的曲线是平滑的(图1),输入的数据并不是平滑曲线,这要怎么解决。代码如下:
%% trainoption(lstm)
opts = trainingOptions('adam', ... %
'MaxEpochs',200, ...
'GradientThreshold',1,...
'ExecutionEnvironment','cpu',...
'InitialLearnRate',0.001, ...
'LearnRateSchedule','piecewise', ...
'LearnRateDropPeriod',100, ... % epoch后学习率更新
'LearnRateDropFactor',0.8, ...
'Verbose',0, ...
'Plots','training-progress'...
);
%% LSTM网络训练
tic
LSTMnet = trainNetwork(inputn_train ,outputn_train ,layers,opts);
toc;
[LSTMnet,LSTMoutputr_train]= predictAndUpdateState(LSTMnet,inputn_train);
LSTMoutput_train = mapminmax('reverse',LSTMoutputr_train,outputps);
%% LSTM测试数据
%%
%网络测试输出
[LSTMnet,LSTMoutputr_test] = predictAndUpdateState(LSTMnet,inputn_test);
%网络输出反归一化
LSTMoutput_test= mapminmax('reverse',LSTMoutputr_test,outputps);
|
-
图1
|