物品推荐

推荐系统实践读书笔记与思考

天涯浪子 提交于 2020-03-24 06:24:43
推荐系统评测 一个网站3各参与方,用户、网站、内容提供方,好的推荐系统目标就在增加用户与网站互动,提高网站收入(这是公司最关注的),所以在推荐系统中需要综合考虑三方的利益。 在进行推荐时要注重用户体验并且也要考虑相关商家的利益,最终能使得网站收入提升。 在推荐系统早期,预测准确度是推荐系统的重要指标,这个指标的好处就是比较容易通过离线计算来得到,这样方便对不同推荐算法的研究。 准确预测并不代表好的推荐,比如用户已经打算买某个item ,无论系统是否给他推荐,他都准备买,对于用户来说他觉得推荐不够新颖,对于服务提供商来说没有增加潜在消费者中的销量,从实际效果来说这是一个比较失败的推荐。为了全面评测三方利益,从不同角度提出了很多评价指标。 推荐系统中实验方法 1. 离线实验 离线实验步骤比较简单,通过日志数据获取用户的行为数据,并按照一定格式来生成数据集;将数据集按照一定规则切分成训练集与测试集;在训练集上训练模型,在测试集上进行验证,通过指定的评价指标进行算法效果的评估。 这个方法的主要缺点就是:无法获取商业上关注的指标,如点击率,PV,VU,转化率等。但是优点也是非常明显的:不需要实际系统中控制权、不需要真实线上用户的参与、速度快可以进行大量算法的测试工作。 2. 用户调查 如果需要准确评价一个算法需要上线测试,但是如果对算法不是很有把握的时候,上线测试有比较大的风险

推荐算法

為{幸葍}努か 提交于 2020-03-24 01:22:52
推荐算法越来越多的运用到我们的生活中,特别是在网站中,当你浏览大大小小的网站,你的行为被时刻记录着,并根据一些依据对你推荐一些物品。下面会简单介绍一下推荐算法,后续会继续对这些算法进行补充。 1.协同过滤算法 2.基于流行度的算法 3.基于模型的算法 4.混合算法 协同过滤算法 协同过滤算法有两种,一种是基于用户的协同过滤算法,一种是基于物品的协同过滤算法。 基于用户的协同过滤算法 该算法主要是找出用户的相似用户,将相似用户浏览或购买而用户没有购买的商品推荐给用户。 基于用户的协同过滤算法流程如下: 1.分析各个用户对item的评价(通过浏览记录、购买记录等); 2.依据用户对item的评价计算得出所有用户之间的相似度; 3.选出与当前用户最相似的N个用户; 4.将这N个用户评价最高并且当前用户又没有浏览过的item推荐给当前用户。 如下图: 基于物品的协同过滤算法 基于物品的协同过滤算法原理为在计算邻居时采用物品本身,而不是从用户的角度,即基于用户对物品的偏好找到相似的物品,然后根据用户的历史偏好,推荐相似的物品给他。基于物品的协同过滤算法原理大同小异,只是主体在于物品: 1.分析各个用户对item的浏览记录。 依据浏览记录分析得出所有item之间的相似度; 2.对于当前用户评价高的item,找出与之相似度最高的N个item; 3.将这N个item推荐给用户。 如下图:

5类常见的推荐算法

