Bob 0 0 +2 Carol -1 0 -2 Dave +3 0 0 ¡ Things are associated Like people to colors ¡ Associations have strengths Like preferences and dislikes ¡ Can quantify associations Alice loves navy = +4, Carol dislikes olive = -2 ¡ We don’t know all associations Many implicit zeroes
factored ¡ m•n matrix = m•k times k•n ¡ Associations can decompose into others ¡ Alice likes navy = Alice loves blues, and blues includes navy P m = n X m k k n • Y’
www2.research.att.com/~yifanhu/PUB/cf.pdf ¡ R = matrix of user-item interactions “strengths” ¡ P = R reduced to 0 and 1 ¡ Factor as approximate P ≈ X•Y’ ¡ Start with random Y ¡ Compute X such that X•Y’ best approximates P (Frobenius / L2 norm) ¡ Repeat for Y ¡ Iterate, Iterate, Iterate ¡ Large values in X•Y’ are good recommendations (Least Squares) (Alternating)
¡ Sometimes need immediate, if approximate, updates for new data ¡ For new user U, need new row, XU •Y’ = QU , but have PU ¡ What is XU ? ¡ Apply some right inverse: X•Y’•(Y’)-1 = Q•(Y’)-1 = so X = Q•(Y’)-1 ¡ OK, what is (Y’)-1? ¡ Of course (Y’•Y)•(Y’•Y)-1 = I ¡ So Y’•(Y•(Y’•Y)-1) = I and right inverse is Y•(Y’•Y)-1 ¡ Xu = QU •Y•(Y’•Y)-1 and so Xu ≈ Pu •Y•(Y’•Y)-1 ⌃