之前也做过一些关于推荐系统的项目,下面就来系统的总结一下。

一、 什么是推荐系统?

引用百度百科的一段解释就是:“利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮助客户完成购买过程。个性化推荐是根据用户的兴趣特点和购买行为,向用户推荐用户感兴趣的信息和商品。”

在这个数据过载的时代,信息的消费者需要从海量的信息中找到自己所需要的信息,信息的生产者要让自己生产的信息在海量的信息中脱颖而出,这时推荐系统就应运而生了。对用户而言,推荐系统不需要用户提供明确的目标;对物品而言,推荐系统解决了2/8现象的问题(也叫长尾效应),让小众的物品可以展示到需要它们的用户面前。

二、推荐系统要解决的问题?

1、帮助用户找到想要的物品 如:书籍、电影等

2、可以降低信息过载

3、有利于提高站点的点击率/转化率

4、有利于对用户进行深入了解,为用户提供个性化服务

三、推荐系统的发展趋势?

推荐系统的研究大致可以分为三个阶段,第一阶段是基于传统的服务,第二阶段是基于目前的社交网络的服务,第三阶段是即将到来的物联网。这其中产生了很多基础和重要的算法,例如协同过滤(包括基于用户的和基于物品的)、基于内容的推荐算法、混合式的推荐算法、基于统计理论的推荐算法、基于社交网络信息(关注、被关注、信任、知名度、信誉度等)的过滤推荐算法、群体推荐算法、基于位置的推荐算法。其中基于邻域的协同过滤推荐算法是推荐系统中最基础、最核心、最重要的算法,该算法不仅在学术界得到较为深入的研究,而且在业界也得到非常广泛的应用,基于邻域的算法主要分为两大类,一类是基于用户的协同过滤算法,另一类是基于物品的协同过滤算法,除此之外,基于内容的推荐算法应用也非常广泛等等,因此下文将对涉及推荐系统的常用算法进行详细介绍。

1、基于流行度的推荐算法

2、基于协同过滤的推荐算法(UserCF与ItemCF)

3、基于内容的推荐算法

4、基于模型的推荐算法

5、基于混合式的推荐算法

四、基于流行度的推荐算法

基于流行度的算法非常简单粗暴,类似于各大新闻、微博热榜等,根据PV、UV、日均PV或分享率等数据来按某种热度排序来推荐给用户。

注:独立访客(UV)、访问次数(VV)两个指标有什么区别?

① 访问次数(VV):记录1天内所有访客访问了该网站多少次,相同的访客有可能多次访问该网站,且访问的次数累加。

② 独立访客(UV):记录1天内所有访客访问了该网站多少次,虽然相同访客能多次访问网站,但只计算为1个独立访客。

③ PV访问量(Page View):即页面访问量,每打开一次页面或者刷新一次页面,PV值+1。

1、优点:该算法简单,适用于刚注册的新用户;

2、缺点:无法针对用户提供个性化的推荐;

3、改进:基于该算法可做一些优化,例如加入用户分群的流行度进行排序,通过把热榜上的体育内容优先推荐给体育迷,把政要热文推给热爱谈论政治的用户。

五、基于用户的协同过滤推荐算法

当目标用户需要推荐时,可以先通过兴趣、爱好或行为习惯找到与他相似的其他用户,然后把那些与目标用户相似的用户喜欢的并且目标用户没有浏览过的物品推荐给目标用户。

1、基于用户的CF原理如下:

① 分析各个用户对物品的评价,通过浏览记录、购买记录等得到用户的隐性评分;

② 根据用户对物品的隐性评分计算得到所有用户之间的相似度;

③ 选出与目标用户最相似的K个用户;

④ 将这K个用户隐性评分最高并且目标用户又没有浏览过的物品推荐给目标用户。

2、优点:

① 基于用户的协同过滤推荐算法是给目标用户推荐那些和他有共同兴趣的用户喜欢的物品,所以该算法推荐较为社会化,即推荐的物品是与用户兴趣一致的那个群体中的热门物品;

② 适于物品比用户多、物品时效性较强的情形,否则计算慢;