余生颓废 提交于 2020-03-24 01:22:17
  ◆ ◆ ◆   序言   最近因为PAC平台自动化的需求,开始探坑推荐系统。这个乍一听去乐趣无穷的课题,对于算法大神们来说是这样的:      而对于刚接触这个领域的我来说,是这样的:      在深坑外围徘徊了一周后,我整理了一些推荐系统的基本概念以及一些有代表性的简单的算法,作为初探总结,也希望能抛砖引玉,给同样想入坑的伙伴们提供一些思路。   ◆ ◆ ◆   什么是推荐系统   1. 什么是推荐系统?   推荐系统是啥?   如果你是个多年电商(剁手)党,你会说是这个:      如果你是名充满文艺细胞的音乐发烧友,你会答这个:      如果你是位活跃在各大社交平台的点赞狂魔,你会答这个:      没错,猜你喜欢、个性歌单、热点微博,这些都是推荐系统的输出内容。从这些我们就可以总结出,推荐系统到底是做什么的。   目的1. 帮助用户找到想要的商品(新闻/音乐/……),发掘长尾   帮用户找到想要的东西,谈何容易。商品茫茫多,甚至是我们自己,也经常点开淘宝,面对眼花缭乱的打折活动不知道要买啥。在经济学中,有一个著名理论叫长尾理论(The Long Tail)。      套用在互联网领域中,指的就是最热的那一小部分资源将得到绝大部分的关注,而剩下的很大一部分资源却鲜少有人问津。这不仅造成了资源利用上的浪费,也让很多口味偏小众的用户无法找到自己感兴趣的内容。   目的2.

推荐算法入门

空扰寡人 提交于 2020-03-24 01:21:31
推荐算法概览(一) 为推荐系统选择正确的推荐算法非常重要,而可用的算法很多,想要找到最适合所处理问题的算法还是很有难度的。这些算法每种都各有优劣,也各有局限,因此在作出决策前我们应当对其做以衡量。在实践中,我们很可能需要测试多种算法,以便找出最适合用户的那种;了解这些算法的概念以及工作原理,对它们有个直观印象将会很有帮助。 推荐算法通常是在 推荐模型 中实现的,而推荐模型会负责收集诸如用户偏好、物品描述这些可用作推荐凭借的数据,据此预测特定用户组可能感兴趣的物品。 主要的推荐算法系列有四个(表格1-4): 协同过滤(Collaborative Filtering)的推荐算法 基于内容过滤(Content-based Filtering)的推荐算法 混合型推荐算法 流行度推荐算法 此外,还有很多高级或非传统的方式,可参见表格5。 本文是系列文中的第一篇,将会以表格形式来介绍推荐算法的主要分类,包括算法简介、典型的输入内容、常见的形式及其优劣。在系列文的第二与第三篇中,我们将会更详细地介绍各种算法的不同,以便让大家更深入地理解其工作原理。本文的某些内容是基于一篇2014年的推荐算法2014教程 《推荐问题再探(Recommender Problem Revisited)》 来撰写的,该文的作者是 Xavier Amatriain 。 表格一:协同过滤推荐算法概览 表格二

07-01 推荐系统常用度量指标

北城余情 提交于 2020-03-03 11:27:01
文章目录 推荐系统常用评估指标 RMSE MAE Precision(准确率)&Recall(召回率) 覆盖率 信息熵 基尼系数 多样性 获取各种评测指标的途径 长尾分布 推荐系统常用评估指标 RMSE   加大了对预测不准的用户物品评分的惩罚。 RMSE = ∑ u , i ∈ T ( r u i − r u i ^ ) 2 ∣ T ∣ \text{RMSE}=\sqrt\frac{\sum_{u,i\in{T}}(r_{ui}-\hat{r_{ui}})^2}{|T|} RMSE = ∣ T ∣ ∑ u , i ∈ T ​ ( r u i ​ − r u i ​ ^ ​ ) 2 ​ ​ # records[i] = [u,i,rui,pui] # rui是用户u对物品i的实际评分,pui是用户u对物品i的预测评分 def rmse ( records ) : """计算均方根误差""" return math . sqrt ( sum ( [ ( rui - pui ) * ( rui - pui ) for u , i , rui , pui in records ] ) / len ( records ) ) MAE   如果评分系统是基于整数建立的,对预测结果取整会降低MAE的误差。 MAE = ∑ u , i ∈ T ∣ r u i − r u i ^ ∣ ∣ T ∣

基于用户的协同过滤推荐算法原理和实现

