Pourquoi la non-négativité est-elle importante pour les systèmes de filtrage / recommandation collaboratifs?

11

Dans tous les systèmes de recommandation modernes que j'ai vus qui reposent sur la factorisation matricielle, une factorisation matricielle non négative est effectuée sur la matrice utilisateur-film. Je peux comprendre pourquoi la non-négativité est importante pour l'interprétabilité et / ou si vous voulez des facteurs clairsemés. Mais si vous ne vous souciez que des performances de prédiction, comme dans le cas du concours Netflix par exemple, pourquoi imposer la restriction de non-négativité? Il semblerait que ce soit pire que d'autoriser également des valeurs négatives dans votre factorisation.

Cet article est un exemple très cité d'utilisation de la factorisation matricielle non négative dans le filtrage collaboratif.

Lembik
la source
1
Je ne connais pas très bien les systèmes de recommandation (vous pourriez peut-être inclure des exemples d'articles dans votre question?). Si le modèle de préférence NNMF que vous inférez est vrai, alors la réponse la plus probable est d'améliorer la généralisabilité. En d'autres termes, il se peut qu'empiriquement un manque d '«interprétabilité / rareté» soit associé à un sur-ajustement . Cependant, le codage clairsemé (c'est-à-dire la régularisation L1 / LASSO) peut répondre à ces exigences aussi loin que je sache. (Il se pourrait que NNMF ait une meilleure interprétabilité.)
GeoMatt22

Réponses:

14

Je ne suis pas un spécialiste des systèmes de recommandation, mais pour autant que je comprends, la prémisse de cette question est fausse.

La non-négativité n'est pas si importante pour le filtrage collaboratif.

Le prix Netflix a été remporté en 2009 par l'équipe BellKor. Voici l'article décrivant leur algorithme: La solution BellKor 2008 pour le prix Netflix . Comme il est facile à voir, ils utilisent une approche basée sur SVD:

Les fondements de nos progrès en 2008 sont exposés dans le document KDD 2008 [4]. [...] Dans l'article [4] nous donnons une description détaillée de trois modèles de facteurs. Le premier est un simple SVD [...] Le deuxième modèle [...] nous appellerons ce modèle «SVD asymétrique». Enfin, le modèle factoriel plus précis, nommé «SVD ++» [...]

Voir aussi cet article plus populaire par la même équipe Techniques de factorisation matricielle pour les systèmes de recommandation . Ils parlent beaucoup de SVD mais ne mentionnent pas du tout NNMF.

Voir également ce billet de blog populaire Netflix Update: Try This at Home de 2006, expliquant également les idées SVD.

Bien sûr, vous avez raison et il y a aussi du travail sur l'utilisation de NNMF pour le filtrage collaboratif. Alors, qu'est-ce qui fonctionne mieux, SVD ou NNMF? Je n'en ai aucune idée, mais voici la conclusion d' une étude comparative des algorithmes de filtrage collaboratif de 2012:

Les méthodes basées sur la factorisation matricielle ont généralement la plus grande précision. Plus précisément, les SVD, PMF et leurs variations régularisés fonctionnent mieux jusqu'à MAE et RMSE, sauf dans des situations très clairsemées, où NMF est le plus performant.

amibe
la source
2
En général, c'est une bonne réponse. Mais juste pour corriger certains faits, la solution BellKor 2008 a remporté le prix du progrès. L'algorithme global gagnant était un mélange de plus de 100 prédicteurs (Töscher et al. 2009). NMF en faisait également partie.
dpelisek