③ 能实现跨领域、惊喜度高的结果。

3、缺点:

① 在很多时候,很多用户两两之间的共同评分仅有几个,也即用户之间的重合度并不高,同时仅有的共同打了分的物品,往往是一些很常见的物品,如票房大片、生活必需品;

② 用户之间的距离可能变得很快,这种离线算法难以瞬间更新推荐结果;

③ 推荐结果的个性化较弱、较宽泛。

4、改进:

① 两个用户对流行物品的有相似兴趣,丝毫不能说明他们有相似的兴趣,此时要增加惩罚力度;

② 如果两个用户同时喜欢了相同的物品,那么可以给这两个用户更高的相似度;

③ 在描述邻居用户的偏好时,给其最近喜欢的物品较高权重;

④ 把类似地域用户的行为作为推荐的主要依据。

六、基于物品的协同过滤推荐算法

当一个用户需要个性化推荐时,举个例子由于我之前购买过许嵩的《梦游计》这张专辑,所以会给我推荐《青年晚报》,因为很多其他用户都同时购买了许嵩的这两张专辑。

1、基于物品的CF原理如下:

① 分析各个用户对物品的浏览记录;

② 依据浏览记录分析得出所有物品之间的相似度;

③ 对于目标用户评价高的物品,找出与之相似度最高的K个物品;

④ 将这K个物品中目标用户没有浏览过的物品推荐给目标用户

2、优点:

① 基于物品的协同过滤推荐算法则是为目标用户推荐那些和他之前喜欢的物品类似的物品,所以基于物品的协同过滤推荐算法的推荐较为个性,因为推荐的物品一般都满足目标用户的独特兴趣。

② 物品之间的距离可能是根据成百上千万的用户的隐性评分计算得出,往往能在一段时间内保持稳定。因此,这种算法可以预先计算距离,其在线部分能更快地生产推荐列表。

③ 应用最广泛,尤其以电商行业为典型。

④ 适于用户多、物品少的情形,否则计算慢

⑤ 推荐精度高,更具个性化

⑥ 倾向于推荐同类商品

3、缺点:

① 不同领域的最热门物品之间经常具有较高的相似度。比如,基于本算法,我们可能会给喜欢听许嵩歌曲的同学推荐汪峰的歌曲,也就是推荐不同领域的畅销作品,这样的推荐结果可能并不是我们想要的。

② 在物品冷启动、数据稀疏时效果不佳

③ 推荐的多样性不足,形成信息闭环

4、改进:

① 如果是热门物品,很多人都喜欢,就会接近1,就会造成很多物品都和热门物品相似,此时要增加惩罚力度;

② 活跃用户对物品相似度的贡献小于不活跃的用户;

③ 同一个用户在间隔很短的时间内喜欢的两件商品之间,可以给予更高的相似度;

④ 在描述目标用户偏好时,给其最近喜欢的商品较高权重;

⑤ 同一个用户在同一个地域内喜欢的两件商品之间,可以给予更高的相似度。

七、基于内容的推荐算法

协同过滤算法仅仅通过了解用户与物品之间的关系进行推荐,而根本不会考虑到物品本身的属性,而基于内容的算法会考虑到物品本身的属性。

根据用户之前对物品的历史行为,如用户购买过什么物品、对什么物品收藏过、评分过等等,然后再根据计算与这些物品相似的物品,并把它们推荐给用户。例如某用户之前购买过许嵩的《寻宝游戏》,这可以说明该用户可能是一个嵩鼠,这时就可以给该用户推荐一些许嵩的其他专辑或著作。

1、基于内容的推荐算法的原理如下:

① 选取一些具有代表性的特征来表示每个物品

② 使用用户的历史行为数据分析物品的这些特征,从而学习出用户的喜好特征或兴趣,也即构建用户画像

③ 通过比较上一步得到的用户画像和待推荐物品的画像(由待推荐物品的特征构成),将具有相关性最大的前K个物品中目标用户没有浏览过的物品推荐给目标用户

2、优点:
① 是最直观的算法

② 常借助文本相似度计算

