Answers.Body: <p>Yes, this is possible. Continuously extending your training data is known as <a href="https://en.wikipedia.org/wiki/Incremental_learning" rel="noreferrer">incremental learning</a>. </p>
  
  <p>You might also want to take a look at <a href="https://machinelearningmastery.com/transfer-learning-for-deep-learning/" rel="noreferrer">transfer learning</a>, in which you reuse a trained model for a different purpose. This is very useful if you have a smaller dataset. </p>
  
  <p>In your particular case, you could train a NN once using your data from 2010 to 2019 and use it as a base model. Every time you get new data, you can use transfer learning to slightly re-train this model. Based on parameters such as the number of epochs and the learning rate, you can determine how much of an impact this new data will have. </p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-07-04T09:54:18.350Z
Answers.Text: This is interesting given that I tried to do it once with a for loop, when i = 0 I did a model.fit with the data from 2010 to 2019 and for i !=0 i just added the new data, but I had a problem with the learning when i != 0, even 100 epochs wasn't enough to make the NN change his prediction to make it correct
  
  Is it because I didn't do it properly with a save.model ?
Answers.UserDisplayName: neomatriciel
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-07-04T18:17:36.770Z
Answers.Text: Or maybe because the i = 0's X_train has a shape like (4000,3) and the i != 0's X_train has a shape like (1,3), is that relevant ?
Answers.UserDisplayName: neomatriciel
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-04-01T11:08:09.900Z
Answers.Text: There is not so much of a "transfer" if the learning is on the new data but of similar data type as the past data. Maybe "fine-tuning" is the term to use here.
Answers.UserDisplayName: Bikash Gyawali
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-07-04T08:52:41.193Z
Answers.LastActivityDate: 2019-07-04T08:52:41.193Z
Answers.UserDisplayName: Saber
Body: <p>I would like to know if it was possible to train a neural network on daily new data. Let me explain this more in detail. Let's say you have daily data from 2010 to 2019. You train your NN on all of it, but, from now on, every day in 2019 you get new data. Is it possible to "append" the training of the NN or do we need to retrain an entire NN with the data from <span class="math-container">$2010$</span> to <span class="math-container">$2019+n$</span> with <span class="math-container">$n$</span> the day for every new day?</p>
  
  <p>I don't know if it is relevant but my work is on binary classification. </p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-11-10T10:26:12.227Z
Comments.Text: There is a similar question [here](https://ai.stackexchange.com/q/3981/2444), but it focuses on the case where _new classes are introduced later._
Comments.UserDisplayName: nbro
Tags: <neural-networks><machine-learning><classification><incremental-learning>
Title: Can I train a neural network incrementally given new daily data?
UserDisplayName: neomatriciel
ThreadText: # Can I train a neural network incrementally given new daily data?
  
  (Asked by: username_0 on 2019-07-03)
  
  I would like to know if it was possible to train a neural network on daily new data. Let me explain this more in detail. Let's say you have daily data from 2010 to 2019. You train your NN on all of it, but, from now on, every day in 2019 you get new data. Is it possible to "append" the training of the NN or do we need to retrain an entire NN with the data from $2010$ to $2019+n$ with $n$ the day for every new day?
  
  I don't know if it is relevant but my work is on binary classification.
  
  **Tags:** neural-networks, machine-learning, classification, incremental-learning
  
  > **Comments:**
  > **username_1**: There is a similar question [here](https://ai.stackexchange.com/q/3981/2444), but it focuses on the case where _new classes are introduced later._  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2019-07-04. Score: 6
  
  Yes, this is possible. Continuously extending your training data is known as [incremental learning](https://en.wikipedia.org/wiki/Incremental_learning).
  
  You might also want to take a look at [transfer learning](https://machinelearningmastery.com/transfer-learning-for-deep-learning/), in which you reuse a trained model for a different purpose. This is very useful if you have a smaller dataset.
  
  In your particular case, you could train a NN once using your data from 2010 to 2019 and use it as a base model. Every time you get new data, you can use transfer learning to slightly re-train this model. Based on parameters such as the number of epochs and the learning rate, you can determine how much of an impact this new data will have.
  
  > **Comments:**
  > **username_0**: This is interesting given that I tried to do it once with a for loop, when i = 0 I did a model.fit with the data from 2010 to 2019 and for i !=0 i just added the new data, but I had a problem with the learning when i != 0, even 100 epochs wasn't enough to make the NN change his prediction to make it correct  Is it because I didn't do it properly with a save.model ?  
  > **username_0**: Or maybe because the i = 0's X_train has a shape like (4000,3) and the i != 0's X_train has a shape like (1,3), is that relevant ?  
  > **username_3**: There is not so much of a "transfer" if the learning is on the new data but of similar data type as the past data. Maybe "fine-tuning" is the term to use here.  
  
  ---
  
  