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

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

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

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

Интуиция

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

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

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

Недостатки

Не справляется со свежими продуктами

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

  • Проекция в 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) — это многократное горячее кодирование характеристик элемента.