Hey Ted, This is what I though. So, let's say I have a *new* user that I want to estimate the basis vector for a new user using the SVD I already computed.
I end up having something like: l*R = r where l is the user basis I want to calculate and R is the feature basis for the items and r is the users ratings. My linear algebra is a bit rusty. But this almost looks like least squares. In any case, what is the next step. Given the users ratings and the singular vectors for the items, how do I estimate the user's singular vector? Thanks for the help Chris On Feb 25, 2011, at 10:48 AM, Ted Dunning wrote: > > Small numbers of new users rarely cause the universe to be all that > different. That means that you can usually express their behavior pretty > accurately in terms of the old basis vectors. Expressed mathematically, if > you have a large number of vectors sampled from some relatively low rank > sub-space then the basis for that sub-space as estimated from your first > sample will be pretty good and thus will be a decent basis for another > tranche of vectors from the same distribution. > > So the answer to your question is, yes, there are easy assumptions to > simplify this process and yes, you can assume negligible effect and just > rebuild occasionally. > > On Fri, Feb 25, 2011 at 10:42 AM, Chris Schilling <[email protected]> wrote: > Hello, > > So, I have begun working with the SVDRecommender implementation. Obviously, > a matrix factorization technique will not play nice when we try to add an > anon/new user (say via the PAUDM) because we have not re-factorized. > > So my question is more from the linear algebra standpoint: is it possible to > estimate the new singular vector when adding a small amount of information > (i.e. a new user or a new item) to the matrix? Are there assumptions that > can be made to simplify this estimate? For instance, could we assume that > the addition of a single row or column will have negligible effect on the > already computed singular vectors? > > If this is possible, I would be interested in playing around with the > implementation. Can you point me in the right direction? I'll do some more > research over the next few days as well. > > > Finally, I have a question about the sequential factorizations in Mahout. > Once I have my original matrix factorized, what is the easiest way to > serialize the results of the factorization for reading back in at a later > time? Would I loop through all the items and users and dump the features for > each? How to read that back in then? > > Thanks for all the help, Much appreciated, > Chris > >
