1
$\begingroup$

In my project I use 2 MLP ANNs: for classification and for prediction. Basic training dataset is stored in database (MS SQL Server). But we need to make future incremental learning possible. It means that ANN is used in industrial realtime system, operator marks observations in database as objects of a particular class and ANN must take it into account. How can I do it?

$\endgroup$

1 Answer 1

0
$\begingroup$

If your old data is representatively of the underlying population and there is no radical shift of the underlying true model over time. Than you don't need to update you model as new data comes in. You might want to retrain you model with the new dataset periodically, but you don't need to do it in real time on your production machine.

If the underlying true does change radically overtime and you don't have any existing data to captures those changes then doesn't matter what algorithm you use, it's not going to work. The information is simply not there.

$\endgroup$
3
  • $\begingroup$ But what should I do if data changes overtime? Not radically but changes. I have only one idea: to train network periodically using data from particular period (for example 3 months). Is this variant OK? P.S. My data is multivariate timeseries $\endgroup$ Nov 7, 2017 at 12:49
  • $\begingroup$ The easiest way would be what you suggested re-fit the model periodically using a fixed sized window. Or you can also try using an decaying weight to each sample. For an example, training example from the last month will have a weighting factor of 1, the month before will have a weighting of 0.95. then the loss is multiplied by the weighting factor before doing backdrop. $\endgroup$
    – Louis T
    Nov 7, 2017 at 20:58
  • $\begingroup$ There are other methods like Recurrent Neural Network which is in general considered as better at dealing with sequence data. Depends on your use case, reinforcement learning might be applicable as well. $\endgroup$
    – Louis T
    Nov 7, 2017 at 21:00

Not the answer you're looking for? Browse other questions tagged or ask your own question.