Recurrent neural network for real-time prediction

5 Ansichten (letzte 30 Tage)
Eason
Eason am 21 Jul. 2017
Hello,
I'd like to use first train RNN with dataset A contains input and targets and use the trained RNN to get prediction of dataset B with only input in it, but I encountered a problem that the function "preparets" requires targets and in reality I need RNN to give me the targets.

Akzeptierte Antwort

Greg Heath
Greg Heath am 30 Jul. 2017
You can use
[ net tr Y E Xf Af ] = train( net, X, T, Xi, Ai );
where Y = net(X,Xi,Ai)
and E = gsubtract(T,Y)
Hope this helps.
Thank you for formally accepting my answer
Greg

Weitere Antworten (3)

Greg Heath
Greg Heath am 24 Jul. 2017
Bearbeitet: Greg Heath am 25 Jul. 2017
Words are nice but including code is much better. Which training algorithm are you using ? ...NARXNET ?
Requiring a target to obtain an answer to a test input makes no sense. Where did you get that idea?
Reread the documentation.
Hope this helps,
Greg

Eason
Eason am 24 Jul. 2017
Hi Greg, I just realized that I made a mistake when using the function preparets. As you can see the code below. I will first train a RNN then I will feed the input data to get predictions.
%configure RNN
net = recurrent(1:n,3:5);%1 hidden layer of 10 units,2 time step
[Xs,Xi,Ai,Ts] = preparets(net,X,T);% prepare input to get time series for training
net = train(net,Xs,Ts,Xi,Ai);%train the net
%get new input
[Xsn,Xin,Ain] = preparets(net,Xn);% prepare input to get time series for training
Yn = net(Xsn,Xin,Ain);% get prediction
Thanks,
Yiwen
  3 Kommentare
Greg Heath
Greg Heath am 27 Jul. 2017
Is recurrent a function you designed? I don't have it in my toolbox.
Hamid Radmard Rahmani
Hamid Radmard Rahmani am 10 Feb. 2019
Hi Yiwen,
I am confused!
The output shall be also inlcuded in Xn to be able to use the preduced Xsn as input to the net.
So always it is required to have output as part of input to feed the RNN in matlab.
Can any body explain how to feed new data, in which only the inputs are exists, to a trained RNN to get outputs?
Thanks

Melden Sie sich an, um zu kommentieren.


Parimal Sarathi
Parimal Sarathi am 20 Nov. 2017
Hi Greg, I am also trying to solve a problem where I need to predict the outputs of a system (represented by the NarxNet Neural Network model). While training the network I am using a open loop network. For this I need to give the targets for preparets to format the training data for training. After training the network I am closing the network using
[cnet,cinitialinputdelay,cinitiallayerdelay] = closeloop(net,oinitialinputdelay,oinitiallayerdelay);
but this gives a very high performance values as compared to the one given by the open loop training process. When I investigated this I found out that the 4th parameter returned by preparets function, i.e. the Initial Layer Delay, is the different for the cases.
Just for the sake of the sanctity of the problem, I tried entering the parameters for the closed loop simulation after computing their values from the preparets function (which required me to give in the targets that my network needs to achieve). I couldn't find anything on how the Initial Layer Delay (Ai) is being calculated.

Kategorien

Mehr zu Deep Learning Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by