Алгоритмы систем рекомендаций на основе подобия.

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

В этих рекомендательных системах, основанных на сходстве, доступны два типа сходства, и мы можем их использовать.

Они есть:

  • Сходство между элементами и
  • Сходство между пользователями.

Интересным фактом является то, что сходство на основе Item-Item популяризировалось Amazon в 2003 году. В основном оно реализовано в крупных системах электронной коммерции, таких как весовые системы.

Теперь, с практической точки зрения, давайте сначала рассмотрим сходство между пользователями.

Сходство между пользователями:

Представьте, что нам даны массивные данные матрицы A, где у нас есть пользователи в виде строк Ui и элементы в виде столбцов Ij. Сейчас. давайте посмотрим на вектор Ui и предположим, что это простота вектора-столбца.

Теперь этот вектор также можно рассматривать как пользовательский вектор. А также это разреженный вектор, очень похожий на Bag Of Words. Помните, что наш Bag Of Words — это разреженный вектор, который имеет счетчики.

У пользователя Ui есть рейтинг по пункту Ij, вот что у нас есть. Теперь мы можем определить подобие пользовательских ui и uj как косинусное сходство между (ui, uj), которое есть не что иное, как норма L2.

=› Sim(Ui,Uj) = косинус(ui,uj).

Учитывая эту матрицу «А», теперь представьте, что мы можем вычислить для каждой пары пользователей, используя это векторное представление пользовательского вектора, мы можем вычислить сходство.

Давайте назовем эти сходства как "Aij" в ценностях пользователя.

Представьте, что вы создаете матрицу «S» с помощью Sij. Это не что иное, как матрица сходства с пользователями.

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

Итак, теперь, учитывая эту Матрицу подобия, как она выглядит визуально

Предположим, нам дан пользователь U10, и задача состоит в том, чтобы порекомендовать новинки пользователю U10.

Теперь, что мы будем (или) можем сделать, мы перейдем к U10 в матрице «сходства», и когда мы посмотрим на вектор и в зависимости от того, какое значение больше, это будет больше похоже на U10. Если мы можем объявить, что U1, U2 и U7 являются тремя пользователями, наиболее похожими на U10, то мы можем сказать, что они присвоили одинаковые рейтинги.

=› U10 — — — — ››U1, U2 и U7 — пользователи, наиболее похожие на U10.

И как эта матрица сходства с пользователями построена с использованием оценок, данных пользователем.

Теперь мы можем сказать, что в качестве рекомендаций выбирают элементы, которые понравились пользователям U1, U2 и U7, но которые еще не просмотрели пользователи U10.

=› U10 — — — —›› U1, U2, U7 — три пользователя, наиболее похожие на U10.

Вот как шаг за шагом работает система рекомендаций по сходству на основе «пользователь-пользователь».

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

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

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

Становится намного-намного тяжелее. Наши предпочтения (или) вкусы будут меняться со временем, а предпочтения пользователей, как правило, меняются гораздо чаще, чем время. Если изменения происходят нечасто, мы можем использовать самые последние данные и построить Matrix. (например, данные за последние 90 дней). А = [ ].

Таким образом, альтернативным подходом является рекомендательная система, основанная на сходстве «элемент-элемент».

Итак, давайте посмотрим, как избежать этой проблемы, используя сходство «предмет-предмет».

Система рекомендаций на основе предметов:

Это очень простая идея, похожая на схему «пользователь-пользователь», за исключением того, что теперь мы заменим каждого пользователя «Ui» и представим каждый элемент «Ij» в виде вектора. И это снова приносит матрица «А».

Ij = [ ]

Здесь одним из ключевых преимуществ вещей, основанных на предметах, является то, что

«→ Рейтинги по данному пункту существенно не меняются после начального периода».

Возьмем пример. Возьмем очень популярный фильм под названием «Парк Юрского периода».

Итак, когда вышел «Парк Юрского периода», вероятно, в первые несколько дней было много оценок, и давайте предположим, что средняя оценка составляет 4/5 звезд. Несмотря на то, что после начального периода большинство людей признают, что фильм «Парк Юрского периода» — блестящий фильм во всех аспектах, будь то графика, сюжет и все такое, и его рейтинг не изменится так значительно.

  • Рейтинги данного продукта/элемента существенно не меняются с течением времени после начального периода.
  • В начальный период времени будет больше (или) много положительных комментариев, отрицательных комментариев, плюсов и минусов всего этого, но через некоторое время рейтинги будут более (или) менее стабильными.
  • И именно по этой причине компании электронной коммерции, такие как Amazon, предпочли этот подход. Теперь, когда у вас есть Матрица подобия, это очень-очень просто.
  • Представьте, что у нас есть пользователь U10, которому мы должны порекомендовать продукты. Теперь мы знаем, что ему нравится, и теперь, чтобы порекомендовать новый продукт, мы скажем взять все продукты, похожие на I1.

  • Теперь, если у нас в качестве примера I4 присутствует во всех этих наборах. Теперь вероятность того, что U10 похожа на I4, высока.
  • Поскольку мы знаем, что U10 любит I1, I2 и I7, а I4 похож на I1 и I2, то вероятность того, что I4 понравится U10, высока.

Теперь как правило:

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

Когда мы знаем это, лучше использовать RS сходства на основе элемента-элемента, чем RS пользователя-пользователя. Таким образом, больше пользователей, чем элементов «элемент-элемент RS», и вычисление элемента-элемента более просто.

=› Su = Для пользователей; Si = Предметы.

ПИСАТЕЛЬ на MLearning.ai // Управление AI-видео 🗿/imagine AI 3D Models