Відмінність рекомендацій, що базуються на предметах та користувачах у Mahout


15

Мені хотілося б знати, чим саме рекомендації Mahout, що базуються на користувача та на основі предметів, відрізняються один від одного.

Це визначає це

На основі користувачів : рекомендуйте елементи, знайшовши подібних користувачів. Це часто важче масштабувати через динамічний характер користувачів.

На основі предметів: обчисліть схожість між елементами та дайте рекомендації. Елементи зазвичай не сильно змінюються, тому це часто можна обчислити в режимі офлайн.

Але хоча існують два типи рекомендацій, я розумію, що обидві будуть приймати певну модель даних (скажімо, 1,2 або 1,2, .5 як item1, item2, value або user1, user2, значення, де значення не є обов'язковий) і виконає всі обчислення як міру подібності та функцію вбудовування рекомендацій, яку ми вибрали, і ми можемо виконувати як рекомендації, що базуються на користувача, так і на одних і тих же даних (це правильне припущення ??).

Тому я хотів би знати, як саме і в яких аспектах ці два типи алгоритму відрізняються.

Відповіді:


11

Ви вірні, що обидві моделі працюють на одних і тих же даних без проблем. Обидва елементи працюють на матриці рейтингів користувачів.

У користувацькому підході алгоритм виробляє рейтинг для iкористувача u, комбінуючи рейтинги інших користувачів u', схожих на u. Подібне тут означає, що рейтинг двох користувачів має високу кореляцію Пірсона або косинусну схожість чи щось подібне.

У підході до основи елементів даних , ми виробляємо оцінку для iпо uдивлячись на набір елементів i', які подібні до i(в тому ж сенсі , як зазначено вище , за винятком того, тепер ми дивилися б на рейтинги , що пункти отримали від користувачів) , що uоцінив а потім об'єднує рейтинги uз i'в прогнозованому рейтингом за uдля i.

Елементний підхід був винайдений в Amazon ( http://dl.acm.org/citation.cfm?id=642471 ) для вирішення їхніх масштабних проблем із фільтруванням на основі користувачів. Кількість речей, які вони продають, набагато менша та набагато менш динамічна, ніж кількість користувачів, тому подібність предмета може бути обчислена в автономному режимі та доступ до неї за потреби.


21

Елементний алгоритм

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

Алгоритм на основі користувача

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

Елемент порівняно з користувачем:

1) Рекомендатори оцінюють кількість елементів або користувачів, з якими вони мають мати справу, тому існують сценарії, в яких кожен тип може працювати краще, ніж інший

2) Оцінки подібності між елементами швидше збігаються з часом, ніж подібності між користувачами

3) Ми можемо обчислити та кешувати схожість, що збігається, що може надати рекомендаціям, що базуються на елементах, перевагу у виконанні

4) Рекомендатори на основі предметів починаються зі списку бажаних елементів користувача, і тому не потрібно найближчого мікрорайону предметів, як це роблять рекомендації на основі користувачів.


Справедливе попередження: посилання не приймаються як відповіді на цьому веб-сайті. Рекомендую редагувати чи видаляти, перш ніж ви отримаєте короткий опис!
sheldonkreger

1
швидше за все, є помилка в "алгоритмі на основі користувача" - четвертий рядок повинен починатися з "додати перевагу u для i ..."
Бернардо Афлало

@BernardoAflalo Я не думаю, що це помилка друку, ви додаєте перевагу для всіх v, а потім приймаєте середньозважене
Освальд
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.