基本介绍
现有的协同过滤主要有以下两种:
- 基于用户的协同过滤算法(UserCF):给用户推荐和该用户相似的其他用户喜欢的物品
- 基于物品的协同过滤算法(ItemCF):给用户推荐和他之前喜欢的物品相似的物品
这两个算法可以使用两张图来表示,下图左是UserCF,图右是ItemCF。
UserCF
算法流程
1. 计算用户的相似度,获取与该用户最相似的用户集
2. 将用户集中用户喜欢的,并且目标用户没有见过的物品推荐给目标用户
缺点
1. 由于数据稀疏性,可能无法找到与一个用户偏好相似的用户
2. 在用户量大的情况下,算法消耗的资源过多,并且大部分时间还算不出来。
ItemCF
算法流程
1. 计算物品之间的相似度
2. 根据物品的相似度和用户的历史行为给用户生成推荐列表
协同过滤的问题
1. 泛化能力弱:热门物品具有很强的头部效应, 容易跟大量物品产生相似, 而尾部物品由于特征向量稀疏, 导致很少被推
荐。这就是协同过滤的天然缺陷:推荐系统头部效应明显, 处理稀疏向量的能力弱。
2. 协同过滤完全没有利用到物品本身或者是用户自身的属性