On Feb 25, 2011, at 1:13 PM, Ted Dunning wrote: > The eigenvectors form an orthonormal matrix. Okay, that's the key I was forgetting! Thanks.
One more linear algebra question. So, does this still hold when the diag(d) matrix is multiplied through the right hand side? Is that an affect I should worry about when trying to compute u? Thanks Ted, Ill try to set this up in my code. Maybe it will be useful to the community to have PAUDM working with the matrix decomposition algorithms. Chris > Thus R R' = I (the unit, not your I). > > Switching to use u for the user representation: > > u R = r > u R R' = r R' > u = r R' > > Note that the right eigenvectors are normally written as a pre-transposed > value. Thus the original rating matrix is approximated by: > > A = U diag(d) V' > > Here your R = V' and R R' = V' V = I is the slightly more traditional way to > express orthonormality. > > On Fri, Feb 25, 2011 at 1:06 PM, Chris Schilling <[email protected]> wrote: > 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 >> >> > >
