2
$\begingroup$

New to ML here. In our industry, we are looking for a type ML method/model that can be updated to accommodate new data points while keeping the prediction value of the historical data exactly the same. Of course a simple hash table would do, but are there other better alternatives. First question is what is this type of method/model called in the ML world. Where could I find some good examples/explanations of such techniques?

Thanks

$\endgroup$
0
$\begingroup$

The safest way to keep the same predictions for your older data is versioning your trained models. It is, keeping the generated model artifact (in python could be pickle file, h5 file, etc) to make sure that you can use it getting the same results as you say, and generating new models (so new artifacts) via retraining when new data come in.

The usual approach is deciding an evaluation metric for your ML model, and based on it, when new data come in, you retrain your models (the frequency for this is something to decide on your team) and when the metric value is better (enough) than the latest model version, you can promote this new model for use in production. Theere are quite goos frameworks for models versioning, as MLflow.

Keep in mind that transfer learning does not guarantee predictions on older data are going to be same, since a new model is trained based on another model, but a different model is eventually created.

$\endgroup$
2
  • $\begingroup$ I should clarify, the desire is to use a single model or combined model in production, when new data identical to old training data comes in, the model(s) will produce prediction identical to the old data. $\endgroup$
    – elgnoh
    Jan 12 at 18:05
  • $\begingroup$ The point of ML is keep improving your models as new data come in, and improving is based on that evaluation metric. $\endgroup$
    – German C M
    Jan 12 at 18:19
-1
$\begingroup$

The wording of the question is a bit vague, but I believe the machine learning term you are looking for is transfer learning, which is essentially recycling a previously trained model while adding new data. This is a common technique for data scientists to take advantage of existing models (oftne created by groups with much more data and resources, such as Google) and customizing it for their own specific use-case. For example, taking an existing, general NLP model and training it to work better on StackExchange comments.

Depending on the problem, there are other concepts like lifelong learning and continual learning, but transfer learning is a better starting point for someone new to ML.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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