推荐系统

漫谈“推荐系统”

為{幸葍}努か 提交于 2020-04-12 14:02:22
本文转自 @复旦李斌 的博客,非常白话的review了推荐系统领域的一些研究内容以及存在的挑战,mark一下。 由于需要准备一月底与三月中两个关于“推荐系统”的短期课程(前者在阿卜杜拉国王科技大学,没错就是那个传说中沙特的土豪大学!后者在悉尼科技大学),期间二月份还夹带了一个推荐系统相关的讨论班,所以从去年十二月开始我几乎每个周末至少得抽出一天的时间来做幻灯片。推荐技术是我个人研究兴趣并不是我日常工作内容,无法利用上班时间准备,再加上我有强迫症(必须要让累加起来多达二百多页的幻灯片风格色调字体公式图例都保持视觉上的审美愉悦与逻辑上的高度统一),所以在画图敲公式上花了很长时间。幻灯片做烦了,突然很想写点东西聊聊我对推荐系统的见解。此文不会出现公式,尽量用白话说清楚目前主流推荐技术的直观原理。 先谈谈问题背景,故事是这样的:互联网出现后,随着网上内容的增加,好学的小伙伴们发现很多他们不懂的姿势网上都有,可互联网不像图书馆搞个书目索引就行,于是出现了搜索引擎帮助小伙伴们在茫茫互联网上找到他们感兴趣的东西,但条件是你必须知道你想要什么,然后提取成关键字去搜,所谓信息检索(Information Retrieval)。十年过去了,信息爆炸了,问题出现了,搜索引擎动辄返回几十万个结果,或者有些想要的信息却根本不知道它的存在,甚至根本不知道如何用关键词描述你想要的东西,这时推荐系统应运而生—

达观数据:怎样评价推荐系统的结果质量?

