推荐系统算法之协同过滤方法专题

一 推荐系统的优劣评价指标
1 准确度:能把商品准确地推荐给目标用户
2 多样性:从目标用户角度考虑,能推荐更多相似度不同但是目标用户喜欢的商品(惊喜)
3 覆盖性:从推荐系统的平台设计考虑,能让更多的商品被推荐出去,而不是只有主流的几样商品被推荐。

二 协同过滤的概念
协同过滤方法是推荐系统的其中一种,也是目前比较主流的一种推荐系统方法。
核心思想:相似

协同过滤的基本流程
1 收集用户偏好(包括用户对商品的喜好(评分))、商品的属性、
2 找到相似的用户或物品
3 计算推荐

三 协同过滤的各种算法
基于用户的协同过滤
基于商品的协同过滤
基于模型的协同过滤,其中,基于模型的协同过滤重点介绍基于关联规则的协同过滤、基于分类\回归的协同过滤、基于聚类的协同过滤。

四 各个协同过滤算法的详细解析
4.1 基于用户的协同过滤
主要思想:找到相似的用户,然后将相似用户评分较高的商品推荐给目标用户。
关键点:计算所有用户的相似度(时间复杂度主要消耗在这里),相似用户对商品的评分
用户的相似度可通过收集的用户偏好数据计算;用户对商品的评分收集可得。
在这里插入图片描述
优点:
能提高推荐系统的多样性,给目标用户推荐自己可能没有购买过(商品相似度不一样)但自己喜欢的商品,给用户惊喜。
缺点:
倾向于推荐热门的商品(因为相似的n个用户很大概率也是对当下热门的商品评分较高),不利于推荐系统平台的覆盖性。
适用场景:
适用社交网络的推荐,比如新闻,博客或者微内容的推荐系统。
从计算的时间复杂度来分析,基于用户的协同过滤计算开销主要花在计算用户的相似度。社交网络用户数量相对固定,而商品(文章、新闻信息)不断在更新,是海量的。
从可解释性分析,解释也更具有说服力,比如给的解释:跟你性格相似的好友某某也在看这篇文章,所以把这篇文章推荐给你。

4.2 基于商品的协同过滤
主要思想:找到目标用户评分较高的某一或某些商品,然后找这些商品的相似的商品推荐给目标用户。
关键点:得到目标用户对商品的评分,计算所有商品的相似度(时间复杂度主要消耗在这里)
目标用户对商品的评分收集可得;所有商品的相似度可通过商品属性等信息计算得到
在这里插入图片描述
优点:
擅长推荐长尾里的物品(因为可以给目标用户推荐他喜好的商品的相似商品,目标用户喜好的商品不一定是热门的商品,因人而异),对推荐系统平台的覆盖性有利。
缺点:
只能推荐目标用户已有的相似的商品,比如目标用户以往对书的评分较高,推荐的商品也是书。不利于多样性,无法给用户惊喜。
适用场景:
电商、商店平台。
从时间复杂度分析,基于商品的协同过滤的计算开销主要花在计算商品的相似度。电商、商店平台用户的数量是海量的,商品的数量是固定较小的。
从推荐可解释性分析,比如推荐一本西瓜书的解释:你以往也购买了李航的《统计学习方法》。

综上:基于用户的协同过滤和基于商品的协同过滤各有优缺点,两者互补。

4.3 基于模型的协同过过滤
4.3.1 基于关联规则的协同过滤
推荐目的(或推荐场景):
交叉销售:向买A的用户推荐B;向买(A, B)的用户推荐C。
当为2项集时,如果(A, B)满足置信度等要求,向买A的用户推荐B;当为3项集时,如果(A, B, C)满足置信度等要求,即向同时买(A, B)的用户推荐C。
捆绑销售:把A和B(或更多)打包销售

三个概念:
支持度(support)
置信度(confidence)
提升度(lift)

关联规则的实现步骤:
<1> 设置要挖掘的k项集、k项集的最小支持度support和k项集的最小置信度confidence(或者其他更多条件,比如最小提升度阈值等)。
<2> 运用Apriori算法的性质,通过最小支持度阈值逐步剔除ki=1,2,…k时那些“出镜率”较低的无意义的规则,最终保留ki=k时的规则。
<3>在<2>的规则基础上,计算这些规则的置信度,剔除不符合阈值的规则,得到最终要的k项集关联规则。
知识点:
Apriori算法的性质:
1 频繁项集的所有非空子集必为频繁项集
2 非频繁项集的超集一定是非频繁项集
理解:k项集的支持度>=其非空子集的支持度。例如:商品A的支持度为20%,商品B的支持度为70%,(A, B)的支持度 <= 20%。

例子:
历史购物记录里的数据如下,每一行代表一次购物的记录:
在这里插入图片描述
(1)找出3种商品关联销售情况(k=3),最小支持度=50%;最小置信度=60%
(2)当k=1,
在这里插入图片描述
剔除支持度小于50%的规则。得:
在这里插入图片描述
当k=2,
在这里插入图片描述
剔除支持度小于50%的规则
在这里插入图片描述
计算各个规则的置信度,得:
在这里插入图片描述
所以,以上四条规则都成立(基于现有的这些小数据),当用户购买牛奶时,可以给他推荐面包;当用户购买牛奶时,可以给他推荐尿布;当用户购买面包时,可以给他推荐尿布;当用户购买尿布时,可以给他推荐啤酒。

当k=3时,
在这里插入图片描述
在这里插入图片描述
支持度小于50%,不满足,无法推荐,game over!

假如:
在这里插入图片描述
则,当用户购买牛奶或面包或同时购买牛奶和面包时,推荐他购买尿布。

4.3.1 基于分类\回归的协同过滤

4.3.3 基于聚类的协同过滤

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值