基于用户和基于物品的协同过滤算法的比較

首先回想一下,协同过滤算法主要有两种,一种是基于用户的协同过滤算法(UserCF),还有一种是基于物品的协同过滤算法(ItemCF)。

基于用户的协同过滤算法主要有两步:

1)找到和目标用户兴趣类似的用户集合 

  2)找到这个集合中的用户喜欢的,且目标用户没有听说过的物品推荐给目标用户。

基于物品的协同过滤算法主要有两步:

1)计算物品之间的类似度。

2)依据物品的类似度和用户的历史行为给用户生成推荐列表。

由此能够看出UserCF是推荐用户所在兴趣小组中的热点,更注重社会化,而ItemCF则是依据用户历史行为推荐类似物品,更注重个性化。所以UserCF一般用在新闻类站点中。如Digg,而ItemCF则用在其它非新闻类站点中。如Amazon,hulu等等。


由于在新闻类站点中,用户的兴趣爱好往往比較粗粒度,非常少会实用户说仅仅看某个话题的新闻,往往某个话题也不是天天会有新闻的。

个性化新闻推荐更强盗新闻热点。热门程度和时效性是个性化新闻推荐的重点,个性化是补充。所以UserCF给用户推荐和他有同样兴趣爱好的人关注的新闻,这样在保证了热点和时效性的同一时候,兼顾了个性化。另外一个原因是从技术上考虑的,作为一种物品。新闻的更新非常快,并且实时会有新的新闻出现,而假设使用ItemCF的话,须要维护一张物品之间类似度的表。实际工业界这表通常是一天一更新的。这在新闻领域是万万不能接受的。


可是,在图书。电子商务和电影站点等方面,ItemCF则能更好的发挥作用。

由于在这些站点中,用户的兴趣爱好通常是比較固定的。并且相比于新闻站点更细腻。在这些站点中,个性化推荐通常是给用户推荐他自己领域的相关物品。另外。这些站点的物品数量更新速度不快。一天一次更新能够接受。并且在这些站点中,用户数量往往远远大于物品数量,从存储的角度来讲。UserCF须要消耗更大的空间复杂度,另外,ItemCF能够方便的提供推荐理由,添加用户对推荐系统的信任度。所以更适合这些站点。


posted on 2019-04-28 21:08  xfgnongmin  阅读(836)  评论(0编辑  收藏  举报

导航