架构师特刊:推荐系统(理论篇)

所需积分/C币:10 2018-04-11 08:54:13 2.21MB PDF
39
收藏 收藏
举报

推荐算法是推荐系统的核心,了解每个推荐算法的原理和特点有助于 在具体场景中算法的选择,无论是基于用户行为协同过滤算法,抑或是基 于内容的推荐算法,还是基于流行度等其他算法,都各有优缺点,即使使 用深度学习、社会化推荐等高级模型,现实场景中也很难用一个算法解决 问题,多算法的组合是一种行之有效的方法,如何选择最合适的算法也是 一个“技术活”。
序言 在Web1.0时代,导航网站是人们获取信息的主要方式,人们从固定 的目录式资源列表中寻找自己感兴趣的东西;Web2.0时代,搜索引擎让 人们可以方便的获取整个互联网的资源,让互联网真正无缝互联。但是当 互联网的资源量已经爆炸到人们无法分辨和接收时,推荐系统则从更深的 层次发现用户需求,给大家带来了个性化的体验。 推荐系统作为支撑个性化的主要技术方案,已经在互联网上得到了广 泛的应用:从1998年亚马逊利用Item-base协同过滤算法开始为用户进 行产品推荐开始,如今我们已可以在传统电商、视频、论坛、新闻、广告 邮件、社交、阅读等领域看到推荐系统的应用;在移动端,由于用户界面 的缩小,推荐系统的作用更显得突岀,在应用市场、游戏市场、桌面、推 送等场景,个性化推荐系统也发挥着重要的作用。 推荐算法是推荐系统的核心,了解每个推荐算法的原理和特点有助于 在具体场景中算法的选择,无论是基于用户行为协同过滤算法,抑或是基 于内容的推荐算法,还是基于流行度等其他算法,都各有优缺点,即使使 用深度学习、社会化推荐等髙级模型,现实场景中也很难用一个算法解决 问题,多算法的组合是一种行之有效的方法,如何选择最合适的算法也是 个“技术活” Info 架构师特刊:推荐系统(理论篇 推荐算法很重要,但推荐算法只是推荐系统的其中一部分,推荐系统 原理看似简单,但要完整支撑一个应用场景却是一个系统工程。在一个优 秀的推荐系统中,数据占70%,产品占30%,算法占10%,这是一个比较 广泛的共识,任何一方的短缺都无法取得较好的推荐效果。原理和实验都 很难说明一个算法或推荐系统好,真正验证效果还得实践 在实际应用中,搜索和推荐是目前人们最常用的获取资源的方式,前 者体现用户最直接的需求,后者发现用户的隐性需求,两者互相配合,解 决用户不同层面的个性化需求。现实的搜索引擎中大量的融合了推荐系统 的思路和算法解决个性化排序的问题,推荐系统中也会借助搜索引擎的思 路来达到更精确的召回效果。 不管什么技术,我们的目标是解决个性化的问题,洞察用户需求,降 低用户获取优质资源的成本,提升用户体验,让用户在方方面面都体验到 个性化的服务。 InfoQ此次汇集各方智慧形成的推荐系统的电子书,可以让大家对推 荐系统有一个更全面的认识,内容简洁清晰,其中每一点都是经验之谈 可以作为推荐爱好者的入门读物,也可以作为推荐系统开发者的方向指导 雷银 百分点集团开发副总监 架构师特刊:推荐系统(理论篇) Info 第1章推荐算法简介 为推荐系统选择正确的推荐算法是非常重要的决定。目前为止,已经 有许多推荐算法可供选择,但为你需要解决的特定问题选择一种特定的算 法仍然很困难。每一种推荐算法都有其优点和缺点,当然也有其限制条件, 在作出决定之前,你必须要一一考量。在实践中,你可能会测试几种算法, 以发现哪一种最适合你的用户,测试中你也会直观地发现它们是什么以及 它们的工作原理。 推荐系统算法通常是某类推荐模型的实现,它负责获取数据,例如用 户的喜好和可推荐项的描述,以及预测给定的用户组会对哪些选项感兴趣。 推荐算法通常被分为四大类(1-4) 协同过滤推荐算法; 基于内容的推荐算法 混合推荐算法; 流行度推荐算法。 除了这些种类以外,还有一些高级非传统的推荐算法(5)。 推荐算法综述是分为五个部分的系列文章,本文作为第一章,将会简 要介绍推荐系统算法的主要种类。其中包括算法的简要描述、典型的输入 Info 架构师特刊:推荐系统(理论篇 不同的细分类型以及其优点和缺点。在第二章和第三章中,我们将会详细 介绍这些算法的区别,让你能够深入理解他们的工作原理。系列文章中 的一些内容参考了一篇来自 RecSys2014 tutorial的文章:由 Xavier Amatriain编写的 The Recommender problem revisited 协同过滤推荐算法 简介:通过在用户的一系列行为中寻找特定模式来产生用户特殊 推荐。 输入:仅仅依赖于惯用数据(例如评价、购买、下载等用户偏妇 行为)。 类型 o基于邻域的协同过滤(基于用户和基于项); o基于模型的协同过滤(矩阵因子分解、受限玻尔兹曼机、贝叶 斯网络等)。 优点: o需要最小域; 不需要用户和项; o大部分场景中能够产生足够好的结果。 缺点: 0冷启动问题; 0需要标准化产品; 0需要很高的用户和项的比例(1:10); o流行度偏见(有长尾的时候表现不够好); o难于提供解释。 基于内容的推荐算法 简介:向用户推荐和其过去喜欢项的内容(例如元数据、描述、 架构师特刊:推荐系统(理论篇) Info 话题等等)相似的项。 输入:仅仅依赖于项和用户的内容/描述(除了惯用数据)。 类型: o信息检索(例如tf-idf和 Okapi bm25); o机器学习(例如朴素贝叶斯、支持向量机、决策树等) 优点: 0没有冷启动问题; 0不需要惯用数据; o没有流行度偏见,可以推荐有罕见特性的项 可以使用用户内容特性来提供解释 缺点 0项内容必须是机器可读的和有意义的 0容易归档用户 o很难有意外,缺少多样性 o很难联合多个项的特性 混合推荐算法 简介:综合利用协同过滤推荐算法和基于内容的推荐算法各自的 优点同时抵消各自的缺点。 输入:同时使用用户和项的内容特性与惯用数据,同时从两种输 入类型中获益。 类型: 0加权; 0交换; 混 o特性组合 Info 架构师特刊:推荐系统(理论篇 o案列 特征增强 0元层次 优点: o由于单独使用协同过滤推荐算法和基于内容的推荐算法; 0没有冷启动问题; o没有流行度偏见,可推荐有罕见特性的项; 0可产生意外,实现多样性。 缺点 o需要通过大量的工作才能得到正确的平衡。 流行度推荐算法 简介:这是一种推荐流行项的方法(例如最多下载、最多看过、最 大影响的项)。 输入:使用惯用数据和项的内容(例如类目) 优点: 0相对容易实现; o良好的基准算法; 0有助于解决新用户冷启动问题 缺点 0需要标准化产品; o经常需要一些项的类型进行分类 0不会推荐新项(很少有机会被观测到); o推荐列表不会改变太大。 高级非传统推荐算法 类型: 8 架构师特刊:推荐系统(理论篇) Info o深度学习; 0学习等级; o Multi- armed bandits(探索/开发) 0上下文感知推荐; o张量分解; 0分解机; 0社会推荐。 优点 o利于勉强维持最终性能百分点; o你可以说你正在使用渐进的方式。 缺点 o难于理解; o缺乏推荐工具支持; o没有为你的首个推荐系统提供推荐的方式。 关注微信号,回复“美女”看北大博士分享 如何将大数据建模在商业领域玩转得风声水起” GDAT為 Info 架构师特刊:推荐系统(理论篇 第2章协同过滤推荐算法 协同过滤(CF)推荐算法通过在用户活动中寻找特定模式来为用户产 生有效推荐。它依赖于系统中用户的惯用数据,例如通过用户对其阅读过 书籍的评价可以推断岀用户的阅读偏好。这种算法的核心思想就是:如果 两个用户对于一些项的评分相似程度较高,那么一个用户对于一个新项的 评分很有可能类似于另一个用户。值得注意的是,他们推荐的时候不依赖 于项的任何附加信息(例如描述、元数据等等)或者用户的任何附加信息 (例如喜好、人口统计相关数据等等)。CF的方法大体可分为两类:分 别为邻域和基于模型的方法。邻域方法(即基于内存的CF)是使用用户 对已有项的评分直接预测该用户对新项的评分。与之相反,基于模型的方 法是使用历史评分数据,基于学习出的预测模型,预测对新项的评分。通 常的方式是使用机器学习算法,找出用户与项的相互作用模型,从而找出 数据中的特定模式。 基于邻域的CF方法意在找出项与项之间的联系(基于项的CF),或 者用户与用户之间的联系(基于用户的CF)。 基于用户的CF通过找出对项的偏好与你相似的用户从而基于他们对 于新项的喜好来为你进行推荐。 10 架构师特刊:推荐系统(理论篇) Info

...展开详情
试读 40P 架构师特刊:推荐系统(理论篇)
立即下载 身份认证后 购VIP低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
关注 私信
上传资源赚钱or赚积分
最新推荐
架构师特刊:推荐系统(理论篇) 10积分/C币 立即下载
1/40
架构师特刊:推荐系统(理论篇)第1页
架构师特刊:推荐系统(理论篇)第2页
架构师特刊:推荐系统(理论篇)第3页
架构师特刊:推荐系统(理论篇)第4页
架构师特刊:推荐系统(理论篇)第5页
架构师特刊:推荐系统(理论篇)第6页
架构师特刊:推荐系统(理论篇)第7页
架构师特刊:推荐系统(理论篇)第8页

试读结束, 可继续读4页

10积分/C币 立即下载