Collaborative Filtering for Implicit Feedback Datasets
Yifan Hu, Yehuda Koren, Chris Volinsky
This paper discusses a latent factor model that uses implicit feedback for training and evaluation. The model uses the implicit feedback to compute binary users preferences p and a certain confidence c in this preference. For example, if a user consumed a certain item, it will have p=1, and a confidence c=1+a·r, where r is the value given by the implicit feedback in the dataset and a is a constant. The goal is the same as in the explicit feedback setting, to find vectors x, y for each user and item respectively. The objective function is shown in Figure 1.
The function is similar to previous matrix factorization methods, with the exception that it needs to account for the confidence value and needs to compute all u, i pairs. Because of this last exception, the complexity explodes with SGD, so an alternating-least-squares optimization process is proposed.
One question that arises, is that it would be helpful to record negative feedback. For example, if a user exits a movie after a short period of time, it would probably mean that he disliked the movie. There are two options for the dataset, either this interaction wasn’t considered because of the short time so r=0, or was considered as a somewhat good thing, with r>0. But the correct connotation would be to have something different that r=0 or r>0, as something we haven’t watched is a better recommendation than something we disliked.
On the experiments section, it is shown that the model outperforms the Popularity and Neighborhood baselines, an keeps getting better with the number of factors. The authors recommend using the highest number of factors that is computationally feasible. Is this a characteristic of the model? Will always more factors help with the recommendation? There might be a factor number where some of them just apport ambiguity, decreasing the quality of the recommendation.