推荐系统之用户行为分析

2017 年 12 月 17 日 架构文摘 zhuanxu

用户行为介绍


基于用户行为的推荐,在学术界名为协同过滤算法。


协同过滤就是指用户可以齐心协力,通过不断地和网站互动,使 自己的推荐列表能够不断过滤掉自己不感兴趣的物品,从而越来越满足自己的需求。


用户行为在个性化推荐系统中一般分两种——显性反馈行为(explicit feedback)和隐性反馈 行为(implicit feedback)。


  • 显性反馈行为包括用户明确表示对物品喜好的行为:主要方式就是评分和喜欢/不喜欢;

  • 隐性反馈行为指的是那些不能明确反应用户喜好的行为:最具代表性的隐性反馈行为就是页面浏览行为;


反馈除了分为显性和隐性外,还能分为正反馈、负反馈,举例子如下:

互联网中的用户行为有很多种,比如浏览网页、购买商品、评论、评分等。要用一个统一的 方式表示所有这些行为是比较困难的,下面是一个表示的可能:

用户行为分析


先定义两个变量:


  • 用户活跃度:用户产生过行为的物品总数

  • 物品流行度:对物品产生过行为的用户总数


而用户活跃度和物品流行度的人数都符合Power Law,也称为长尾分布:


用户活跃度和物品流行度的关系是:用户越活跃,越倾向于浏览冷门的物品。


仅仅基于用户行为数据设计的推荐算法一般称为协同过滤算法。 学术界对协同过滤算法 进行了深入研究,提出了很多方法,比如基于邻域的方法( neighborhood-based )、隐语义模型 ( latent factor model)、基于图的随机游走算法(random walk on graph)等。


基于邻域的算法


基于领域的方法中,主要包括两大类:


  • 基于用户的协同过滤算法,这种算法给用户推荐和他兴趣相似的其他用户喜欢的物品。

  • 基于物品的协同过滤算法,这种算法给用户推荐和他之前喜欢的物品相似的物品。


基于用户的协同过滤算法


基于用户的协同过滤算法主要包括两个步骤: 


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

在第一步上计算相似度上,具体算法大概有几种:欧几里得距离,皮尔逊相关系数,Cosine 相似度,Tanimoto 系数。不同相似度衡量方法对于结果会有不同的影响。


基于物品的协同过滤算法


基于item的协同过滤,通过用户对不同item的评分来评测 item 之间的相似性,基于item 之间的相似性做出推荐,简单来讲就是:给用户推荐和他之前喜欢的物品相似的物品。 



UserCF和ItemCF的综合比较


对于电子商务,用户数量一般大大超过商品数量,此时Item CF的计算复杂度较低。


在非社交网络的网站中,内容内在的联系是很重要的推荐原则,它比基于相似用户的推荐原则更加有效。比如在购书网站上,当你看一本书的时候,推荐引擎 会给你推荐相关的书籍,这个推荐的重要性进进超过了网站首页对该用户的综合推荐。可以看到,在这种情况下,Item CF 的推荐成为了引导用户浏觅的重要手段。基于物品的协同 过滤算法,是目前电子商务采用最广泛的推荐算法。


在社交网络站点中,User CF 是一个更丌错的选择,User CF 加上社会网络信息,可 以增加用户对推荐解释的信服程度。


隐语义模型(LFM)


隐语义模型最早在文本挖掘领域被提出,用于找到文本的隐含语义。相关的 名词有LSI、pLSA、LDA和Topic Model。


LFM源于对SVD(奇异值分解)方法的改进,传统SVD是线性代数典型问题,但由于计算量太大,实际上只是适用于规模很小的系统,Simon Funk改迚SVD(Funk-SVD),后来被称为Latent Factor Model。


LFM假设了一个隐含的变量,用户兴趣,看下面的矩阵分解:

R 矩阵是 user-item 矩阵,矩阵值 Rij 表示的是 user i 对 item j 的兴趣度,对于其中缺失的值,我们可以先给一个平均值。 LFM 算法从数据集中抽取出若隐变量,作为 user 和 item 之间连接的桥梁,将 R 矩阵表示为 P 矩阵和 Q 矩阵相乘。其中 P 矩阵是 user-topic 矩阵,矩阵值 Pij 表示的是 user i 对 topic j 的兴趣度;Q 矩阵式 topic-item 矩阵,矩阵值 Qij 表示的是 item j 在 topic i 中的权重。


上面这个过程就是一个svd的过程,但是当矩阵太大的时候,svd分解会太慢,于是就有了下面的方法:

将矩阵分解转换为一个机器学习问题,我们通过梯度下降的方法去预估Rij,先求导:

后更新:

上面的算法的超参数有:


  • 隐特征的个数F;

  • 学习速率alpha;

  • 正则化参数lambda;


