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

Reply via email to