您当前的位置:首页 > 指南 > 正文

解读推荐系统,什么才是好的推荐系统

关于【解读推荐系统】,今天犇涌小编给您分享一下,如果对您有所帮助别忘了关注本站哦。

内容导航:1、解读推荐系统:从这9点去看,什么才是好的推荐系统?2、解读推荐系统,一文看懂推荐系统的原理

1、解读推荐系统:从这9点去看,什么才是好的推荐系统?

一个推荐系统的好坏实实在在影响着用户使用产品的感受,我们如何判断推荐系统的好坏?一个好的推荐系统需要注意哪几点?

解读推荐系统,什么才是好的推荐系统

生活中,我们对推荐系统一点都不陌生,甚至会天天接触。相信我们很多人都有这样的体会:

我们经常信誓旦旦地说“就玩10分钟抖音吧”,但往往是一刷不知不觉2小时就过去了;我们如果在淘宝上买过一件衣服,却总是能在首页或者详情页看到一些心仪的裙子、裤子,甚至鞋子,然后继续开启剁手党的买买买模式;作为热爱流行歌曲的音乐发烧友,今天心情很好,但是却不知道听什么,我们点开了音乐app,打开里面的【推荐歌单】,每首都不一样,每首好像都能触达心灵。

这也许就是推荐系统的美和魅力吧!

解读推荐系统,什么才是好的推荐系统

什么是好的推荐系统?

一个推荐系统,往往存在3个参与方:用户、物品提供者、提供推荐系统的产品。

从用户角度说,好的推荐系统不仅仅能够准确预测用户的行为,而且能够扩展用户的视野,帮助用户发现那些他们感兴趣,但却不那么容易发现的东西。从物品提供者角度说,好的推荐系统,能够帮助他们将那些被埋没在长尾中的好东西,介绍给可能会对他们感兴趣的用户。

好的推荐系统是一箭双雕的,能优雅的帮助用户和物品提供方解决问题。

解读推荐系统,什么才是好的推荐系统

作为推荐系统的产品经理,除了我们主观去评估推荐系统质量,那么还有哪些客观指标可以评估一个推荐系统的质量的?

1. 用户满意度

用户作为推荐系统的重要参与者 ,其满意度是评测推荐系统的重要指标,通常通过用户调查和用户在线行为分析获得。

(1) 用户调查

用户调查主要是通过问卷的形式进行,用户对推荐系统的满意度往往分为不同的层次。

我们之前做过对猎头推荐职位的调研,问卷中有个问题是,请问下面哪句话最能描述你看到推荐结果后的感受?

选项1,推荐的简历都是我非常想看的;选项2,推荐的简历很多我都会看,确实符合我兴趣的不错简历;选项3,推荐的简历和我负责的领域相关,但是不是我当前想找的候选人;选项4,不知道为什么会推荐这些简历,都不是我感兴趣的。

调查问卷需要从不同的侧面询问用户对结果的不同感受。

如果只是问用户是否满意,用户可能心里会认为大体满意,但是对某个方面还是有点不满意,因而会很难回答这个问题,即使回答了,我们在统计分析结果的时候也会不知所措。

(2) 在线行为分析

在线行为分析,也就是常说的用户点击率、停留时间和转化率等指标来度量。

当我们闲来无事,想逛逛某宝的时候,首页会推荐一个商品列表,如果我们满意,我们就会点击某个商品,而且还很可能会购买商品。

用户的点击率、停留时间和购买转化率,都能很客观的反应我们的满意度。

很多做内容推荐的产品,比如头条,会主动提供用户是否满意的入口 ,用户可以直接反馈对该条内容不感兴趣。

反馈垃圾内容拉黑作者屏蔽等操作

通过用户的直接反馈,也可以度量系统的用户满意度。

2. 预测准确度

这个指标是推荐系统预测用户行为的能力,是一个非常重要的离线评测指标。

