March 6

Рекомендательные системы для аналитиков, часть 3. Memory-based и model-based подходы

Для любого вида фильтрации есть два варианта реализации:

  1. Memory-based: смотрим историю взаимодействий пользователей с айтемами, тупо вычисляем меру сходства (в зависимости от подхода, по айтемам или по пользователям) и ищем по сходству рекомендацию (чаще всего, это метод ближайших соседей)
  2. Model-based: делаем матрицы, где по строкам все пользователи, а по столбцам все айтемы. Естественно, большинство строчек будут пустые - ведь один пользователь явно не закажет все товары, не переслушает всю музыку, не пересмотрит все фильмы. То есть, матрица будет разреженная. И model-based подход заключается в том, чтобы с помощью моделей машинного обучения полностью заполнить эту матрицу

Самые популярные методы для model-based подходы:

  1. Разные вариации SVD (сингулярного разложения матриц)
  2. Автоэнкодеры

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