Patent ID: 8463662

Claim:
A method for estimating a rating of a first item by a first user, using a sparse matrix of known ratings κ={(u, i)|r ui is known} wherein r ui are ratings by users u for items i, comprising: by a processor, iteratively pre-computing a matrix P containing a plurality of user factors for each user u and a matrix Q containing a plurality of item factors for each item i, by performing the following for each f th successive factor until a difference between factor-based estimates and known ratings κ is below a threshold value: computing a residual res ui for each known rating r ui as follows: res ui ← r ui - ∑ l = 1 f - 1 ⁢ ⁢ P ul ⁢ Q il ; adjusting the residual res ui to provide shrinkage as follows: res ui ← support ui ⁢ res ui support ui + α ⁢ ⁢ f , wherein α is a constant and support ui is a support behind the known rating r ui ; computing an f th user factor P uf for each user u: P uf ← ∑ i : ( u , i ) ∈ k ⁢ res ui ⁢ Q if ∑ i : ( u , i ) ∈ k ⁢ Q if 2 ; computing an f th item factor Q if for each item i: Q if ← ∑ u : ( u , i ) ∈ k ⁢ res ui ⁢ P uf ∑ u : ( u , i ) ∈ k ⁢ P uf 2 ; and by the processor, estimating the rating of the first item by the first user, as a vector product of item factors Q if for the first item and user factors P uf for the first user.