首先,准备一个离线的数据集,包括用户的历史行为记录;然后,将该数据集通过时间分成训练集和测试集;最后,通过在训练集上建立用户的行为和兴趣模型,预测用户在测试集上的行为,并且把计算预测行为和实际行为的重合度作为预测准确度。

(1)用得比较多的是我们常常见到的评分系统:

很多网站,不管是买了衣服,还是看了一部电影,都会提供一个让用户给物品打分的功能。这样我们就能知道用户对物品的历史评分,从中学习用户的兴趣模型,并预测该用户,会给没有评分过的物品打多少分。

(2) 还有一种比较常见的topN预测准确度:

假如我们已经获取到用户历史观看电影的记录数据:

集合A:根据用户训练集上的行为,给出的推荐电影列表;集合B:用户在测试集上实际会点击的电影;

那么:

准确率=(A与B的交集)/ A

召回率=(A与B的交集)/ B

这个评估指标重点是:找出用户最有可能看的电影。

3. 覆盖率

描述一个推荐系统对物品长尾的发掘能力。

覆盖率=能够推荐出来的商品数量/总物品数量

以图书推荐为例,出版社可能会很关心,他们的书有没有被推荐给用户;覆盖率为100%的话,说明推荐系统可以将每个物品都推荐给至少一个用户。

除了图书都能被推荐出来,每本书被推荐出来的次数也是很关键的。如果所有的物品都有机会被推荐,且推荐次数差不多,那么说明覆盖率越好。

大家可能都听说过“马太效应”,就是所谓的强者更强,弱者更弱。一般的热门排行榜就有马太效应。

但是推荐系统的初衷是希望消除马太效应的,这个也是推荐系统魅力的体现。

4. 多样性

尽管用户的兴趣,在较长的时间跨度中是不一样的:在一个视频产品中,用户可能即会看《蜡笔小新》这样的动画片,也会看《权利的游戏》这样的史诗奇幻题材的电视剧。

但具体到用户访问推荐系统的某一刻:其兴趣往往是单一的,那么如果推荐列表只能覆盖用户的一个兴趣点,而这个兴趣点不是用户这个时刻的兴趣点,就不会让用户满意。

相反,如果推荐列表比较多样,覆盖了用户绝大多数的兴趣点,那么就会增加,用户找到感兴趣视频的概率。

这里就用到逆向思维来看!

我们通常会去计算物品和物品之间的相似性,因为多样性和相似性是对应的。而计算相似性,往往通过物品的以下几方面进行:

分类标签,比如电影的分类标签,是动作片、玄幻片还是古装剧,是搞笑的,还是写实的;物品的提供者信息,比如电影的导演、主演、编剧等;物品的上市时间;

那么多样性最好是到什么程度呢?

如果用户80%的时间都在看搞笑的综艺,20%的时间在看写实的节目。如果提供以下几个推荐列表,你会觉得哪个比较好呢:

A列表中有10部搞笑综艺;B列表中有10部纪录片;C列表中有8部搞笑综艺,2部纪录片;D列表中是5补搞笑综艺,5部纪录片;

一般我们会认为C列表是最好的,因为他具有一定的多样性,又兼顾了用户的主要兴趣。推荐列表比较多样,会增加用户找到感兴趣物品的概率。

5. 新颖性

让用户觉得新颖,其实就是推荐那些他们感兴趣,但是以前没有听说过的物品。

最简单的方式,就是在推荐列表里,过滤掉用户历史产生过行为的物品,包括浏览过的、点击过的等等。

但是呢,因为现在内容很可能出现在多个产品里,在我们的产品里没有,不代表用户在其他产品也没见过。

所有会利用推荐结果的平均流行度,越不热门的物品越可能让用户觉得新颖,但是其实,这个方法也是很粗略的,很难准确做出评估,因为不同用户不知道的东西是不一样的。

所以现在没有一种比较好的统计方法,可以做到新颖性的评估。更多依赖于用户调查和线上实验测试。当我们推荐物品给用户后,可以观察用户的行为结果。

如果我们跟用户推荐一篇技术文章:

