The dofference of predict() and PredictAndUpdateState()
7 views (last 30 days)
Show older comments
Hi All,
I found the following two ways of predicting performs differently:
(1).
for i=1:size(XTest,2)
[trainedNet,YTest(:,i)]=PredictAndUpdateState(trainedNet,XTest(:,i));
end
(2).
for i=1:size(XTest,2)
[YTest(:,i),state]=predict(trainedNet,XTest(:,i));
trainedNet.State=state;
end
I wonder that what is the reseason for this phenomenon? Or, what is the difference between the ways of predict() and PredictAndUpdateState() to update networks?
Any help will be appreciated!
0 Comments
Answers (1)
Animesh
on 22 Aug 2024
The "predict" function in MATLAB predicts the responses of a linear regression model. For example, in this case:
[YTest(:,i),state]=predict(trainedNet,XTest(:,i));
The "predict" function returns the predicted response values of the model "trainedNet" for the points in "XTest(:, i)".
Now, the "predictAndUpdateState" function predicts responses using a trained recurrent neural network and updates the network state. In this case:
[trainedNet,YTest(:,i)]=predictAndUpdateState(trainedNet,XTest(:,i));
The "predictAndUpdateState" function predicts responses for data in "XTest(:, i)" using the trained recurrent neural network "trainedNet" and updates the network state.
Hence, the major difference between these two functions is that "predict" only forecasts the state, while "predictAndUpdateState" both forecasts and refines the state estimate with new data. Use "predict" when you need a forecast without new data, and "predictAndUpdateState" when you want to immediately refine your prediction with a new measurement.
Moreover, "predictAndUpdateState" is not recommended anymore. Instead, use the "predict" function and utilize the state output to update the "State" property of the neural network.
You can refer the following MathWorks documenation for more information:
4 Comments
See Also
Categories
Find more on Sequence and Numeric Feature Data Workflows in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!