I am working on a project where I have to update my model every time I get feedback x times. For example, showing an Advertisement on an App and then, when the person doesn't click on in it after seeing it multiple times in a day generates negative example. When they do that's positive. My initial dateset is not very big (<20,000) but it's going to significantly increase in future. I am starting with models like logistic Regression, SVM, XGBoost etc. I have being asked to have a system in place to update my models with the newly available data every day. Not the full data just new data.

I have been searching for each model if it can be trained online or not and if yes, how. I am able to find answers but I am unable to understand the reason why some are fine with online training, some bad and why some don't allow it at all.

I understand every model that uses gradient descent or modification of it (RMSProp, Adam etc.) can easily update weights seeing new data. But what about the rest?

Is there a general rule?


1 Answer 1


You can use any model to update new data and retrain. The model you have may be hosted on cloud or on premise. I don't know why you said that some models can be trained online and others not.

Basically you need to set a data pipeline in place which will capture the new data and send it to your model which will then retrain it. This process is called (not surprisingly!) re-training. It is an integral part of the data science life cycle. And you can use any model for re training not just neural nets!


  • $\begingroup$ I thought retraining means training the whole model again with the full dataset and online training means updating the model with just the new data that we get. Do you mean that all models can be updated using just a mini batch? $\endgroup$
    – Kaushal
    Jun 4, 2022 at 12:02
  • $\begingroup$ I haven't heard the term online training being used. Retraining is the process of training the model on the new data not the whole data. So let's say you have 10 data points and you train the model. Now when you deploy the model, new data keeps coming. So in order to retrain, you train the model only on the new data and no the old one as the model has already been trained on the old data. $\endgroup$
    – spectre
    Jun 5, 2022 at 3:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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