The dofference of predict() and PredictAndUpdateState()

7 Ansichten (letzte 30 Tage)
Jinjian
Jinjian am 22 Aug. 2024
Kommentiert: Jinjian am 23 Aug. 2024
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!

Antworten (1)

Animesh
Animesh am 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 Kommentare
Animesh
Animesh am 23 Aug. 2024
By "performance" here, do we mean "execution time" or "model accuracy"?
Jinjian
Jinjian am 23 Aug. 2024
The performance here means "model accuracy".

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Sequence and Numeric Feature Data Workflows finden Sie in Help Center und File Exchange

Produkte


Version

R2024a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by