依然范特西╮ 提交于 2020-03-03 00:13:29
在推荐系统众多方法中,基于用户的协同过滤推荐算法是最早诞生的,原理也较为简单。该算法1992年提出并用于邮件过滤系统,两年后1994年被 GroupLens 用于新闻过滤。一直到2000年,该算法都是推荐系统领域最著名的算法。 本文简单介绍基于用户的协同过滤算法思想以及原理,最后基于该算法实现园友的推荐,即根据你关注的人,为你推荐博客园中其他你有可能感兴趣的人。 基本思想 俗话说“物以类聚、人以群分”,拿看电影这个例子来说,如果你喜欢《蝙蝠侠》、《碟中谍》、《星际穿越》、《源代码》等电影,另外有个人也都喜欢这些电影,而且他还喜欢《钢铁侠》,则很有可能你也喜欢《钢铁侠》这部电影。 所以说,当一个用户 A 需要个性化推荐时,可以先找到和他兴趣相似的用户群体 G,然后把 G 喜欢的、并且 A 没有听说过的物品推荐给 A,这就是基于用户的系统过滤算法。 原理 根据上述基本原理,我们可以将基于用户的协同过滤推荐算法拆分为两个步骤: 1. 找到与目标用户兴趣相似的用户集合 2. 找到这个集合中用户喜欢的、并且目标用户没有听说过的物品推荐给目标用户 1. 发现兴趣相似的用户 通常用 Jaccard 公式或者余弦相似度计算两个用户之间的相似度。设 N(u) 为用户 u 喜欢的物品集合,N(v) 为用户 v 喜欢的物品集合,那么 u 和 v 的相似度是多少呢: Jaccard 公式: 余弦相似度:

“万物皆可embedding”

半腔热情 提交于 2020-03-01 18:33:49
不知道大家有没有这种感受,在学习推荐系统算法模型时,少不了embedding的应用,有的推荐算法模型甚至可以说就是在做embedding的过程,可见embedding在推荐系统中的重要性。 这篇文章就专门把embedding单独提出来,梳理一下embedding在推荐系统中的应用。以下内容主要从深度学习方法和传统的协同过滤方法两个方面加深和理解在推荐系统领域对embedding的认识,感受下“embedding”这一重要思想。 深度学习方法 先拿一篇推荐系统领域中最为经典的论文之一“Deep Neural Networks for YouTubeRecommendations”来讲,Youtube的这篇视频推荐模型框架基本上奠定了后面推荐系统的主要步骤:召回和排序,如下图所示: 其中召回阶段(candidate generation)就是要从推荐的百万级别的视频库中筛选出用户可能感兴趣的视频,把推荐的视频库量级从百万级降到几百个。但是到底怎样才能快速高效的完成筛选呢? 要知道youtube是非常活跃的视频网站,每秒同时访问的人数成千上万,要同时实现每秒对每个用户都个性化的从百万视频候选集中挑出几百个用户感兴趣的视频,想想都不容易,因此每次做用户召回都跑一遍模型是不可能的,其解决方法就和接下来要介绍的embedding应用相关。如下图 1 所示为youtube召回阶段的模型: ▲

推荐系统的基本概念及其在各个领域的应用

五迷三道 提交于 2020-02-24 21:20:07
初学推荐系统相关内容,写写自己读《推荐系统实践》的读书笔记。 推荐系统: 对用户来说推荐系统帮助用户发现自己想要的商品,对于商品来说找到对其感兴趣的用户,前者例如电影,歌曲的推荐,后者例如广告推送。 产生推荐系统主要是因为信息过载,用户难以从大量信息中发现自己想要的信息。 对于物品来说,在线上购物网站可以包含大量的商品,如何发觉长尾商品,并且将这些长尾商品推荐给用户,是推荐系统的重要作用。 个性化推荐系统主要以下场景: 电子商务 ,例如亚马逊,淘宝。 商品推荐页主要包括的内容有(1)推荐结果的标题,缩略图以及其他内容属性,(2)推荐结果的评分(3)推荐理由。 亚马逊的推荐有以下三种:(1)基于用户之前的行为,例如购买过武侠小说,会继续推荐别的武侠小说。 (2)基于用户的好友关系,例如亚马逊拿到用户的Facebook的好友,然后向用户推荐他的好友都买了啥 (3)基于物品的相似度,例如购买了该商品的用户还买了哪些商品。 电影和视频推荐: 这种和电子商务不太一样,这种用户通常只是想看电影,但是并没有很明确的需求要看那部电影甚至是哪种类型的电影。 从Netflix的推荐理由来看,它们的算法和亚马逊的算法类似,也是基于物品的推荐算法,即给用户推荐和他们曾经喜欢的电影相似的电影。 音乐电台: 个性化推荐的成功应用需要两个条件。第一是存在信息过载

