推荐系统

【推荐系统实践-02】利用用户行为数据(协同过滤)

喜夏-厌秋 提交于 2020-01-12 05:14:19
项亮老师的《推荐系统实践》学习笔记​。​ 目录 用户行为数据简介 用户行为分析 用户活跃度和物品流行度的分布 用户活跃度和物品流行度的关系 基于邻域的算法 基于用户的协同过滤算法 基于物品的协同过滤算法 UserCF和ItemCF的比较 隐语义模型 基于图的模型 为了让推荐结果符合用户口味,我们需要深入了解用户。 基于用户行为分析的推荐算法是个性化推荐系统的重要算法,学术界一般将这种类型的算法称为协同过滤算法。顾名思义,协同过滤就是指用户可以齐心协力,通过不断地和网站互动,使自己的推荐列表能够不断过滤掉自己不感兴趣的物品,从而越来越满足自己的需求。 1、用户行为数据简介 用户行为数据在网站上最简单的存在形式就是日志。网站在运行过程中都产生大量原始日志(raw log),并将其存储在文件系统中。很多互联网业务会把多种原始日志按照用户行为汇总成会话日志(session log),其中每个会话表示一次用户行为和对应的服务。 会话日志通常存储在分布式数据仓库中,这些日志记录了用户的各种行为,如在电子商务网站中这些行为主要包括网页浏览、购买、点击、评分和评论等。 用户行为在个性化推荐系统中一般分两种——显性反馈行为(explicit feedback)和隐性反馈行为(implicit feedback)。显性反馈行为包括用户明确表示对物品喜好的行为

推荐系统笔记

﹥>﹥吖頭↗ 提交于 2020-01-12 03:09:24
FM与libfm : FM(Factorization Machines)结合了SVM与factorization models的优点; FM建模了所有特征的交互,因此适用于大型稀疏的场景,比如recommender systems;(SVMs fail) FM能在线性时间被计算出来,并且能直接优化;(SVM是非线性的,且其中的dual transformation 没有必要) 指出SVD++、PITF、FPMC等模型的缺点,它们不适应于通用的预测任务,且需要特定的输入,FM能模拟它们; FM参数个数是线性级别的,且不需要存储训练数据,直接把参数保存在内存中,能处理非常大的数据,如100 millions; FM可用于回归、二分类、排序等预测任务; FM用SGD训练;2-way FM 可以扩展到d-way FM; 普通的线性模型,各个特征是独立考虑的,并没有考虑到特征之间的相互关系,实际上,大量的特征之间是有关联的; 从公式很容易看出来,FM比一般线性模型多出了wxixj的累加,即特征组合的部分; 由于矩阵的稀疏性,w很难计算,为此引入辅助向量v,使得w=vvT;(v向量的点积,是一个值) (通过向量v的学习能够更好的挖掘特征间的相互关系,尤其在稀疏条件下,以及在训练样本中没出现的交叉数据) FM最精彩的部分是,EE<vi,vj>xixj可以在线性时间内计算,为O(kn)

推荐系统之协同过滤推荐算法

无人久伴 提交于 2020-01-11 20:18:19
1.思想简介: 协同过滤,从字面上理解,包括协同和过滤两个操作。所谓协同就是利用群体的行为来做决策(推荐)。对于推荐系统来说,通过用户的持续协同作用,最终给用户的推荐会越来越准。而过滤,就是从可行的决策(推荐)方案(标的物)中将用户喜欢的方案(标的物)找(过滤)出来。协同过滤分为基于用户的协同过滤和基于标的物(物品)的协同过滤两类算法。 基于协同过滤的两种推荐算法,核心思想是很朴素的”物以类聚、人以群分“的思想。所谓物以类聚,就是计算出每个标的物最相似的标的物列表,我们就可以为用户推荐用户喜欢的标的物相似的标的物,这就是基于物品(标的物)的协同过滤。所谓人以群分,就是我们可以将与该用户相似的用户喜欢过的标的物的标的物推荐给该用户(而该用户未曾操作过),这就是基于用户的协同过滤。 基于协同过滤的两种推荐算法,核心思想是很朴素的”物以类聚、人以群分“的思想。所谓物以类聚,就是计算出每个标的物最相似的标的物列表,我们就可以为用户推荐用户喜欢的标的物相似的标的物,这就是基于物品(标的物)的协同过滤。所谓人以群分,就是我们可以将与该用户相似的用户喜欢过的标的物的标的物推荐给该用户(而该用户未曾操作过),这就是基于用户的协同过滤。具体思想可以参考下面的图 2.算法原理 协同过滤的核心是怎么计算标的物之间的相似度以及用户之间的相似度。我们可以采用非常朴素的思想来计算相似度

