Quote:
Originally Posted by ilya239
I'm trying to understand why it makes sense to multiply user factor by movie factor, to get that factor's contribution to the rating. E.g. if user doesn't like horror movies and the movie has a low "horror movie" rating, multiplying these together gives a low number. Shouldn't the rating be based on the distance/difference between a user's value for a factor and a movie's value for that factor?

An inner product is just a model, motivated by the maximization of such a product (in the case of unit norms) when the two vectors match exactly. Your idea of a distance is another model, also with its own plausibility. The learning algorithm will adjust the values of the parameters for each model so that the error is minimum, and the only objective way of comparing the plausibility of the two models is to compare their outofsample performance at that point.