Система рекомендаций – это обширный класс веб-приложений, предполагающий прогнозирование реакции пользователя на параметры.

Начнем с простого вопроса:

Зачем нам нужны системы рекомендаций?

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

Итак, давайте рассмотрим еще один пример книжного магазина,

В магазине особое внимание уделялось книгам New Collection, популярным книгам и т. д.…

Чтобы покупатель мог быстро выбрать книгу,

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

Примеры в реальном времени, такие как Amazon, Netflix, Flipkart и т. д., они использовали механизм рекомендаций для предложения товаров или продуктов, которые также могут понравиться покупателям.

Как разработать систему рекомендаций?

Хотя машинное обучение (ML) обычно используется при создании рекомендательных систем, это не означает, что это единственное решение. Есть много способов построить рекомендательную систему? более простые подходы, например, у нас может быть очень мало данных, или мы можем захотеть быстро построить минимальное решение и т. д.

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

1. на основе популярности

2. на основе классификации

3. совместная фильтрация

-Ближайший сосед

-Матричная факторизация

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

На основе популярности:

Самый простой способ построить рекомендательную систему — это популярность, просто по всем популярным продуктам. Итак, как определить популярные продукты, которые можно определить по тому, какие продукты покупают больше всего,

Например, в магазине мы можем предложить популярные платья по количеству покупок.

На основе классификации

Второй способ построения системы рекомендаций - это модель классификации, в которой используются функции как пользователей, так и продуктов, чтобы предсказать, понравился ли этот продукт пользователю или нет.

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

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

Совместная фильтрация:

Модели совместной фильтрации, основанные на предположении, что людям нравятся вещи, похожие на другие вещи, которые нравятся им, и вещи, которые нравятся другим людям со схожими вкусами.

модели совместной фильтрации бывают двух типов,

I. Ближайший сосед

II. Матричная факторизация

позвольте мне в двух словах объяснить каждый метод совместной фильтрации,

Nсовместная фильтрация ближайших соседей:

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

На это можно смотреть двояко,

i.Фильтрация на основе пользователей

ii.Фильтрация на основе элементов

Совместная фильтрация на основе пользователей:

Найдите пользователей, у которых вкусы продуктов схожи с текущим пользователем, сходство основано на покупательском поведении пользователя, поэтому на основе покупательского поведения соседей мы можем рекомендовать товары текущему пользователю.

Совместная фильтрация на основе элементов:

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

Предметы A и B были куплены пользователями X и Y, тогда оба они похожи.

Матричная факторизация:

По сути, это совместная фильтрация на основе моделей, а матричная факторизация является важным методом в системе рекомендаций.

позвольте мне дать абстрактное объяснение матричной факторизации,

Когда пользователь дает отзыв об определенном фильме, который он посмотрел (скажем, он может поставить оценку от одного до пяти), этот набор отзывов можно представить в виде матрицы. Где каждая строка представляет каждого пользователя, а каждый столбец представляет разные фильмы. Очевидно, что матрица будет скудной, поскольку не все будут смотреть каждый фильм (у всех нас разные вкусы, когда дело доходит до фильмов).

Ссылка:

http://www.quuxlabs.com/blog/2010/09/matrix-factorization-a-simple-tutorial-and-implementation-in-python/

https://www.kaggle.com/rounakbanik/movie-recommender-systems

https://www.youtube.com/watch?v=39vJRxIPSxw.

https://www.youtube.com/watch?v=ZspR5PZemcs

https://www.recombee.com/