如何创建集成协同过滤和内容特征的推荐系统?

机器算法验证 推荐系统
2022-03-30 07:25:40

我正在创建一个推荐系统,并希望将“相似”用户的评分和项目的特征结合起来。输出是预测等级 [0-1]。我正在考虑使用神经网络(开始)。

因此,输入是项目特征和每个用户评分的组合。对于项目 A 和用户 1,系统可以在组合数据 A1 上进行训练。这将是一个训练示例。

如果用户 1 也评价了电影 B 怎么办?那么数据 B1 也可以作为训练样本吗?以这种方式重复使用用户 1 的特征进行训练有问题吗?

您对解决问题的更好方法有什么建议吗?

3个回答

为什么在完全理解问题之前考虑使用神经网络?

用于协同过滤的标准矩阵分解方法能够轻松利用内容特征。有关如何在贝叶斯设置中完成此操作的示例,请参阅Matchbox 论文

三篇关于将矩阵分解与内容特征相结合的论文(这里是专门的主题模型):

  • Deepak Agarwal 和 Bee-Chung Chen。2010. fLDA:通过潜在狄利克雷分配进行矩阵分解。在第三届 ACM 网络搜索和数据挖掘国际会议论文集(WSDM '10)中。ACM,纽约,纽约,美国,91-100。
  • 韩怀山和阿林丹·班纳吉。2010. 用于协同过滤的广义概率矩阵分解。在 2010 年 IEEE 国际数据挖掘会议 (ICDM '10) 论文集上。IEEE 计算机协会,华盛顿特区,美国,​​1025-1030。
  • 王冲和大卫·M·布莱。2011. 用于推荐科学文章的协作主题建模。在第 17 届 ACM SIGKDD 知识发现和数据挖掘国际会议论文集 (KDD '11) 中。ACM,纽约,纽约,美国,448-456。

我也会宣传我自己的博客文章,稍微讨论一下这个问题: Topic Models meet Lantent Factor Models

不需要神经网络方法,协同过滤本身就是一种算法。具体针对您的问题,对 cf 和 recomender system 有很好的描述:

ml-class.org

(寻找 XVI:推荐系统)。它优雅、简单,如果你做得对(即使用矢量化形式、快速最小化器和准备好的渐变),它可以非常快。