Hi Ted,
If I correctly understand then the SVD based recommendation calculation is: 1) V_k = Lanczos ( A’A ) But V’_k = Lanczos (( A’A)’ ) = Lanczos ( A’A ) = V_k because (AB)’ = B’A’ 2) Then the low rank approximation of A should be A_k = A*V_k*V_k’ instead of A_k = A*V_k*V’_k = A*V_k*V_k Regards, Laszlo From: Ted Dunning [mailto:[email protected]] Sent: dinsdag 20 juli 2010 23:43 To: Laszlo Dosa Subject: Re: SVD implementation in Mahout I am happy to help. ' indicates the transpose. U_k and V_k are the left and right singular vectors respectively. Could we continue the discussion on the mailing list so that people too shy to ask questions benefit from your questions? On Tue, Jul 20, 2010 at 9:41 AM, Laszlo Dosa <[email protected]> wrote: I made a basic SVD implementation using mahout, but I am still following the implementation of <https://issues.apache.org/jira/browse/MAHOUT-371> https://issues.apache.org/jira/browse/MAHOUT-371. In one of you comments you corrected Simon on the math how to calculate SVD: “ A V_k V'_k = U_k S_k V'_k ” I am a little bit confused on the math how to calculate the V_k and V’_k and I am not sure what is the difference between V_k and V’_k and how I can calculate the V’_k. Will you have the time to clarify this or to post some articles that explains the math in depth? Regards, Laszlo
