LSTM model predicts wrong values?
Hello, Im trying machine learning with LSTM and unsupervised learning.
Here is trained LSTM network, and I checked this model works.
numHiddenUnits = 100;
Layers = [ …
sequenceInputLayer(1, Normalization="zscore")
lstmLayer(numHiddenUnits,’OutputMode’,’sequence’)
swishLayer
fullyConnectedLayer(1)
myRegressionLayer(‘mae’)
];
options = trainingOptions(‘adam’, …
‘MaxEpochs’,40,…
‘MiniBatchSize’,32,…
‘GradientThreshold’,1,…
‘InitialLearnRate’,1e-2, …
‘Verbose’,false, …
‘Plots’, ‘none’);
%XTrain is (n*t sequence data)
%YTrain is (n*t sequence data)
[net, ~] = trainNetwork(XTrain, YTrain, Layers, options);
However, if the model predicts values with inputs in other environment,
%XTrain2 is (n*t sequence data in different environment from XTrain and YTrain environment for unsupervised learning)
dist = predict(net, XTrain2);
only head of sequence of output is lower than others as shown below.
Here is input data, and it doesn’t seem that there are differents of value between head of sequence and other parts.
In comparison with true data, this head of sequence of output is wrong value, and other sequence parts are comparatively correct values.
I’m sorry for my poor English. Can anyone help me what to do? Thank you.Hello, Im trying machine learning with LSTM and unsupervised learning.
Here is trained LSTM network, and I checked this model works.
numHiddenUnits = 100;
Layers = [ …
sequenceInputLayer(1, Normalization="zscore")
lstmLayer(numHiddenUnits,’OutputMode’,’sequence’)
swishLayer
fullyConnectedLayer(1)
myRegressionLayer(‘mae’)
];
options = trainingOptions(‘adam’, …
‘MaxEpochs’,40,…
‘MiniBatchSize’,32,…
‘GradientThreshold’,1,…
‘InitialLearnRate’,1e-2, …
‘Verbose’,false, …
‘Plots’, ‘none’);
%XTrain is (n*t sequence data)
%YTrain is (n*t sequence data)
[net, ~] = trainNetwork(XTrain, YTrain, Layers, options);
However, if the model predicts values with inputs in other environment,
%XTrain2 is (n*t sequence data in different environment from XTrain and YTrain environment for unsupervised learning)
dist = predict(net, XTrain2);
only head of sequence of output is lower than others as shown below.
Here is input data, and it doesn’t seem that there are differents of value between head of sequence and other parts.
In comparison with true data, this head of sequence of output is wrong value, and other sequence parts are comparatively correct values.
I’m sorry for my poor English. Can anyone help me what to do? Thank you. Hello, Im trying machine learning with LSTM and unsupervised learning.
Here is trained LSTM network, and I checked this model works.
numHiddenUnits = 100;
Layers = [ …
sequenceInputLayer(1, Normalization="zscore")
lstmLayer(numHiddenUnits,’OutputMode’,’sequence’)
swishLayer
fullyConnectedLayer(1)
myRegressionLayer(‘mae’)
];
options = trainingOptions(‘adam’, …
‘MaxEpochs’,40,…
‘MiniBatchSize’,32,…
‘GradientThreshold’,1,…
‘InitialLearnRate’,1e-2, …
‘Verbose’,false, …
‘Plots’, ‘none’);
%XTrain is (n*t sequence data)
%YTrain is (n*t sequence data)
[net, ~] = trainNetwork(XTrain, YTrain, Layers, options);
However, if the model predicts values with inputs in other environment,
%XTrain2 is (n*t sequence data in different environment from XTrain and YTrain environment for unsupervised learning)
dist = predict(net, XTrain2);
only head of sequence of output is lower than others as shown below.
Here is input data, and it doesn’t seem that there are differents of value between head of sequence and other parts.
In comparison with true data, this head of sequence of output is wrong value, and other sequence parts are comparatively correct values.
I’m sorry for my poor English. Can anyone help me what to do? Thank you. lstm, machine learning MATLAB Answers — New Questions