首先,去筛选跟用户兴趣匹配的技术文章,找出最近产生的,因为历史的很有可能会被看过了;然后,我们可以挑选非热门的,因为热门的也有可能被看过了;最后,在线上去观察用户的点击率,如果点击率比较高,则说明用户对这个文章感兴趣。

6. 惊喜度

我们经常在分析需求的时候,会把需求分为几个层次:

兴奋型需求期望型需求基本型需求可有可无需求反向型需求(有了反而不好)

推荐系统也是一样,给用户惊喜都是我们的终极目标。

也就是,推荐给用户潜意识里需要,但是又没有明确表达出来的。换句话说,跟用户历史行为不相似,但是用户却觉得满意的推荐。

如果用户历史上喜欢看刘德华的电影,然后我们推荐了《天下无贼》,如果用户没有看过这个电影,那么可以说这个推荐具有新颖性,但是不会有惊喜度,因为很大可能是他预期内的。

但是 ,如果我们一部周星驰的《美人鱼》给他,他看完电影后很满意,“竟然把这么好的电影推荐给我了”!那么这个时候他就会觉得惊喜了。

怎么去做呢?

首先,定义推荐结果和用户历史上喜欢物品的相似度;

其次,需要定义用户对推荐结果的满意度;

提高推荐惊喜度,需要提高推荐结果的用户满意度,同时降低推荐结果和用户历史兴趣的相似度。

7. 信任度

人是社交型动物,喜欢熟悉的东西,喜欢熟悉的人 ,推荐系统也是一样,需要和人之间建立某种信任,那么就需要让用户了解推荐系统。

最简单的方式,就是增加推荐系统的透明度,也就是提供推荐解释,让用户知道这个推荐结果是怎么产生的,了解推荐系统运行机制。

其次是考虑用户的社交网络信息,利用用户的好友信息给用户做推荐,并且用好友进行推荐解释。

很早以前,我们经常会看到“你好友也关注”、“购买了相似物品”。

8. 实时性

想想:如果头条老是推荐前几天的新闻,我们会有多么的奔溃?如果淘宝老是推荐我一年前购买过的相似物品,我们会是什么心情?

实时性,包括两个方面:

一是,及时更新用户的兴趣,满足用户新的行为变化,我们现在在淘宝上,今天买了一本育儿绘本,如果再次访问淘宝,那么首页会推荐育儿相关的玩具、其他书籍;

二是,及时把新上架的物品推荐给用户 ,这个也主要解决了物品冷启动的问题,一个物品如果在平台里一直得不到推荐,那么物品肯定不会带来浏览和转化,那么物品提供方可能就没有太多心情,持续提供好的内容了。

9. 商业目标

我们评测一个推荐系统,很多时候更加注重商业目标是否达成。

因为任何一个成功的产品,除了解决用户的问题以外,还需要解决盈利的问题。

2、解读推荐系统,一文看懂推荐系统的原理

一、推荐系统介绍

一句话介绍推荐系统的作用:高效地达成用户与意向对象的匹配。

解读推荐系统,什么才是好的推荐系统

1.1 推荐系统的应用

推荐系统是建立在海量数据挖掘基础上,高效地为用户提供个性化的决策支持和信息服务,以提高用户体验及商业效益。常见的推荐应用场景如:

资讯类:今日头条、腾讯公众号等新闻、广告、文章等内容推荐;电商类:淘宝、京东、拼多多、亚马逊等商品推荐;娱乐类:抖音、快手、爱奇艺等视频推荐;生活服务类:美团、大众点评、携程等吃喝玩乐推荐;社交类:微信、陌陌等好友推荐;1.2 推荐系统的目标

构建推荐系统前,首先要根据业务目标确定推荐系统的优化目标,对于不同的应用场景,推荐系统(模型学习)关注的是不同的业务指标,比如:

对于电商推荐,不仅要预测用户的点击率(CTR),更重要的是预测用户的转化率(CVR);对于内容推荐,业务关心的除了CTR,还有阅读/观看时长、点赞、转发、评论等指标;

