一、在适合用途上的比较
基于用户的协同过滤算法主要有两步:
1)找到和目标用户兴趣相似的用户集合
2)找到这个集合中的用户喜欢的,且目标用户没有听说过的物品推荐给目标用户。
基于物品的协同过滤算法主要有两步:
1)计算物品之间的相似度。
2)根据物品的相似度和用户的历史行为给用户生成推荐列表。
Item CF是利用物品间的相似性来推荐的,所以假如用户的数量远远超过物品的数量,那么可以考虑使用Item CF,比如购物网站,因其物品的数据相对稳定,因此计算物品的相似度时不但计算量较小,而且不必频繁更新;User CF更适合做新闻、博客或者微内容的推荐系统,因为其内容更新频率非常高,特别是在社交网络中,User CF是一个更好的选择,可以增加用户对推荐解释的信服程度。
而在一个非社交网络的网站中,比如给某个用户推荐一本书,系统给出的解释是某某和你有相似兴趣的人也看了这本书,这很难让用户信服,因为用户可能根本不认识那个人;但假如给出的理由是因为这本书和你以前看的某本书相似,这样解释相对合理,用户可能就会采纳你的推荐。
UserCF是推荐用户所在兴趣小组中的热点,更注重社会化,而ItemCF则是根据用户历史行为推荐相似物品,更注重个性化。所以UserCF一般用在新闻类网站中,如Digg,而ItemCF则用在其他非新闻类网站中,如Amazon,hulu等等。
因为在新闻类网站中,用户的兴趣爱好往往比较粗粒度,很少会有用户说只看某个话题的新闻,往往某个话题也不是天天会有新闻的。个性化新闻推荐更强调新闻热点,热门程度和时效性是个性化新闻推荐的重点,个性化是补充,所以UserCF给用户推荐和他有相同兴趣爱好的人关注的新闻,这样在保证了热点和时效性的同时,兼顾了个性化。另外一个原因是从技术上考虑的,作为一种物品,新闻的更新非常快,而且实时会有新的新闻出现,而如果使用ItemCF的话,需要维护一张物品之间相似度的表,实际工业界这表一般是一天一更新的,这在新闻领域是万万不能接受的。
但是,在图书,电子商务和电影网站等方面,ItemCF则能更好的发挥作用。因为在这些网站中,用户的兴趣爱好一般是比较固定的,而且相比于新闻网站更细腻。在这些网站中,个性化推荐一般是给用户推荐他自己领域的相关物品。另外,这些网站的物品数量更新速度不快,一天一次更新可以接受。而且在这些网站中,用户数量往往远远大于物品数量,从存储的角度来讲,UserCF需要消耗更大的空间复杂度,另外,ItemCF可以方便的提供推荐理由,增加用户对推荐系统的信任度,所以更适合这些网站。
二、从推荐的多样性上比较
单个用户的多样性:Item CF的多样性显然不如User CF的好,因为Item CF的推荐就是和以前看的东西最相似的。系统的多样性(也被称为覆盖率,指一个推荐系统能否给用户提供多种选择):在这种指标下,Item CF的多样性要远远好于User CF,因为User CF会更倾向于推荐热门的物品。从另外一个角度看,也就是说,Item CF的推荐有很好的新颖性,容易发现并推荐长尾里的物品。所以大多数情况,Item CF的精度稍微小于User CF,但是如果考虑多样性,Item CF却比User CF好很多。
由于User CF经常推荐热门的,所以它在推荐长尾里项目方面的能力不足;而Item CF只推荐A领域给用户,这样他有限的推荐列表中就可能包含了一定数量的不热门的长尾物品,同时Item CF的推荐对这个用户而言,显然多样性不足。但是对整个系统而言,因为不同的用户的主要兴趣点不同,所以系统的覆盖率会比较好。
三、用户特点对推荐算法影响的比较
对于User CF,推荐的原则是假设用户会喜欢那些和他有相同喜好的用户喜欢的东西,但是假如用户暂时找不到兴趣相投的邻居,那么基于用户的CF推荐效果就打了大大折扣了,因此用户是否适应User CF算法跟他有多少邻居是成正比关系的。基于项目协同过滤算法也是有一定前提的,即用户喜欢和他以前购买过的相同类型的物品,那么我们可以计算一个用户喜欢的物品的自相似度。一个用户喜欢物品的自相似度大,就说明他喜欢的东西都是比较相似的,即这个用户比较符合Item CF方法的基本假设,那么他对Item CF的适应度自然比较好;反之,如果自相似度小,就说明这个用户的喜好习惯并不满足Item CF方法的基本假设,那么用Item CF方法所做出的推荐对于这种用户来说,其推荐效果可能不是很好。
来源:CSDN
作者:Bob_tensor
链接:https://blog.csdn.net/weixin_43461341/article/details/103531554