还有一个没讲到的是,对于Rij,我们现在只有正样本,即user-item中有的我们算Rij=1,我们要去获取负样本,Rij=0的值,负样在选择上秉持的原则是:


  • 对每个用户,要保证正负样本的平衡(数目相似)。

  • 对每个用户采样负样本时,要选取那些很热门,而用户却没有行为的物品。


此处选择采用热门商品的原因是:对于冷门的物 品,用户可能是压根没在网站中发现这个物品,所以谈不上是否感兴趣。


总结


本文首先介绍了用户行为的基本概念,介绍了显性反馈行为和隐性反馈行为,以及正反馈和负反馈,接着介绍了两大类推荐算法:基于领域的算法和隐语义模型,下面一篇会通过Surprise库来用今天介绍的算法来解决一些实际问题。


参考


使用 LFM(Latent factor model)隐语义模型进行 Top-N 推荐(http://blog.csdn.net/harryhuang1990/article/details/9924377
推荐系统实践


出处:https://www.zybuluo.com/zhuanxu/note/985025


版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。谢谢。


-END-


架构文摘

ID:ArchDigest

互联网应用架构丨架构技术丨大型网站丨大数据丨机器学习

更多精彩文章,请点击下方:阅读原文

登录查看更多
7

相关内容

协同过滤(英语:Collaborative Filtering),简单来说是利用某兴趣相投、拥有共同经验之群体的喜好来推荐用户感兴趣的信息,个人透过合作的机制给予信息相当程度的回应(如评分)并记录下来以达到过滤的目的进而帮助别人筛选信息,回应不一定局限于特别感兴趣的,特别不感兴趣信息的纪录也相当重要。协同过滤又可分为评比(rating)或者群体过滤(social filtering)。其后成为电子商务当中很重要的一环,即根据某顾客以往的购买行为以及从具有相似购买行为的顾客群的购买行为去推荐这个顾客其“可能喜欢的品项”,也就是借由社群的喜好提供个人化的信息、商品等的推荐服务。除了推荐之外,近年来也发展出数学运算让系统自动计算喜好的强弱进而去芜存菁使得过滤的内容更有依据,也许不是百分之百完全准确,但由于加入了强弱的评比让这个概念的应用更为广泛,除了电子商务之外尚有信息检索领域、网络个人影音柜、个人书架等的应用等。
【WWW2020-微软】理解用户行为用于文档推荐
专知会员服务
35+阅读 · 2020年4月5日
专知会员服务
87+阅读 · 2020年1月20日
推荐系统BAT面试题:说说协同过滤的原理
七月在线实验室
50+阅读 · 2019年1月30日
推荐系统
炼数成金订阅号
28+阅读 · 2019年1月17日
推荐系统概述
Linux爱好者
20+阅读 · 2018年9月6日
2018年推荐系统入门指南
论智
15+阅读 · 2018年7月14日
推荐|网易云音乐分析之推荐算法
人人都是产品经理
10+阅读 · 2018年2月26日
【推荐系统】详解基于内容的推荐算法
产业智能官
23+阅读 · 2018年1月11日
推荐系统机器学习算法概览
论智
7+阅读 · 2017年12月14日
【推荐系统】一文读懂推荐系统知识体系
产业智能官
43+阅读 · 2017年10月31日
推荐系统杂谈
架构文摘
28+阅读 · 2017年9月15日
详解个性化推荐五大最常用算法
量子位
4+阅读 · 2017年7月8日
Next Item Recommendation with Self-Attention
Arxiv
5+阅读 · 2018年8月25日
Arxiv
23+阅读 · 2018年8月3日
Arxiv
9+阅读 · 2018年3月23日
Arxiv
3+阅读 · 2012年11月20日
VIP会员
相关VIP内容
【WWW2020-微软】理解用户行为用于文档推荐
专知会员服务
35+阅读 · 2020年4月5日
专知会员服务
87+阅读 · 2020年1月20日
相关资讯
推荐系统BAT面试题:说说协同过滤的原理
七月在线实验室
50+阅读 · 2019年1月30日
推荐系统
炼数成金订阅号
28+阅读 · 2019年1月17日
推荐系统概述
Linux爱好者
20+阅读 · 2018年9月6日
2018年推荐系统入门指南
论智
15+阅读 · 2018年7月14日
推荐|网易云音乐分析之推荐算法
人人都是产品经理
10+阅读 · 2018年2月26日
【推荐系统】详解基于内容的推荐算法
产业智能官
23+阅读 · 2018年1月11日
推荐系统机器学习算法概览
论智
7+阅读 · 2017年12月14日
【推荐系统】一文读懂推荐系统知识体系
产业智能官
43+阅读 · 2017年10月31日
推荐系统杂谈
架构文摘
28+阅读 · 2017年9月15日
详解个性化推荐五大最常用算法
量子位
4+阅读 · 2017年7月8日
Top
微信扫码咨询专知VIP会员