推荐系统:协同过滤 之 Item-based Collaborative Filtering

说起 Item-based collaborative filtering,还有一段有意思的争论,是关于它的起源的。 
 
GroupLens 研究小组的 Sarwar 教授等人,于2001年5月在香港召开的第 10 届 WWW 大会上,发表了题为《Item-based Collaborative Filtering Recommendation Algorithms》 的 paper[1]。现在看来,这篇 paper 在 Item-based Collaborative Filtering 方面是影响最广的,被引用的次数也最多,基本上见 Item-based 必见此文。在 2000 的时候,同是上文作者之一的 Karypis 曾经完成了《Evaluation of Item-based Top-N Recommendation Algorithms》,但它仅作为明尼苏达计算机系的一篇 Technical Report 进行了发表,可以看作是 paper[1] 的工作基础。 
 
但实际上,早在 1998 年,Amazon 就已经开发出了自己的 Item-based 推荐系统,并投入了使用。同年,当时 Amazon 推荐系统的设计师、现在 Findory 的创始人 Greg,连同 Jacobi 和 Benson,使用“Collaborative Recommendations Using Item-to-Item Similarity Mappings”的名字对该项技术申请了专利。但该专利直到 2001 年才正式通过!并且在 Sarwar 等人的 paper[1] 里,并没有标明引用了此专利的内容。Greg 在自己的 blog 上专门撰文说明了此事 [1] [2],并得到了 Economist 编辑 Tom Standage 的承认。在 2003 年,Greg 发表了题为《Amazon.com Recommendations: Item-to-Item Collaborative Filtering》的 paper,对 1998 年的专利内容进行了详细的说明。 
 
这是一段挺有意思的事情。但更能引起我兴趣的,是这项已经被实践证明确实行之有效的技术——Item-based (or item-to-item) collaborative filtering ! 
 
Item-based 方法也有一个基本的假设:能够引起用户兴趣的项,必定与其之前评分高的项相似。这个假设也是与我们日常生活中的行为相一致的,基本上喜欢《长尾理论》的人,都会去看《世界是平的》,不知道你怎么想,反正豆瓣就是这么认为的。 
 
同 User-based 方法类似,Item-based 方法需要同样的三个步骤:1)得到User-item的评分数据;2)针对项的最近邻搜索,即对项进行相似度计算;3)产生推荐。但相对于 User-based 方法,Item-based 方法最大的改进是提高了协同过滤方法的扩展性及性能。 
 
从上一篇中可以看到,在 User-based 方法中,随着用户数量的不断增多,在大数量级的用户范围内进行“最近邻搜索”会成为整个算法的瓶颈。Item-based 方法通过计算项之间的相似性来代替用户之间的相似性。对于项来讲,它们之间的相似性要稳定很多,因此可以离线完成工作量最大的相似性计算步骤,从而大大降 低了在线计算量,提高推荐效率。 
 
在 Item-based 方法中,要对 A 和 B 进行项相似性计算,通常分为两步:1)找出同时对 A 和 B 打过分的组合;2)对这些组合进行相似度计算,常用的算法包括:皮尔森相关系数、余弦相似性、调整余弦相似性和条件概率等。 
 
在 paper[1] 里,Sarwar 教授通过试验得到 Item-based 方法的推荐效果要略好于 User-based 方法的结伦。但其实这也并不尽然。在 2003 年,Mild 教授从批判的角度重新审视了各种推荐算法,指出基于 Item-based 方法并不一定好,算法准确度与采用的实验数据数据有关,大多数情况下还是 User-based 方法好。我个人倒是认为,其实没有绝对的好坏之分,而应该根据问题的不同和数据集的特点,选择最合适的方法。 
 
上面 所说的偏重于学术界一些,算法的出发点还是基于打分,多数使用的是 MovieLens 的数据。工业界实际使用的多是在基本 Item-based 方法基础上的变形,例如基于关联规则的方法,这些方法最大的变化就是在计算项的相似度方面做文章。其实正如 Greg 曾经说过的,协同过滤最大的特点是“以数据为先”的,只当有了大量的数据积累,才可能找到最有效的、最适宜的方法。 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
item-based collaborative filtering recommendation algorithm combining item c是一种基于物品的协同过滤推荐算法,在推荐系统中被广泛应用。该算法的核心思想是通过分析用户对不同物品的行为数据,找出与物品c具有相似特征或相关性较高的其他物品,并将这些物品推荐给用户。 具体来说,item-based collaborative filtering算法首先会构建一个物品相似度矩阵。该矩阵的每个元素表示不同物品之间的相似度程度。物品之间的相似度可以通过计算它们在用户行为上的重合度、关联度或其他相似性指标得出。 在物品相似度矩阵构建完成后,当用户需要进行推荐时,算法会根据用户已有的历史行为数据找出与用户已喜欢或购买的物品c相似的其他物品。对于相似物品集合中的每个物品,算法会根据用户对该物品的评分或其他行为数据,对推荐物品进行排序。最后,算法会返回排名靠前的若干个推荐物品给用户。 通过将物品c与其他物品进行比较,并利用物品相似度矩阵进行排序,item-based collaborative filtering算法可以更加准确地将与用户兴趣相关的物品推荐给用户。同时,它也能够克服用户行为数据稀疏性的缺点,提高推荐的个性化程度。 总的来说,item-based collaborative filtering recommendation algorithm combining item c是一种有效的推荐算法,可以根据用户已有的历史行为数据找出与物品c相似的其他物品,并将这些物品按照用户的兴趣进行推荐。这种算法在实际应用中有着广泛的应用和良好的推荐效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值