推荐系统算法

荒凉一梦 提交于 2020-01-10 03:20:20
常用的推荐任务分为两种,一种是评分预测,而另一种是 Top-N 推 荐。 评分预测就是给那些没有评分的项目进行评分,主要依据目标用户的历史评 分行为以及相似度计算来预测目标项目的分数 。 Top-N 推 荐就是根据用户的偏好给 目标用户推荐其可能喜欢的 N 件物品。 1.协同过滤算法 协同过滤算法可分为基于用户的协同过滤(User-based CF)、基于物品的系统 过滤(Item-based CF) User-based CF 在推荐时首先会根据用户的行为记录找到相似的用户。例如,在电影推荐方面,如果 A 和 B 在对电影类型的喜好相同或 是相近,那么把 A 喜欢的电影推荐给 B 是有意义的。 首先需要计算两个用户的相似度 ,对于评分预测往往采用皮尔逊积矩相关系数来计算。 用户之间的相似度计算还可以采用 Jaccard 公式 给定两个集合A,B jaccard 系数定义为A与B交集的大小与并集大小的比值 ,jaccard值越大说明相似度越高 计算相似度在工程应用中这个公式还比较粗糙,例如,小时候我 们每个人基本都会购买《新华字典》,但并不能说明他们的购买兴趣相似,但是如 果两个人都购买了《推荐系统》,那么可以确定他们的购买兴趣是比较相似的,应 为只有研究推荐系统的人才会购买这本书,换句话说,两个用户对冷门物品采取 过相同的行为更能说明他们购买兴趣的相似度。

Jetson nano监视工具

泄露秘密 提交于 2020-01-09 16:40:51
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 该工具可以实现对jetson开发板的CPU GPU RAM等使用情况的统计,同时还有查看本地安装库的版本信息,详细见: https://github.com/rbonghi/jetson_stats 安装方法: //安装 sudo -H pip install jetson-stats //更新 sudo -H pip install -U jetson-stats 使用方法: #监视系统 jtop #版本信息 jetson_release #变量信息 jetson_variables 来源: oschina 链接: https://my.oschina.net/u/4228078/blog/3155396

推荐系统相关

落花浮王杯 提交于 2020-01-07 23:10:58
转载:原文出处:https://www.cnblogs.com/lijinze-tsinghua/p/10763326.html 一、 相关会议 对于推荐系统领域,直接相关的会议不多,但由于推荐系统会涉及到数据挖掘、机器学习等方面的知识,并且推荐系统作为数据挖掘和机器学习的重要应用之一,同时推荐系统往更大的领域靠拢的话也属于人工智能的范畴,因此很多做推荐的学者把目光也瞄向了数据挖掘、机器学习和人工智能方面的会议。所以,如果想关注推荐系统的前沿,我们需要不仅关注推荐系统年会,还需要关注其他与推荐挂钩的会议。 1、与推荐系统直接相关的会议 RecSys -The ACM Conference Series on Recommender Systems. 2、数据挖掘相关的会议 SIGKDD - The ACM SIGKDD Conference on Knowledge Discovery and Data Mining. WSDM - The International Conference on Web Search and Data Mining. ICDM - The IEEE International Conference on Data Mining. SDM -TheSIAM International Conference on Data Mining. 3

第二章 利用用户数据

天涯浪子 提交于 2020-01-06 23:21:01
文章目录 第二章 利用用户数据 2.1 用户行为数据简介 2.2 用户行为分析 2.4 基于邻域的算法 基于用户的协同过滤 基于物品的协同过滤 2.5 隐语义模型(Latent factor model) 2.6 基于图的模型 第二章 利用用户数据 基于用户行为分析的推荐算法称作 协同过滤 算法 2.1 用户行为数据简介 用户行为数据最简单的存在形式是 日志 . 用户行为按反馈的明确性分为 显性反馈行为 和 隐性反馈行为 .如果按反馈的方向还可以分为 正反馈 和 负反馈 . 一个用户行为可以用6部分表示: 产生行为的用户,行为的对象,行为的种类,产生行为的上下文,行为的内容和权重. 按照反馈的明确性分,可分为显性反馈和隐性反馈 正反馈(用户喜欢该商品)和负反馈(用户不喜欢该商品) 2.2 用户行为分析 互联网上的很多数据分布都满足 长尾分布f(x)=ax^k ,也就是少部分物品占据了大多数出现次数 用户行为数据同时也满足长尾分布的规律,即物品流行度和用户活跃度均满足长尾分布。(物品流行度指对物品产生过行为的用户总数。用户活跃度指用户产生过行为的物品总数。)用公式表达即: fi(k)为被k个用户产生过行为的物品数;fu(k)为对k个物品产生过行为的用户数。 用户越活跃,越趋向于浏览冷门的物品. 学术界对协同过滤算法进入了深入研究,提出了很多方法,比如基于邻域的方法、隐含义模型