放肆的年华 提交于 2020-04-06 05:52:39
推荐系统是互联网发展至今最常见也重要的技术之一。如今各类APP、网站、小程序等所有提供内容的地方,背后都有推荐系统在发挥作用。 开发好一套真正优秀的推荐系统非常有价值,但也非常艰巨。达观数据是国内推荐系统主要第三方供应商,一直在摸索中前进。 在想办法开发出强大的推荐系统服务好客户时,也一直在思考推荐系统的评估方法。 众所周知业界有一句俗话:“没有评价就没有进步”,其意思是如果没有一套科学的评价推荐系统效果的方法,那就找不到优化改进的方向,打造优秀的推荐系统就无从谈起。 笔者在几年前写过《 怎样量化评价搜索引擎的结果质量 》一文并首发于InfoQ(也可见知乎 https://zhuanlan.zhihu.com/p/30910760 )。和搜索引擎相比,移动互联网时代的推荐系统应用面更广阔,评价指标也更复杂。 评价指标像一把尺子,指引着我们产品优化的方向。到底怎样才能科学合理的评价推荐系统的结果质量?从各类文献资料和网上文章里能看到数十种评估公式,让人眼花缭乱。这些指标各自有什么优缺点,应该怎样取舍?本文从我们的实践经验出发,对此进行一些深入的分析,期望对大家有所裨益(达观数据 陈运文)。 针对不同的推荐场景,一定要因地制宜的选择合适的评估方法 推荐场景是制定评价指标时最为关键的,脱离了推荐场景来谈评测指标就像无水之鱼。所谓“推荐场景”, 与所推荐的内容类型、展现方式

转:netflix推荐系统竞赛

﹥>﹥吖頭↗ 提交于 2020-04-03 22:44:39
原文链接: Netflix recommendations: beyond the 5 stars (Part 1) , (Part 2) 原文作者: Xavier Amatriain and Justin Basilico 翻译: 大魁 前言 Nexflix是一家提供在线视频流媒体服务和DVD租赁业务的公司,也是著名的Netflix大奖赛的发起者。如果读者希望进一步了解Netflix,建议读一下和讯上的一篇文章: Netflix:从传统DVD租赁向流媒体华丽转身 以及爱范儿上的: Netflix成功的背后:高薪,高标准,高淘汰率,股票,无限制休假,恐惧文化,垃圾便当午餐 在这篇博文中,作者为我们掀开了Netflix最有价值的资产--推荐系统的面纱。 全文分两部分。在第一部分中,作者首先介绍了Netflix Prize对智能推荐领域的贡献,Netflix推荐服务的主要模块,以及推荐服务如何满足网站的商业需求;第二部分中,作者描述了系统使用的数据和模型,讨论了如何将离线的机器学习实验与线上的AB testing相结合。 第一部分 Netflix大奖赛与推荐系统 在2006年,我们启动了Netflix大奖赛,是一个机器学习和数据挖掘的比赛,旨在解决电影评分预测问题。我们举办这个比赛的目的是为了发现更好的方法来向我们的用户推荐产品,这是我们商业模式的核心任务

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

天涯浪子 提交于 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 。 表格一:协同过滤推荐算法概览 表格二

【智能推荐系列公开课讲义①】推荐场景化构建与业务价值

纵饮孤独 提交于 2020-03-23 19:39:39
3 月,跳不动了?>>> 内容要点 本期课程从推荐的业务价值、推荐领域难点问题、可实现的场景功能来阐述推荐的价值和意义。 推荐的起源和价值实现 具有“推荐系统之王”称号的电子商务网站-亚马逊,在推荐的应用上走在了行业的最前列。 在初期的设计中,亚马逊主要将推荐应用于3个板块: 第一种是最常见的基于item的协同过滤算法,利用过去的历史行为进行推荐; 第二种是利用facebook间好友关系的推荐; 第三种是相关推荐-打包销售场景,这个和后续中场景部分的相关推荐差别较大。打包销售主要的应用场景类似于买了手机买手机壳的场景。 以上三种,在当时是一个较为全面的推荐管理,串联了消费者浏览、购买以及购买后的场景。从已有的数据材料中统计,当时20%-30%的销售来源于推荐系统。 对于每一个消费者而言,推荐系统使自己拥有了一个在线商店,能够不虚此次访问,在商店中找到自己感兴趣的商品。 由推荐 来源: oschina 链接: https://my.oschina.net/u/4258423/blog/3209314

推荐系统学习笔记(1)

谁说我不能喝 提交于 2020-03-21 07:04:56
1 什么是推荐系统?      推荐系统的任务是联系用户和信息,一方面帮助用户发现对自己有价值的信息,另一方面让信息能够展现对它感兴趣的用户面前,从而实现信息消费者和信息生产者的双赢。   推荐系统和搜索引擎不同的是,推荐系统不需要用户提供明确的需求,而是通过分析用户的历史行为给用户的兴趣建模,从而主动给用户推荐能够满足他们兴趣和需求的信息。   推荐系统通过发掘用户的行为,找到用户的个性化需求,从而将长尾商品准确地推荐给需要它的用户,帮助用户发现那些他们感兴趣但很难发现的商品。 2 推荐系统的方法      推荐系统的方法:     社会化推荐( social recommendation )     基于内容的推荐( content-based filtering )     基于协同过滤( collaborative filtering )   推荐算法的本质是通过一定的方式将用户和物品联系起来,而不同的推荐系统利用了不同的方式。 3 推荐系统的应用    个性化推荐系统在网站中的主要作用是通过分析大量用户行为日志,给不同用户提供不同的个性化页面展示,来提高网络的点击率和转化率。 1. 电子商务:例如亚马逊 2. 电影和视频网站:例如 Netflix 3. 个性化音乐网络电台:例如 Last.fm 4. 社交网络:例如 Facebook 5. 个性化阅读:例如 Digg 6.

大数据项目之电影推荐系统(一)项目介绍与环境配置

别等时光非礼了梦想. 提交于 2020-03-17 04:59:22
电影推荐系统 一、项目介绍 项目以某科技公司电影网站真实业务数据架构为基础,基于阿里云ESC服务器,构建了包含了离线推荐与实时推荐体系的电影推荐系统,综合利用了协同过滤算法以及基于内容的推荐方法来提供混合推荐。提供了从前端应用、后台服务、算法设计实现、平台部署等多方位的闭环的业务实现。 二、项目实现 开发环境:阿里云服务器CentOS6,本地Window 10 使用工具:IDea,Spark 2.3.4, MongoDB 3.4.2, ElasticSearch5.6.2 1. 软件安装 1.1 MongoDB安装 官网下载很慢,阿里云镜像安装 下载以下四个到服务器上 mongodb-org-3.4.3-1.el6.x86_64.rpm,mongodb-org-mongos-3.4.3-1.el6.x86_64.rpm,mongodb-org-server-3.4.3-1.el6.x86_64.rpm,mongodb-org-shell-3.4.3-1.el6.x86_64.rpm,mongodb-org-tools-3.4.3-1.el6.x86_64.rpm) 地址 http://mirrors.aliyun.com/mongodb/yum/redhat/6Server/mongodb-org/3.4/x86_64/RPMS/ wget下载到服务器, rpm安装 rpm