基于内容的推荐算法

走远了吗. 提交于 2020-02-16 00:16:17
输入   输入 1 :包含 200 部电影的数据集,集合中包含两列,一列为电影的 id ,一列为电影的流派集合,如下图所示:   输入 2 :一个用户的电影兴趣记录, like 字段为 1 表示喜欢, 0 表示不喜欢,如下图所示:   输出   输出 1 :输入 1 的 One-Hot 编码形式 ,类似下图所示:   输出 2 :根据输入 2 和输出 1 ,从电影数据集中给用户推荐用户没有看过的与用户相似度最高的 k 个电影。 前言   基于内容的推荐算法是一种比较经典的推荐算法,应用较广,可解释性强,准确率高,尤其是当今社会信息丰富,比如文本、音频等,有比较多的内容可以利用。但是对于一个一无所知的新用户而言,无法针对用户内容进行推荐,只能根据其他算法进行推荐,用户产生内容后才能很好的利用基于内容的推荐算法,这也就是冷启动问题,也是该算法的缺点。 原理 一、 用户画像   做好一个推荐系统,分为以下 3 步: 认识用户 给用户推荐他感兴趣的东西 观察各项业务指标,一直迭代 1 , 2 , 3 循环下去   上面提到的认识用户就是用户画像,用户画像是一个比较抽象的概念,推荐系统的用户画像是给机器用的。推荐系统要在用户和物品之间建立连接,一般的连接方式是对用户和物品之间的匹配进行评分,也就是预测用户的偏好,我们首先要将用户和物品都表示成向量,这样才能让机器进行计算

神经网络与推荐系统初步简介

本秂侑毒 提交于 2020-02-07 07:44:06
作者:一人 1.深度神经网络对于任何领域都是适用的 深度神经网络(Deep Neural Networks, DNN)在过去的数年已经在图像分类、语音识别、自然语言处理中取得了突破性的进展。在实践中的应用已经证明了它可以作为对于一种十分有效的技术手段应用在大数据相关领域中。深度神经网络通过众多的简单线性变换层次性的进行非线性变换对于数据中的复杂关系能够很好的进行拟合,即对数据特征进行的深层次的挖掘。 因此作为一种技术手段,深度神经网络对于任何领域都是适用的。 2.推荐系统简介 推荐系统的功能是帮助用户主动的找到满足偏好的个性化物品并推荐给用户。在本质上可以当做一个个性化的搜索引擎,输入的数据为用户行为信息、偏好信息等,返回的结果为最符合查询条件的物品列表。数学化的表示: 物 品 列 表 = f ( 用 户 偏 好 ) − − − − − − − − − − − 公 式 ( 1 ) 我们的推荐引擎就扮演者这里的函数的角色,它主要需要完成两部分的工作: A > 针对查询条件对物品的相关性进行估计。 B > 晒选出topN个最相关的物品。 因此,推荐系统的关键就是对上面 函数的一种求解 。 实际应用中的物品数量很大,因此在满足业务需要的前提下,对于所有物品使用评估函数进行评估是不实际的。因此为了实现性能与效果的平衡,大多的推荐系统将以上的计算过程分为两个部分: 推荐召回 推荐排序