关联规则和协同过滤都是集体智慧编程(collective intelligence)的运用,可以说关联分析是协同过滤的理论基础,都是基于大众的行为数据做出决策
关联规则
使用关联规则算法可以从大量的过往交易数据中获取规则。它可以是会同时被购买的商品之间的关联规则,也可以是按时间依次被购买商品的序列模型。
协同过滤
协同过滤推荐分为两类:
1.基于用户的协同过滤(UBCF)
基于用户的协同过滤推荐算法先使用统计技术寻找与目标用户有相同喜好的邻居,然后根据目标用户的邻居的喜好产生向目标用户的推荐。如图:
上图示意出基于用户的协同过滤推荐机制的基本原理,从这些用户的历史喜好信息中,我们可以发现用户A 和用户 C 的口味和偏好是比较类似的,同时用户 C 还喜欢物品 D,那么我们可以推断用户 A 可能也喜欢物品 D,因此可以将物品 D 推荐给用户 A。
2.基于物品的协同过滤(IBCF)
根据物品之间的相似度对物品进行推荐
分析发现,喜欢物品A的都喜欢物品C,故物品A和C相似。故用户C喜欢物品A,那么用户C也可能喜欢物品C。(这里有点像关联规则,可以用关联规则实现,但是在有用户评分的情况下(如电影评分),协同过滤算法应该比传统的关联规则更能产生精准的推荐。)
适用场景
关联规则直接从数据中挖掘潜在的关联,与个人的偏好无关,忽略了个性化的场景,适用于超市购物,汽车导航和交通规划等。
协同过滤的过程是先协同,找到相似的人或物,再过滤,使用户注重个性化的场景,如音乐电影之类。具体一点,基于用户的协同过滤适用于物品数量大于用户数量,如新闻、博客等信息类推荐系统;基于物品的协同过滤适用于用户数量远大于物品数量,且物品数量相对稳定不会频繁更新,如电子商务等在线网站。