2.1. 协同过滤

协同过滤(Collaborative Filtering)是推荐系统中最基础的技术之一。它的基本想法很简单:如果两个用户过去喜欢相似的物品,那么他们未来也可能有相似的偏好。或者反过来说,如果两个物品被相似的用户群体喜欢,那么喜欢其中一个物品的用户也可能喜欢另一个。

这个想法最早在1992年的Tapestry系统 (Goldberg et al., 1992) 中被提出,后来在Amazon、Netflix等公司得到了广泛应用。

协同过滤的工作过程可以简单描述为:首先收集用户的历史行为数据(如评分、点击、购买记录),然后计算用户之间或物品之间的相似度,最后基于这些相似度为用户生成推荐。

根据计算相似度的对象不同,协同过滤可以分为两种基本类型:

基于用户的协同过滤(User-based CF)(2.1.1节) :找到与目标用户兴趣相似的其他用户,然后推荐这些相似用户喜欢的物品。

基于物品的协同过滤(Item-based CF)(2.1.2节) :找到与用户历史喜欢物品相似的其他物品进行推荐。

除了这两种传统方法,矩阵分解(Matrix Factorization)(2.1.4节) 作为一种基于模型的协同过滤方法,通过学习用户和物品的低维向量表示来进行推荐,在实际应用中也取得了很好的效果。

接下来我们将详细介绍这些协同过滤方法的原理和实现。