由于不同的业务指标可能存在一些联系,技术实现上,大多数时候都会设计一个多目标优化的框架(如:CTR和CVR模型进行Cotrain),共同进行模型的训练与预测,各个任务之间能够更好地共享信息。

二、推荐系统的技术架构2.1 推荐系统的层次组成

推荐系统基于海量的物品数据的挖掘,通常由 召回层→排序层(粗排、精排、重排)组成,不同的层次的组成,其实也就是信息筛选的漏斗,这也是工程上效率的需要,把意向对象的数量从粗犷到精细化的筛选过程(这过程就像是找工作的时候,HR根据简历985/211粗筛出一部分,再做技能匹配及面试精准筛选,最终敲定合适的人选):

解读推荐系统,什么才是好的推荐系统

召回层:从物品库中根据多个维度筛选出潜在物品候选集(多路召回),并将候选集传递给排序环节。在召回供给池中,整个召回环节的输出量往往以万为单位。召回层主要作用是在海量的候选做粗筛,由于召回位置靠前且输入空间较大,所以时延要求较高,偏好简单方法,简单快速地确定候选集。常用方法有:召回策略(如推荐热门文章、命中某类标签的文章等等)、双塔模型(学习用户及物品的embedding,内积表示预测意向概率)、FM及CF等模型做召回、知识图谱(知识图谱表示学习,知识推理用户对物品的兴趣程度)、用户(多兴趣)行为序列预测做召回等等。粗排层:利用规则或者简单模型对召回的物品进行排序,并根据配额进行截断,截取出 Top N 条数据输出给精排层,配额一般分业务场景,整个粗排环节的输出量往往以千为单位。精排层:利用大量特征的复杂模型,对物品进行更精准的排序,然后输出给重排层,整个精排环节的输出量往往以百为单位。粗排、精排的环节是推荐系统最关键,也是最具有技术含量的部分,使用的方法有深度学习推荐模型(Deep& Cross、NFM等)、强化学习等等。重排层:主要以产品策略为导向进行重排(及融合),常见策略如去除已曝光、去重、打散、多样性、新鲜度、效益优先等策略,并根据点击回退在列表中插入新的信息来提升体验,最后生成用户可见的推荐列表,整个融合和重排环节的输出量往往以几十为单位。2.2 冷启动方法

对于完整的推荐系统结构,还需要考虑一个问题是:对于新的用户、新的物品如何有效推荐的问题,也就是“冷启动”的问题,因为没有太多数据和特征来学习召回及排序模型,所以往往要用一些冷启动方法替代来达到目的(这个目的不只是提高点击等消费指标,更深层的可能会极大的带动业务增长)。

冷启动一般分为三类,用户冷启动、物品冷启动还有系统冷启动,常用的冷启动方法如:

提供热门及多样性内容推荐。即使用统计的方法将最热门的物品进行推荐,越热门且品类丰富的内容被点击的可能性越大;利用新用户基本信息关联到相关内容(利用领域、职位、工作年龄、性别和所在地等信息给用户推荐感兴趣或者相关的内容,如年龄-关联电影表、收入-关联商品类型表,性别-文章关联表等等);利用新物品的内容关联到相似物品,并对应相关用户。三、推荐系统的相关技术

纵观推荐技术的发展史,简单来说就是特征工程自动化的过程,从人工设计特征 LR,到模型实现自动特征交互:如基于LR的自动特征交互组合的因式分解机FM及FFM 以及 GBDT树特征 LR ,到自动提取高层次特征的深度学习模型(DNN)。

解读推荐系统,什么才是好的推荐系统

推荐系统整体技术栈可以分为传统机器学习推荐及深度学习推荐,而不同的推荐层偏好不同(复杂度、精确度)的模型或策略(图来源:王喆老师的专栏):

解读推荐系统,什么才是好的推荐系统

3.1 传统机器学习推荐模型

