How to use more than one training set for training a NARX neural network?
Show older comments
I have a question concerning the training of NARX neural networks using the Neural Network Toolbox. The task is to obtain a neural black box model of a time-dependent system and, as such, to predict time series.
Now I want to train my NARX network not only with one training set, i.e. one time series, but with several ones. In my case, this is important since it is important that the network captures the real system's behavior in the beginning of a time series. Hence, if I only use one training series, there is only one opportunity for the network to learn that behavior.
Again, to clarify: Can I somehow join several time series into one and use it for training, or can I do the training with several time series?
If an example might help, consider this: Say I want to train the NARX network such that it approximates a timeseries y(t)=t^2 + u(t). Now, it doesnt make full sense to create only one training data set with a varying u over time, say u(t)=t: Since the system itself is time-dependent, how can the network ever learn what would happen e.g. in the beginning if I would use u(t)=sqrt(t) and then predict the according time series? Hence, I would like to create several training data sets with say u(t)=t; u(t)=sqrt(t); u(t)=t^2 so that the network might interpolate between them. The final question to be answered is: How can I train the network using all these three training data set - at once?
I hope I could describe my issue in due detail.
Thanks a lot in advance! Robert
Accepted Answer
More Answers (1)
Greg Heath
on 6 Jul 2014
You are not going to be able to do it that way.
1. The net has to recognize which waveform is the input.
a. How many waveforms do you have?
b. How long are they?
2. The weights, not to mention the significant delays, for each input will be different.
I have designed two stage classifiers where the first stage determined which of several second stage classifiers in parallel will complete the classification.
In your case, you could design a first stage classifier to determine which waveform is being input. Its output will then be directed to a second stage containing several parallel nets where each is designed for one type of input.
Hope this helps.
Thank you for formally accepting my answer
Greg
Categories
Find more on Deep Learning Toolbox in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!