协同过滤算法

388 阅读2分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

协同过滤(Collaborative Filtering)算法的基本思想是根据用户之前的喜好以及其他兴趣相近的用户的选择来给用户推荐物品(基于对用户历史行为数据的挖掘发现用户的喜好偏向, 并预测用户可能喜好的产品进行推荐)。目前应用比较广泛的协同过滤算法是基于邻域的方法, 而这种方法主要有两种算法:基于用户的协同过滤算法和基于物品的协同过滤算法

一、基于用户的协同过滤算法(UserCF)

(一)算法思想

当一个用户A需要个性化推荐的时候, 我们可以先找到和他有相似兴趣的其他用户, 然后把那些用户喜欢的, 而用户A没有听说过的物品推荐给A。

(二)算法步骤:

1、找到和目标用户兴趣相似的集合 2、找到这个集合中的用户喜欢的, 且目标用户没有听说过的物品推荐给用户。

(三)优缺点:

User-based算法存在两个重大问题: 1、数据稀疏性。 2、算法扩展性。 由于UserCF技术上的两点缺陷, 导致很多电商平台并没有采用这种算法, 而是采用了ItemCF算法实现最初的推荐系统。

一、基于物品的协同过滤算法(ItemCF)

(一)算法思想

预先根据所有用户的历史偏好数据计算物品之间的相似性,然后把与用户喜欢的物品相类似的物品推荐给用户。

(二)算法步骤

1、计算物品之间的相似度 2、根据物品的相似度和用户的历史行为给用户生成推荐列表

image.png

三、两种算法对比

image.png