推荐系统经典论文

China☆狼群 提交于 2020-01-06 19:34:03
原文链接点这! 下面提供的论文,可以说基本都是经典中的经典。读完这些论文,相信对推荐系统的认识肯定会有质的飞越:(不够再找我。O(∩_∩)O~) 综述类: 1、Towards the Next Generation of Recommender Systems: A Survey of the State-of-the-Art and Possible Extensions。最经典的推荐算法综述 2、Collaborative Filtering Recommender Systems. JB Schafer 关于协同过滤最经典的综述 3、Hybrid Recommender Systems: Survey and Experiments 4、项亮的博士论文《动态推荐系统关键技术研究》 5、个性化推荐系统的研究进展.周涛等 6、Recommender systems L Lü, M Medo, CH Yeung, YC Zhang, ZK Zhang, T Zhou Physics Reports 519 (1), 1-49 (https://arxiv.org/abs/1202.1112) 协同过滤: 1、matrix factorization techniques for recommender systems. Y Koren 2、Using collaborative

Netflix 推荐系统:第二部分

a 夏天 提交于 2020-01-06 14:16:14
原文链接: http://techblog.netflix.com/2012/06/netflix-recommendations-beyond-5-stars.html 在 blog 的第一部分,我们详细介绍了 Netflix 个性化推荐系统的各个组成部分。我们也解释了自从我们宣布 Netflix Prize 后,Netflix 推荐系统是如何变化的。100 万美金的奖金让我们不论在算法创新,还是在品牌宣传和吸引人才加入方面都获得了丰厚的回报。不过,准确的预测电影评分仅只是我们推荐系统的一部分。在本文中,我们将更加深入的介绍个性化推荐技术,讨论当前我们使用的模型、数据,以及我们在这方面的创新方法。 排序 推荐系统的目的是给用户提供一些有吸引力的物品供用户选择。具体的做法是先选择一些候选物品,并对这些物品按照用户感兴趣的程度进行排序。展示推荐结果最常用的方式是组成某种有序列表,而在 Netflix,列表就是一行行的视频。因此,我们需要一个排序模型,利用各种各样的信息,来为每一个用户生成个性化推荐列表。 如果你正在寻找一个能够最大化用户消费的排序函数,那么最显然的基本函数就是物品的热门程度。原因很简单:用户总是倾向于观看大家都喜欢观看的视频。然而,热门推荐是个性化推荐的反义词,它将为每个用户生成千篇一律的结果。因此,我们的目标就是找到一个比热门推荐更好的个性化排序算法

Netflix 推荐系统:第一部分

跟風遠走 提交于 2020-01-06 14:07:31
原文链接: http://techblog.netflix.com/2012/04/netflix-recommendations-beyond-5-stars.html 在这篇包含两个部分的博文中,我们将揭开 Netflix 最有价值的资产——推荐系统的面纱。在第一部分,我们将介绍 Netflix Prize 对推荐领域的贡献,Netflix 推荐服务的主要模块,以及推荐服务如何满足网站的商业需求。在第二部分,我们将介绍我们使用的数据和模型,讨论如何将离线的机器学习实验与线上的 A/B 测试相结合。 Netflix Prize 和推荐系统 在 2006 年,我们宣布举办 Netflix Prize ,这是一个旨在解决电影评分预测问题的机器学习和数据挖掘的比赛。对于那些能够将我们的推荐系统 Cinematch 的准确率提升 10% 的个人或团队,我们提供 100 万美金的奖励。我们希望通过比赛发现新的方法来改善我们提供给用户的推荐结果,这是我们商业模式的核心部分。当然,我们需要一个比较容易评测和量化的指标:我们选择的评测指标是均方根误差(RMSE,预测评分和真实评分之间的均方根误差)。比赛的要求是打败我们系统 0.9525 的 RMSE 得分,并将其降低到 0.8572 或更低。 比赛开始一年后,Korbell 的团队以 8.43% 的提升赢得了第一个阶段奖。他们付出了超过