【推荐系统】{2} —— 基于物品的协同过滤算法

本文详细介绍了基于物品的协同过滤算法(ItemCF),包括其优势、计算物品相似度的步骤、用户活跃度对物品相似度的影响以及相似度归一化的优点。ItemCF广泛应用于亚马逊、Netflix等平台,因其计算性能高、可预先计算和提供推荐解释。通过分析用户行为,计算物品相似度,并给出如何计算兴趣度和推荐列表的公式。归一化能提升推荐的准确度、多样性和覆盖率。
摘要由CSDN通过智能技术生成

协同过滤(英语:Collaborative Filtering,简称CF),简单来说是利用某兴趣相投、拥有共同经验之群体的喜好来推荐用户感兴趣的信息,个人透过合作的机制给予信息相当程度的回应(如评分)并记录下来以达到过滤的目的进而帮助别人筛选信息,回应不一定局限于特别感兴趣的,特别不感兴趣信息的纪录也相当重要。——维基百科

基于物品的协同过滤算法(item-based collaborative filtering,简称ItemCF)是目前业界应用最多的算法。

亚马逊、Netflix、Hulu、YouTube的推荐算法的基础都是基于物品的协同过滤算法。

基于用户的协同过滤算法有一些缺点。

  • 随着网站的用户数目越来越大,计算用户兴趣相似度矩阵将越来越困难,其运算时间复杂度和空间复杂度的增长和用户数的增长近似于平方关系。
  • 基于用户的协同过滤算法很难对推荐结果作出解释。
基于物品的协同过滤算法优势:
  • 计算性能高,通常用户数量远大于物品数量。
  • 可预先计算保留,物品并不善变。

I t e m C F ItemCF ItemCF 算法给用户推荐那些和他们之前喜欢的物品相似的物品。

举个例子:

用户/物品 物品A 物品B 物品C
用户A
用户B
用户C 与物品A相似,推荐

I t e m C F ItemCF ItemCF 算法并不利用物品的内容属性计算物品之间的相似度,它主要通过分析用户的行为记录计算物品之间的相似度。该算法认为,物品 A A A 和物品 B B B 具有很大的相似度是因为喜欢物品 A A A 的用户大都也喜欢物品 B B B

基于物品的协同过滤算法可以利用用户的历史行为给推荐结果提供推荐解释,比如给用户推荐《机器学习实战》的解释可以是因为用户之前买过《统计学习方法》。


基于物品的协同过滤算法步骤:
  1. 计算物品之间的相似度。
  2. 根据物品的相似度和用户的历史行为给用户生成推荐列表。

定义物品的相似度为 w i j = ∣ N ( i ) ∩ N ( j ) ∣ ∣ N ( i ) ∣ w_{ij} = \frac{|N(i)\cap{N(j)|}}{ {|N(i)|}} wij=N(i)N(i)N(j)此处分母 ∣ N ( i ) ∣ { {|N(i)|}} N(i) 是喜欢物品 i i i 的用户数,而分子 ∣ N ( i ) ∩ N ( j ) ∣ {|N(i)\cap{N(j)|}} N(i)N(j) 是同时喜欢物品 i i i 和物品 j j j 的用户数。因此,上述公式可以理解为喜欢物品 i i i 的用户中有多少比例的用户也喜欢物品 j j j

但该公式存在一个问题,如果物品 j j j 很热门,很多人都喜欢,那么 w i j w_{ij} wij 就会很大,接近1。因此,该公式会造成任何物品都会和热门的物品有很大的相似度,这显然不是一个好的特性。为了避免推荐出热门的物品, 可以用下面的公式: w u v = ∣ N ( i ) ∩ N ( j ) ∣ ∣ N ( i ) ∣ ∣ N ( j ) ∣ w_{uv} = \frac{|N(i)\cap{N(j)|}}{\sqrt{|N(i)||{N(j)|}}} wuv=N(i)N(j) N(

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值