On Thu, Apr 4, 2013 at 6:19 PM, Sean Owen <sro...@gmail.com> wrote: > It might make a difference that you're just running 1 iteration. Normally > it's run to 'convergence' -- or here let's say, 10+ iterations to be safe. > > I did not just run one iteration. I ran 10. But the other 9 had no effect on the residual.
> This is the QR factorization of Y' * Y at the finish? This seems like it > can't be right... Y has only 5 vectors in 10 dimensions and Y' * Y is > certainly not invertible. I get: > What I sent was X*Y, which can be quickly assessed to be a decent approximation of A. > 1.20857 -0.20462 0.08707 -0.16972 0.17038 0.00342 0.24459 > -0.23287 0.51142 -0.06083 > 0.00000 1.13242 0.23155 0.24354 0.32995 0.47781 -0.02832 > 0.43071 -0.24968 0.41470 > 0.00000 0.00000 0.91070 0.37732 0.05296 0.39886 -0.62426 > 0.07809 0.53891 0.24877 > 0.00000 0.00000 0.00000 0.69369 -0.21648 -0.10501 0.09706 > -0.03683 -0.10512 0.02849 > 0.00000 0.00000 0.00000 0.00000 0.60165 0.37106 -0.00193 > -0.23392 0.10109 -0.09897 > 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 -0.00000 > -0.00000 -0.00000 0.00000 > 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 > -0.00000 -0.00000 -0.00000 > 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 > 0.00000 -0.00000 0.00000 > 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 > 0.00000 0.00000 -0.00000 > 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 > 0.00000 0.00000 0.00000 > > I think there are some other differences here but probably not meaningful > in this context. For example I was doing implicit-feedback ALS. (But the > result above is from an Octave implementation of "regular" ALS like what > your'e running) > > Normally, I play with implicit feedback, but since you sent a small sample with ratings, I just ran ALS on that. Anyways, I saw no particular reason for the method to fail with k approaching or exceeding m and n. It does if there is no regularization. But with regularization in place, k can be pretty much anything. > There are a bunch of useful thoughts here I am going to both read up and > explore as conditions. > > I hope I was somewhat helpful. Please share if you discover the reason of the instability you came across. > On Thu, Apr 4, 2013 at 8:54 PM, Koobas <koo...@gmail.com> wrote: > > > BTW, my initialization of X and Y is simply random: > > X = rand(m,k); > > Y = rand(k,n); > > > > > > > > On Thu, Apr 4, 2013 at 3:51 PM, Koobas <koo...@gmail.com> wrote: > > > >> It's done in one iteration. > >> This is the R from QR factorization: > >> > >> 5.0663 5.8122 4.9704 4.3987 6.3400 4.5970 5.0334 > >> 4.2581 3.3808 5.3250 > >> 0 2.4036 1.1722 2.3296 1.6580 0.4575 1.1706 > >> 2.1040 1.6738 1.4839 > >> 0 0 1.5085 0.0966 1.2581 0.5236 0.4712 > >> -0.0411 0.3143 0.5957 > >> 0 0 0 1.8682 0.1834 -0.3244 -0.0073 > >> 0.3817 1.1673 0.4783 > >> 0 0 0 0 1.9569 0.8666 0.3201 > >> -0.4167 0.0732 0.3114 > >> 0 0 0 0 0 1.3520 0.2326 > >> -0.1156 -0.2793 0.0103 > >> 0 0 0 0 0 0 1.1689 > >> 0.3151 0.0590 0.0435 > >> 0 0 0 0 0 0 0 > >> 1.6296 -0.3494 -0.0024 > >> 0 0 0 0 0 0 > >> 0 0 1.4307 0.1803 > >> 0 0 0 0 0 0 > >> 0 0 0 1.1404 > >> > >> > >> > >> >