③ 很好地解决冷启动问题,并且也不会囿于热度的限制

3、缺点:

① 容易受限于对文本、图像、音视频的内容进行描述的详细程度

② 过度专业化(over-specialisation),导致一直推荐给用户内容密切关联的item,而失去了推荐内容的多样性。

③ 主题过于集中,惊喜度不足

八、基于模型的推荐算法

基于模型的推荐算法会涉及到一些机器学习的方法,如逻辑回归、朴素贝叶斯分类器等。基于模型的算法由于快速、准确,适用于实时性比较高的业务如新闻、广告等,而若是需要这种算法达到更好的效果,则需要人工干预反复的进行属性的组合和筛选,也就是常说的Feature Engineering。而由于新闻的时效性,系统也需要反复更新线上的数学模型,以适应变化。

九、基于混合式的推荐算法

现实应用中,其实很少有直接用某种算法来做推荐的系统。在一些大的网站如Netflix,就是融合了数十种算法的推荐系统。我们可以通过给不同算法的结果加权重来综合结果,或者是在不同的计算环节中运用不同的算法来混合,达到更贴合自己业务的目的。

十、推荐结果列表处理

1、当推荐算法计算得出推荐结果列表之后,我们往往还需要对结果进行处理。比如当推荐的内容里包含敏感词汇、涉及用户隐私的内容等等,就需要系统将其筛除;

2、若多次推荐后用户依然对某个物品毫无兴趣,就需要将这个物品降低权重,调整排序;

3、有时系统还要考虑话题多样性的问题,同样要在不同话题中筛选内容。

十一、推荐结果评估

当一个推荐算法设计完成后,一般需要用查准率(precision),查全率(recall),点击率(CTR)、转化率(CVR)、停留时间等指标进行评价。

查准率(precision):推荐给用户且用户喜欢的物品在推荐列表中的比重

查全率(recall):推荐给用户且用户喜欢的物品在用户列表中的比重

点击率(CTR):实际点击了的物品/推荐列表中所有的物品

转化率(CVR):购买了的物品/实际点击了的物品

日积月累,与君共进,增增小结,未完待续。

