Разница в рекомендациях, основанных на предметах и ​​пользователях в Mahout

15

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

Это определяет, что

На основе пользователя : Рекомендовать элементы путем поиска похожих пользователей. Это часто сложнее масштабировать из-за динамического характера пользователей.

На основе предметов: Рассчитать сходство между предметами и дать рекомендации. Элементы обычно не сильно меняются, поэтому их часто можно вычислять в автономном режиме.

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

Поэтому я хотел бы знать, как именно и во всех аспектах различаются эти два типа алгоритма.

Sreejithc321
источник

Ответы:

11

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

В подходе, основанном на пользователях, алгоритм создает оценку для элемента iпользователем u, комбинируя оценки других пользователей u', которые похожи u. Подобное здесь означает, что оценки двух пользователей имеют высокую корреляцию Пирсона или косинусное сходство или что-то подобное.

В подходе к основе элементов данных , мы производим оценку для iпо uглядя на набор элементов i', которые подобны i(в том же смысле , как указано выше , за исключением того, теперь мы смотрели бы на рейтинги , что пункты получили от пользователей) , что uоценил а затем объединяет рейтинги uиз i'в прогнозируемом рейтингу по uдля i.

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

mrmcgreg
источник
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) Рекомендации, основанные на элементах, начинаются со списка предпочтительных элементов пользователя и, следовательно, не нуждаются в ближайшем соседстве элементов, как это делают рекомендации, основанные на пользователях.

SRS
источник
Справедливое предупреждение: ссылки не принимаются в качестве ответов на этом сайте. Я рекомендую редактировать или удалять, прежде чем вы получите какие-либо отрицательные отзывы!
Шелдонкрегер
1
скорее всего, в «пользовательском алгоритме» есть опечатка - четвертая строка должна начинаться с «добавьте предпочтение для вас ...»
Бернардо Афлало
@BernardoAflalo Я не думаю, что это опечатка, вы добавляете предпочтение для всех v, а затем берете средневзвешенное значение
Освальд