Patent ID: 8661042

Claim:
A computing device implemented method for collaborative filtering, comprising: representing users and objects for which users can express a preference by rows and columns in a binary ratings matrix having a particular dimensional space, wherein the binary ratings matrix includes values, wherein a value indicates a preference of a user for an object; weighting unknown values in the binary ratings matrix with a weight matrix having the particular dimensional space; hashing the binary ratings matrix and the weight matrix into a lower dimensional space by one of row and column, wherein hashing includes stochastically sampling a dimensional simplex of the binary ratings matrix by the one of row and column; low-rank approximating the hashed binary ratings matrix and the hashed weight matrix by alternating least squares; updating a result of the low-rank approximation for the one of row and column using the binary ratings matrix and the weight matrix; and generating a recommendation of one of the objects for one of the users based on the updated result.