Différence entre les recommandations basées sur les articles et les utilisateurs dans Mahout


15

Je voudrais savoir en quoi les recommandations basées sur les utilisateurs de mahout et sur les articles diffèrent les unes des autres.

Il définit que

Basé sur l'utilisateur : recommandez des articles en trouvant des utilisateurs similaires. Ceci est souvent plus difficile à mettre à l'échelle en raison de la nature dynamique des utilisateurs.

Basé sur les articles: calculez la similitude entre les articles et faites des recommandations. Les éléments ne changent généralement pas beaucoup, donc cela peut souvent être calculé hors ligne.

Mais bien qu'il existe deux types de recommandations disponibles, ce que je comprends, c'est que ces deux prendront un certain modèle de données (disons 1,2 ou 1,2, 0,5 comme item1, item2, value ou user1, user2, value where value is not obligatoire) et effectuera tous les calculs en tant que mesure de similitude et fonction intégrée de recommandation que nous avons choisies et nous pouvons exécuter la recommandation basée sur l'utilisateur / l'élément sur les mêmes données (est-ce une hypothèse correcte ??).

Je voudrais donc savoir comment exactement et sous quels aspects ces deux types d'algorithmes diffèrent.

Réponses:


11

Vous avez raison de dire que les deux modèles fonctionnent sans problème avec les mêmes données. Les deux éléments fonctionnent sur une matrice de notes d'utilisateurs.

Dans l'approche basée sur l'utilisateur, l'algorithme produit une note pour un article ipar un utilisateur uen combinant les notes d'autres utilisateurs u'similaires u. Similaire ici signifie que les notes des deux utilisateurs ont une corrélation de Pearson élevée ou une similitude cosinus ou quelque chose de similaire.

Dans l'approche basée sur les articles, nous produisons une note pour ien uexaminant l'ensemble des articles i'qui sont similaires i(dans le même sens que ci-dessus, sauf que maintenant nous examinerions les notes que les articles ont reçues des utilisateurs) qui uont évalué puis combine les notes par ude i'en une note prévue par upour i.

L'approche basée sur les éléments a été inventée sur Amazon ( http://dl.acm.org/citation.cfm?id=642471 ) pour relever leurs défis d'échelle avec le filtrage basé sur l'utilisateur. Le nombre de choses qu'ils vendent est beaucoup moins et beaucoup moins dynamique que le nombre d'utilisateurs, de sorte que les similitudes article-article peuvent être calculées hors ligne et accessibles en cas de besoin.


21

Algorithme basé sur les éléments

for every item i that u has no preference for yet

  for every item j that u has a preference for

    compute a similarity s between i and j

    add u's preference for j, weighted by s, to a running average

 return the top items, ranked by weighted average

Algorithme basé sur l'utilisateur

for every item i that u has no preference for yet

 for every other user v that has a preference for i

   compute a similarity s between u and v

   add v's preference for i, weighted by s, to a running average

 return the top items, ranked by weighted average

Article vs basé sur l'utilisateur:

1) Les recommandateurs évoluent avec le nombre d'articles ou d'utilisateurs avec lesquels ils doivent traiter, il existe donc des scénarios dans lesquels chaque type peut être plus performant que l'autre

2) Les estimations de similitude entre les éléments sont plus susceptibles de converger dans le temps que les similitudes entre les utilisateurs

3) Nous pouvons calculer et mettre en cache les similitudes qui convergent, ce qui peut donner aux recommandateurs basés sur des éléments un avantage en termes de performances

4) Les recommandeurs basés sur les articles commencent par une liste des articles préférés d'un utilisateur et n'ont donc pas besoin d'un quartier d'articles le plus proche comme le font les recommandateurs basés sur les utilisateurs.


Juste avertissement: les liens ne sont pas acceptés comme réponses sur ce site. Je recommande de modifier ou de supprimer avant d'obtenir des downvotes!
sheldonkreger

1
il y a très probablement une faute de frappe dans "algorithme basé sur l'utilisateur" - la quatrième ligne devrait commencer par "ajouter la préférence de u pour i ..."
Bernardo Aflalo

@BernardoAflalo Je ne pense pas que ce soit une faute de frappe, vous ajoutez une préférence pour tous les v, puis prenez une moyenne pondérée
Oswald
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.