推荐系统 ,是当今互联网背后的无名英雄。 我们在某宝首页看见的商品,某条上读到的新闻,甚至在各种地方看见的广告,都有赖于它。 昨天,一个名为Stats&Bots的博客详解了构建 推荐系统 的五种 方法 。 量子位编译如下: 现在,许多公司都在用大数据来向用户进行相关 推荐 ,驱动收入增长。 推荐算法 有很多种,数据科学家需要根据业务的限制和要求选择最好的 算法 。 一、什么是 推荐算法 所谓 推荐算法 就是利用用户的一些行为,通过一些数学 算法 ,推测出用户可能喜欢的东西。 个性化 推荐 概念的首次出现是在1995年3月的美国人工智能协会上,由卡耐基梅隆大学的 Robert Armstrong 等提出了个性化导航系统 Web Watcher。同时,斯坦福大学的Marko balabanovic等也推出了LIRA——一个个性化 推荐系统 。自此之后,个性化 推荐 的研究开始蓬勃发展... 推荐系统 什么是 推荐系统 ?根据维基百科的定义, 它是一种信息过滤系统,主要功能是预测用户对物品 的评分和偏好。这一定义回答了 推荐系统 的功能是过滤信息、连接用户和推送信息。将这一定义扩 展一下, 推荐系统 就是自动联系用户和物品的一种工具,它能够在信息过载的环境中帮助用户发现 令他们感兴趣的信息, 也能够将信息推送给感兴趣的用户。 推荐系统 起源于 20 世纪 90 年代,经过 20 多年的积累和沉淀, 已经逐渐成为一门独立的学科, 并在学术研究和工业界的应用中取得了诸多成果, 如图 1- 1 所示。 3.基于图的 推荐算法 基于图的模型(graph−basedmodel )需要将用户行为数据表示成图的形式。将用户行为数据表示二分图模型后,下面的任务就是在二分图上给用户进行个性化 推荐 。 4.基于 内容 的. 推荐系统 的出现   随着互联网的发展,人们正处于一个信息爆炸的时代。相比于过去的信息匮乏,面对现阶段海量的信息数据,对信息的筛选和过滤成为了衡量一个系统好坏的重要指标。一个具有良好用户体验的系统,会将海量信息进行筛选、过滤,将用户最关注最感兴趣的信息展现在用户面前。这大大增加了系统工作的效率,也节省了用户筛选信息的时间。   搜索引擎的出现在一定程度上解决了信息筛选问题,但还远远不够。搜索引擎... 常见的 算法 :回归、矩阵分解、关联规则、分类、聚类、神经网络、图模型、隐语义模型。 2.2基于聚类的 协同过滤 (1)分类:基于划分(Partition-based methods)、基于密度(Density-based methods)、层次聚类。 (2) 算法 :K-Means、DBSCAN、BIRCH。        &am 1. 什么是 推荐算法 推荐算法 最早在1992年就提出来了,但是火起来实际上是最近这些年的事情,因为互联网的爆发,有了更大的数据量可以供我们使用, 推荐算法 才有了很大的用武之地。 最开始,所以我们在网上找资料,都是进yahoo,然后分门别类的点进去,找到你想要的东西,这是一个人工过程,到后来,我们用google,直接搜索自己需要的 内容 ,这些都可以比较精准的找到你想要的东西,但是,如果我自己都不知道自己要找什么肿么办?最典型的例子就是,如果我打开豆瓣找电影,或者我去买说,我实际上不知道我想要买什么或者看什么,这时 本文调研了 推荐系统 里的经典 推荐算法 ,结合论文及应用进行分析、归纳并 总结 成文,既是自己的思考过程,也可当做以后的翻阅手册。 个性化 推荐 ,是指通过分析、挖掘用户行为,发现用户的个性化需求与兴趣特点,将用户可能感兴趣的信息或商品 推荐 给用户。本文调研了 推荐系统 里的经典 推荐算法 ,结合论文及应用进行分析、归纳并 总结 成文,既是自己的思考过程,也可当做以后的翻阅手册。俗话说学而时习之,人的认识过程是呈螺旋式上升的,特别是理论应用到实践的过程,理论是实践的基础,实践能反过来指导人对理论的认识,我相信在将下文所述的 算法 应 在互联网领域, 推荐系统 (Recommendation Systems)的应用非常广泛。在音视频方面,如抖音、快手、哔哩等;在电商平台方面,如京东、淘宝、拼多多等。 推荐 有助于帮助用户快速发现潜在感兴趣的 内容 (音视频、商品、新闻等信息流),从而提升用户体验,同时有助于提升商业效率。从本文开始,笔者将结合自身在信息流 推荐 领域的经验,通过系列文章对 推荐系统 展开介绍。 常见的 推荐算法 原理介绍,随着互联网的发展短视频运营越来越精准化,我们身边常见的抖音、火山小视频等软件让你刷的停不下来,这些软件会根据你的浏览行为 推荐 你感兴趣的相关 内容 ,这就用到了很多 推荐算法 在里面。在淘宝购物,在头条阅读新闻,在抖音刷短视频,背后其实都有智能 推荐算法 。这些 算法 不断分析、计算我们的购物偏好、浏览习惯,然后为我们 推荐 可能喜欢的商品、文章、视频。这些产品的 推荐算法 如此智能、高效,以至于我们常常一打开淘宝就买个不停一打开抖音就停不下来。大数据平台只是提供了数据获取、存储、计算、应用的技术方案,真正挖 推荐算法 具有非常多的应用场景和商业价值,因此对 推荐算法 值得好好研究。 推荐算法 种类很多,但是目前应用最广泛的应该是 协同过滤 类别的 推荐算法 ,本文就对 协同过滤 类别的 推荐算法 做一个概括 总结 ,后续也会对一些典型的 协同过滤 推荐算法 做原理 总结 。 1. 推荐算法 概述 推荐算法 是非常古老的,在机器学习还没有兴起的时候就有需求和应用了。概括来说,可以分为以下5种:     1)基于 内容 推荐 :这一类一...