Алгоритм рекомендаций определяет, что больше всего понравится пользователю, и рекомендует это пользователю. Он широко используется на сайтах электронной коммерции. В настоящее время используется более зрелый алгоритм рекомендаций — алгоритм рекомендаций Collaborative Filtering (CF). Основная идея CF состоит в том, чтобы рекомендовать элементы пользователям на основе их предыдущих предпочтений и выбора других пользователей со схожими интересами.

Как показано на рисунке 1, в CF используется матрица m×n, чтобы указать предпочтения пользователя в отношении элемента. Как правило, оценка используется для указания предпочтений пользователя в отношении элемента. Чем выше оценка, тем больше ему нравится предмет, а 0 означает отсутствие взаимодействия. На рисунке строка представляет пользователя, столбец представляет элемент, а Uij представляет ситуацию оценки элемента j пользователем i. CF разделен на два процесса: один — процесс прогнозирования, а другой — процесс рекомендации. Процесс прогнозирования заключается в том, чтобы предсказать возможное значение оценки пользователя для товаров, которые не были куплены, а рекомендация состоит в том, чтобы рекомендовать пользователю наиболее вероятные любимые товары или товары из списка Top-N на основе результатов фазы прогнозирования. В этом блоге мы объясняем CF на основе пользователей и CF на основе элементов.

Пользовательский CF

Идея пользовательского CF заключается в том, что если два человека A и B имеют схожие интересы, то предметы, которые им нравятся, должны быть похожими. Следовательно, мы можем рекомендовать А те товары, которые понравились Б. Он состоит из двух этапов: поиск похожих людей и рекомендация товаров.

Найдите похожих людей

Предположим, что N(u) — это набор элементов, которые нравятся пользователю u, а N(v) — это набор элементов, которые нравятся пользователю v, тогда в чем сходство между u и v? Типичной мерой подобия является сходство Жаккара или косинусное сходство.

Для подобия Жаккара это определяется как

Для косинусного подобия это определяется как

Рекомендация товара

После того, как у нас есть мера сходства пользователей, нам нужно найти K пользователей, наиболее похожих на целевого пользователя u, из матрицы, обозначаемой набором S(u, K), извлечь все элементы, которые нравятся пользователю в S, и удалите элементы, которые вам уже нравятся. Для каждого товара-кандидата i степень заинтересованности в нем пользователя u рассчитывается по следующей формуле:

Здесь r_vi показывает, насколько пользователю v нравится i. В этом примере это все 1. В некоторых рекомендательных системах, которые требуют, чтобы пользователи давали оценку, она должна быть заменена на оценку пользователя. Например, предположим, что мы хотим порекомендовать элементы пользователю A, выбираем K = 3 похожих пользователя, похожие пользователи: B, C, D, тогда элементы, которые им нравятся, а A не нравятся: c, e, затем, соответственно, вычисляют p( А, в) и р(А, е).

CF на основе элементов

Идея CF на основе элементов заключается в том, что если человеку А нравится элемент C, а элемент C похож на элемент D, то он рекомендует C для A. Он состоит из двух основных этапов: расчет схожести элементов и рекомендация элементов. Обычно используются три меры сходства.

Косинусное сходство:если предположить, что каждый элемент имеет вектор признаков, то сходство между элементом I и элементом j равно cos(i,j).

Сходство на основе корреляции: пусть R(u,i) будет оценкой, которую пользователь u дает элементу i, а R_i – это средний рейтинг, который я получил, тогда сходство между элементом i и элементом j равно

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

Рекомендация товара

Теперь мы уже рассчитали сходство между каждым элементом, далее мы вычисляем рейтинг для каждого пользователя u и элемента i. Одна простая стратегия – взвешенная сумма.

Для каждого элемента i и пользователя u пусть S_i,N будет сходством между элементом i и N, а R_u,N будет оценкой, которую u дал элементу N. Тогда предпочтение пользователя u элементу i равно

Сравнение UserCF и Item CF

Характеристики алгоритма UserCF

  1. Применяется для нескольких пользователей, иначе расчет матрицы сходства пользователей будет очень затратным
  2. Подходит для областей, где важна своевременность, а личный интерес пользователя не очевиден.
  3. Он не дружелюбен к новым пользователям, но дружелюбен к новым элементам. Матрица сходства пользователей не может быть рассчитана в режиме реального времени.

Характеристики алгоритма ItemCF

  1. Он подходит для случаев, когда количество элементов заведомо меньше, чем количество пользователей, иначе расчет матрицы подобия элементов будет очень затратным.
  2. Подходит для областей, где много предметов с длинным хвостом и у пользователей есть сильные личные потребности.
  3. Дружественный к новым пользователям, но не дружественный к новым элементам, потому что матрица сходства элементов не требует высокой производительности в реальном времени.
  4. Используйте историческое поведение пользователя в качестве рекомендуемого объяснения, которое будет более убедительным для пользователя.

Таким образом, видно, что UserCF подходит для случаев, когда элементы быстро растут и имеют высокую производительность в реальном времени, например рекомендации новостей. В области книг, электронной коммерции и фильмов, таких как ItemCF, можно в полной мере использовать свои преимущества. На этих веб-сайтах интерес пользователя является относительно фиксированным и продолжительным, а элементы этих веб-сайтов не обновляются очень быстро. Обновлять каждый день терпимо.

Ссылка:

https://en.wikipedia.org/wiki/Collaborative_filtering