传统机器学习推荐可以简单划分为协同过滤算法及基于逻辑回归的序列算法:

解读推荐系统,什么才是好的推荐系统

3.1.1 协同过滤的相关算法

协同过滤算法可以简单划分为基于用户/物品的方法:

基于用户的协同过滤算法(UserCF)

通过分析用户喜欢的物品,我们发现如果两个用户(用户A 和用户 B)喜欢过的物品差不多,则这两个用户相似。此时,我们可以将用户 A 喜欢过但是用户 B 没有看过的物品推荐给用户 B。基于用户的协同过滤算法(UserCF)的具体实现思路如下:

(1)计算用户之间的相似度;(2)根据用户的相似度,找到这个集合中用户未见过但是喜欢的物品(即目标用户兴趣相似的用户有过的行为)进行推荐。

解读推荐系统,什么才是好的推荐系统

基于物品的协同过滤算法(ItemCF)

通过分析用户喜欢的物品,我们发现如果两个物品被一拨人喜欢,则这两个物品相似。此时,我们就会将用户喜欢相似物品中某个大概率物品推荐给这群用户。基于物品的协同过滤算法的具体实现思路如下:

(1)计算物品之间的相似度;(2)就可以推荐给目标用户没有评价过的相似物品。

解读推荐系统,什么才是好的推荐系统

矩阵分解法

对于协同过滤算法,它本质上是一个矩阵填充问题,可以直接通过相似度计算(如基于用户的相似、基于物品的相似等)去解决。但有一问题是现实中的共现矩阵中有绝大部分的评分是空白的,由于数据稀疏,因此在计算相似度的时候效果就会大打折扣。这里我们可以借助矩阵分解方法,找到用户和物品的表征向量(K个维度,超参数),通过对用户向量和物品向量的内积则是用户对物品的偏好度(预测评分)。

解读推荐系统,什么才是好的推荐系统

由于矩阵分解引入了隐因子的概念,模型解释性很弱。另外的,它只简单利用了用户对物品的打分(特征维度单一),很难融入更多的特征(比如用户信息及其他行为的特征,商品属性的特征等等)。而这些缺陷,下文介绍的逻辑回归的相关算法可以很好地弥补。

3.1.2 逻辑回归的相关算法

逻辑回归(LR)由于其简单高效、易于解释,是工业应用最为广泛的模型之一,比如用于金融风控领域的评分卡、互联网的推荐系统。它是一种广义线性的分类模型且其模型结构可以视为单层的神经网络,由一层输入层、一层仅带有一个sigmoid激活函数的神经元的输出层组成,而无隐藏层。

LR模型计算可以简化成两步,“通过模型权重[w]对输入特征[x]线性求和 ,然后sigmoid激活输出概率”。其中,sigmoid函数是一个s形的曲线,它的输出值在[0, 1]之间,在远离0的地方函数的值会很快接近0或1。

解读推荐系统,什么才是好的推荐系统

由于LR是线性模型,特征表达(特征交互)能力是不足的,为提高模型的能力,常用的有特征工程的方法或者基于模型的方法。

基于特征工程的优化

通过人工结合业务设计特征、特征衍生工具(如FeatureTools)暴力生成特征 以及 特征离散化编码等特征工程的方法,为LR引入非线性的表达。

解读推荐系统,什么才是好的推荐系统

基于模型的优化

另外还可以基于模型的方法提升特征交互的能力。如POLY2、引入隐向量的因子分解机(FM)可以看做是LR的基础上,对所有特征进行了两两交叉,生成非线性的特征组合。

解读推荐系统,什么才是好的推荐系统

但FM等方法只能够做二阶的特征交叉,更高阶的,可以利用GBDT自动进行筛选特征并生成特征组合,也就是提取GBDT子树的特征划分及组合路径作为新的特征,再把该特征向量当作LR模型输入,也就是经典的GBDT LR方法。(需要注意的,GBDT子树深度太深的化,特征组合层次比较高,极大提高LR模型拟合能力的同时,也容易引入一些噪声,导致模型过拟合)

