Я не специалист по рекомендательным системам, но, насколько я понимаю, предпосылка этого вопроса неверна.
Неотрицательность не так важна для совместной фильтрации.
Приз 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 работает лучше всего.