Em todos os sistemas modernos de recomendação que eu vi que dependem da fatoração de matriz, uma fatoração de matriz não negativa é realizada na matriz de filmes do usuário. Entendo por que a não-negatividade é importante para a interpretabilidade e / ou se você deseja fatores esparsos. Mas se você se importa apenas com o desempenho da previsão, como na competição de prêmios da netflix, por exemplo, por que impor a restrição da não-negatividade? Parece ser estritamente pior do que permitir valores negativos também na sua fatoração.
Este artigo é um exemplo altamente citado do uso de fatoração matricial não negativa na filtragem colaborativa.
Respostas:
Não sou especialista em sistemas de recomendação, mas, pelo que entendi, a premissa dessa pergunta está errada.
A não-negatividade não é tão importante para a filtragem colaborativa.
O prêmio Netflix foi ganho em 2009 pela equipe BellKor. Aqui está o artigo que descreve seu algoritmo: A Solução BellKor 2008 para o Prêmio Netflix . Como é fácil ver, eles usam uma abordagem baseada em SVD:
Veja também este artigo mais popular da mesma equipe Técnicas de fatoração de matriz para sistemas de recomendação . Eles falam muito sobre SVD, mas não mencionam NNMF.
Veja também este post popular do blog Atualização da Netflix: Experimente isso em casa desde 2006, também explicando as idéias de SVD.
Claro que você está certo e há algum trabalho sobre o uso do NNMF para filtragem colaborativa também. Então, o que funciona melhor, SVD ou NNMF? Não faço ideia, mas aqui está a conclusão de Um estudo comparativo de algoritmos de filtragem colaborativa de 2012:
fonte