Почему неотрицательность важна для систем совместной фильтрации / рекомендации?


11

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

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


1
Я не очень хорошо знаком с рекомендательными системами (возможно, вы могли бы включить несколько примеров документов в свой вопрос?). Если выбранная вами схема предпочтения NNMF верна, то наиболее вероятным ответом будет улучшение обобщаемости. Другими словами, может быть, что эмпирически отсутствие «интерпретируемости / разреженности» связано с чрезмерной подгонкой . Однако разреженное кодирование (то есть регуляризация L1 / LASSO) может удовлетворить эти требования также, насколько я знаю. (Возможно, NNMF обладает более высокой интерпретируемостью.)
GeoMatt22

Ответы:


14

Я не специалист по рекомендательным системам, но, насколько я понимаю, предпосылка этого вопроса неверна.

Неотрицательность не так важна для совместной фильтрации.

Приз Netflix был выигран в 2009 году командой BellKor. Вот статья, описывающая их алгоритм: Решение BellKor 2008 для премии Netflix . Как легко видеть, они используют SVD-подход:

Основы нашего прогресса в течение 2008 года изложены в статье KDD 2008 [4]. [...] В работе [4] мы даем подробное описание трехфакторных моделей. Первая - это простой SVD [...] Вторая модель [...] мы будем называть эту модель «Asymmetric-SVD». Наконец, более точная факторная модель, которая будет названа «SVD ++» [...]

См. Также эту более популярную статью, написанную той же командой. Матричные методы факторизации для рекомендательных систем . Они много говорят о СВД, но вообще не упоминают NNMF.

См. Также это популярное сообщение в блоге Обновление Netflix: попробуйте это дома с 2006 года, также объясняющее идеи SVD

Конечно, вы правы, и есть некоторая работа по использованию NNMF для совместной фильтрации. Так что работает лучше, SVD или NNMF? Я понятия не имею, но вот заключение сравнительного исследования алгоритмов совместной фильтрации 2012 года:

Методы, основанные на матричной факторизации, обычно имеют самую высокую точность. В частности, регуляризованные SVD, PMF и их вариации работают лучше, чем MAE и RMSE, за исключением очень редких ситуаций, где NMF работает лучше всего.


2
В общем, это хороший ответ. Но чтобы исправить некоторые факты, решение BellKor 2008 выиграло приз за прогресс. Общий алгоритм выигрыша представлял собой смесь более 100 предикторов (Töscher et al. 2009). NMF был также частью этого.
dpelisek
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.