Course @ ENSAE ParisTech by Xavier Dupré and Xavier Durut
La factorisation de matrice de faible rang est un problème très important en machine learning et en particulier pour les systèmes de recommendations. Parmi ces systèmes, les plus aboutis sont basés sur l'obtention d’un modèle de quelques facteurs latents permettant d’expliquer en faible dimension les interactions entre clients et produits (ou utilisateurs et films). Dans ce projet, nous avons implémenté une version du Distributed Stochastic Gradient Descent (DSGD) pour la factorisation de matrice de faible rang dans le framework Spark Apache, présentée dans cet article. Nous avons ensuite étudié le temps de calcul de cet algorithme pour la factorisation avec différents nombres de facteurs latents.
Les données utilisées pour ce projet sont un sous-ensemble des données fournies dans le cadre du projet Netflix. Nous avons donc utilisé deux datasets : un dataset de training (training_ratings.txt) et un dataset de test (test_ratings.txt). Chaque ligne de ces fichiers représente le rating d'un film par un utilisateur. Les fichiers ont donc le format suivant : movie_id, user_id, rating. La base d'apprentissage contient 3 255 352 ratings pour 28 978 utilisateurs et 1821 films différents et la base de test contient 100 478 ratings pour 1701 films et 27 555 utilisateurs différents.