I've been reading about using matrix factorization for collaborative filtering, but I can't seem to find an example that deals with adding a new user or item to the system, or having the user rate a new item. In these cases, the item-user matrix and the factorization needs to be recomputed, correct? How can this perform well with a large number of users and items? Is there a way around it?
Thank you
Your question has two parts: (A) How to deal with new users and items, and (B), how to deal with new interactions (e.g. ratings, clicks, etc.).
(A) There are basically 2 different strategies for dealing with new users and items (no matter whether we use matrix factorization or something else):
There are many papers in the academic literature on both problems.
(B) This is really not problematic -- incremental updates to a matrix factorization model does not have high computational costs. See for example this paper: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.165.8010&rep=rep1&type=pdf
The MyMediaLite library (disclaimer: I am the main author) supports incremental updates for several matrix factorization methods: http://ismll.de/mymedialite
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With