解读推荐系统,什么才是好的推荐系统

3.2 深度学习推荐模型

解读推荐系统,什么才是好的推荐系统

深度学习能够全自动从原有数据中提取到高层次的特征,深度学习推荐模型的进化趋势简单来说是 Wide(广)及 Deep(深)。Wide部分善于处理大量稀疏的特征,便于让模型直接“记住”大量原始的特征信息,Deep部分的主要作用有更深层的拟合能力,发现更高层次特征隐含的本质规律。

3.2.1 深度矩阵分解(双塔结构)

深度矩阵分解模型(Deep Matrix Factorization Model,DMF)是以传统的矩阵分解(MF)模型为基础,再与 MLP 网络组合而成的一种模型,其中 MF 主要负责线性部分,MLP 主要负责非线性部分,它主要以学习用户和物品的高阶表征向量为目标。

DMF 模型的框架图如下所示:该模型的输入层为交互矩阵 Y,其行、列分别对应为对用户和对物品的打分,并采用 multi-hot 形式分别表征用户和物品。

解读推荐系统,什么才是好的推荐系统

我们将用户表征 Yi* 和物品表征 Y*j 分别送入 MLP 双塔结构,生成用户隐向量表征 Pi 和物品隐向量表征 qj。最后对二者使用余弦点积匹配分数。

3.2.2 Wide&Deep

与其说广深(Wide&Deep)模型是一种模型,倒不如说是一套通用的范式框架。Wide&Deep 模型由 LR MLP 两部分并联组成,综合了传统机器学习和深度学习的长处。

Wide 部分根据历史行为数据推荐与用户已有行为直接相关的物品;Deep 部分负责捕捉新的特征组合,从而提高推荐的多样性。3.2.3 深度因子分解机(DeepFM)模型

深度因子分解机(Deep Factorization Machine,DeepFM)模型是从广深(Wide&Deep)框架中演化出来的一种模型。它使用 FM 模型替换掉了 LR 部分,从而形成了 FM&Deep 结构。

解读推荐系统,什么才是好的推荐系统

3.2.4 Deep&Cross

深度和交叉网络(Deep & Cross Network,DCN)模型是从广深(Wide&Deep)框架中演化出来的一个模型。DCN 模型将 Wide 部分替换为由特殊网络结构实现的特征交叉网络,它的框架如下图所示:左侧的交叉层除了接收前一层的输出外,还会同步接收原始输入层的特征,从而实现特征信息的高阶交叉。

解读推荐系统,什么才是好的推荐系统

3.2.5 注意力因子分解机(AFM)

注意力因子分解机(Attentional Factorization Machine,AFM)模型也是Wide&Deep 框架中的一种,它通过添加 Attention 网络,自动学习不同特征之间交互的重要性。

解读推荐系统,什么才是好的推荐系统

3.2.6 神经因子分解机(NFM)

神经因子分解机(Neural Factorization Machine)模型也是 Wide&Deep 框架中的一种。NFM 模型把 Wide 部分放到一边不做变化,Deep 部分在 FM 的基础上结合了 MLP 部分。其中,FM 部分能够提取二阶线性特征,MLP 部分能够提取高阶非线性特征,从而使模型具备捕捉高阶非线性特征的能力。

NFM 模型框架的 Deep 部分如下图所示,NFM 模型是在 Embedding 层后将 FM 的输出进行 Bi-Interaction Pooling 操作(将表征向量的两两元素相乘后,再将所有组合的结果进行求和),然后在后面接上 MLP。

本文关键词:推荐系统的作用,推荐系统的概念,推荐系统功能,推荐系统的大概步骤,推荐系统有哪些。这就是关于《解读推荐系统,什么才是好的推荐系统》的所有内容,希望对您能有所帮助!


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 广州启林化工 广东启林化工设备制造有限公司

下一篇: 俄罗斯现有多少人 俄罗斯现有多少人2020



推荐阅读