Преимущества совместной фильтрации и недостатки

Преимущества

Знание предметной области не требуется

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

случайность

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

Отличная отправная точка

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

Недостатки

Не могу обрабатывать свежие продукты

Прогноз модели для данной пары (пользователь, элемент) представляет собой скалярное произведение соответствующих вложений. Таким образом, если элемент не виден во время обучения, система не сможет создать для него внедрение и не сможет запросить модель с помощью этого элемента. Эту проблему часто называют проблемой холодного запуска . Однако следующие методы могут в некоторой степени решить проблему холодного запуска:

  • Проекция в WALS. Учитывая новый элемент \(i_0\) который не наблюдался при обучении, если система несколько раз взаимодействовала с пользователями, то система может легко вычислить встраивание \(v_{i_0}\) для этого элемента без необходимости переобучения всей модели. Система просто должна решить следующее уравнение или его взвешенную версию:

    \[\min_{v_{i_0} \in \mathbb R^d} \|A_{i_0} - U v_{i_0}\|\]

    Предыдущее уравнение соответствует одной итерации в WALS: пользовательские внедрения остаются фиксированными, и система решает вопрос о внедрении элемента \(i_0\). То же самое можно сделать и для нового пользователя.

  • Эвристика для создания вложений новых элементов. Если в системе нет взаимодействий, система может аппроксимировать ее встраивание, усредняя встраивания элементов из одной категории, от одного и того же загрузчика (на YouTube) и т. д.

Трудно включить дополнительные функции для запроса/элемента.

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

Чтобы обобщить WALS, дополните входную матрицу функциями , определив блочную матрицу \(\bar A\), где:

  • Блок (0, 0) — это исходная матрица обратной связи \(A\).
  • Блок (0, 1) — это мультигорячее кодирование пользовательских функций.
  • Блок (1, 0) — это многократное кодирование признаков предмета.