8

我一直在阅读有关使用矩阵分解进行协同过滤的文章,但我似乎找不到处理向系统添加新用户或项目或让用户评价新项目的示例。在这些情况下,需要重新计算项目-用户矩阵和分解,对吗?这如何在大量用户和物品的情况下表现良好?有办法解决吗?

谢谢

4

1 回答 1

5

您的问题有两个部分:(A)如何处理新用户和新项目,以及(B)如何处理新的交互(例如评分、点击等)。

(A) 处理新用户和新项目基本上有两种不同的策略(无论我们使用矩阵分解还是其他方法):

  1. 从用户(人口统计、调查)或项目(价格、流派、文本描述、类别)属性估计用户/项目特征
  2. 主动学习:向与系统交互的所有用户展示新项目,或向系统的新用户展示某些项目,以平衡个人用户体验和系统获得的信息。

学术文献中有很多关于这两个问题的论文。

(B) 这确实没有问题——矩阵分解模型的增量更新没有高计算成本。参见例如这篇论文:http ://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.165.8010&rep=rep1&type=pdf

MyMediaLite 库(免责声明:我是主要作者)支持几种矩阵分解方法的增量更新:http: //ismll.de/mymedialite

于 2012-10-10T21:20:45.063 回答