Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Continuous learning from a stream of data #464

Open
dminovski0 opened this issue May 31, 2021 · 2 comments
Open

Continuous learning from a stream of data #464

dminovski0 opened this issue May 31, 2021 · 2 comments

Comments

@dminovski0
Copy link

I use the model to suggest recommendations. But, when there is new data, the entire model needs to be retrained from the start. Is there an option to use continuous learning, and only the new data to be added, for training the model?

@gazon1
Copy link

gazon1 commented Jun 9, 2021

You can't do that with implicit out of the box because you need a way to construct a user_items matrix for new data, also set up a tool to provide previously trained factors. Also you might not want to overfit on new data if you construct user_items matrix only on new streaming data

There are ways to train ALS on streaming data:

  • make and update counters like in the paper
  • build a neural net to mimick MF and update its weights on new data with SGD

@benfred
Copy link
Owner

benfred commented Jan 25, 2022

I've added support for incremental retraining in this PR #527 .

Having said that, you'll still need to maintain the list of items for each users you want to retrain like @gazon1 mentioned - so there are some complexities here that you'd have to implement. (for instance only retraining users/items after the number of liked items changes by some percentage, and then having some code to construct the user_items matrix for those users etc).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants