10
$\begingroup$

I am creating a Recommender System and want to incorporate both the ratings of "similar" users and the features of the items. The output is a predicted rating [0-1].I am considering a Neural Network (to start with).

So, the inputs are a combination of the features of the items and the ratings of each user. For item A and user 1, the system could be trained on the combined data, A1. This would be one training example.

What if user 1 also rated movie B? Then would the data B1 also be a training example? Is there a problem with repeating the training with user 1's features in this way?

Do you have any suggestions about a better way to approach the problem?

$\endgroup$

3 Answers 3

12
$\begingroup$

Why are you considering a neural network before completely understanding the problem?

Standard matrix factorization methods for collaborative filtering are able to leverage content features easily. For an example of how this can be done in a Bayesian setting see the Matchbox paper.

$\endgroup$
6
$\begingroup$

Three papers about integrating matrix factorization with content features (here, topic model specifically):

  • Deepak Agarwal and Bee-Chung Chen. 2010. fLDA: matrix factorization through latent dirichlet allocation. In Proceedings of the third ACM international conference on Web search and data mining (WSDM ’10). ACM, New York, NY, USA, 91-100.
  • Hanhuai Shan and Arindam Banerjee. 2010. Generalized Probabilistic Matrix Factorizations for Collaborative Filtering. In Proceedings of the 2010 IEEE International Conference on Data Mining (ICDM ’10). IEEE Computer Society, Washington, DC, USA, 1025-1030.
  • Chong Wang and David M. Blei. 2011. Collaborative topic modeling for recommending scientific articles. In Proceedings of the 17th ACM SIGKDD international conference on Knowledge discovery and data mining (KDD ’11). ACM, New York, NY, USA, 448-456.

I also would promote my own blog entry that discusses this issue a little bit: Topic Models meet Lantent Factor Models

$\endgroup$
4
$\begingroup$

There is no need for a neural network approach, collaborative filtering is an algorithm on itself. For your problem specifically, there is a good description of cf and recomender system on:

ml-class.org

(look for XVI: Recommender Systems). It is elegant, simple, and if you do it right (that is, use vectorized form, fast minimizers, and prepared gradients) it can be quite fast.

$\endgroup$
1
  • 1
    $\begingroup$ I used that approach, but it does not use the features of the items. I would like to include features as well. $\endgroup$
    – B Seven
    Commented Feb 19, 2012 at 15:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.