如何评价一个推荐系统的好坏?

文 | Nemo@知乎
本文已获作者授权,禁止二次转载

现如今,推荐系统几乎无处不在。

  • 电商购物,有猜你喜欢。

  • 资讯阅读,有个性推荐。

  • 听歌看电影,都能识别你的兴趣。

  • 就连工作社交,也会提示你可能认识的人...

推荐系统火爆的背后,是信息过载的现状下,人们需要通过算法,来帮助自己找到恰当的内容。

每个人的兴趣和需求不同,每个内容的特点也各不相同。如何在内容和用户之间,根据不同的场景环境做出恰当的匹配,也就是推荐系统的核心任务。

举个简单的例子,你平时用美团点餐,它推荐的可能都是你常吃的附近美食,而如果你去了一个新的旅游地,它会给你推荐当地的热门特色餐饮。

精准识别并满足用户不同需求的能力,构成了推荐系统的能力壁垒。

那么,我们该如何量化评估这种差异呢?

单一的衡量标准不存在

推荐得好不好,大家最容易想到的指标,就是点击率。

如果我推荐的内容,就是你满意的,你肯定会点击使用。理论上来说,完美的推荐系统,似乎应该做到100%的点击率。

以资讯产品举例,你每次刷新,刷出来的10条内容你都很喜欢,全都点开看了,这说明我们的推荐非常准。

但这样会带来明显的问题,因为我们追求高点击率,所以会减少冒险尝试,任何不确定的内容,我们都不敢推给用户。结果就是我们只能把用户曾经点过的品类,反复推给他,形成信息茧房,造成用户审美疲劳,然后离开。

这样,尽管我们的点击率上去了,用户留存率却下降了,商业收入也自然而然下降了。

此外,如果我们只关注点击率,就很容易忽略点击质量。举个例子,推荐系统追求点击率的结果,自然就是推荐更多的标题党内容,造成用户点击率很高,阅读时长却非常短。用户被忽悠了两三次以后,很可能愤而离开。

同样的,如果我们只追求阅读时长,可能会推出来大量的长时视频内容,减少短内容的曝光机会。

甚至在产品商业化阶段,我们有时候为了提升广告收益,还愿意牺牲一点点击率、阅读时长等用户指标...

显然,单一的衡量标准,无法确保推荐系统满足我们的需要。

多元的评估方式

推荐系统通常服务于某个具体业务,业务在不同的时间阶段、场景、用户群体下,都有不同的目标,需要灵活考虑。

下面以资讯类APP举例说明:

  1. 不同的阶段:产品发展初期,我们更关注用户的粘性和留存,因此重点会放在用户的点击率、PV、阅读时长上。等到追求商业变现的阶段,更多考虑的就是付费率、广告点击量等商业指标。对应的,推荐系统在不同的阶段也要做相应调整。

  2. 不同的场景:搜索场景考虑的是用户的搜索结果点击排序,追求用完即走。但是feeds流考虑的是用户的CTR、阅读时长、内容多样性。两者完全不同,不可混在一起。因此,对于不同场景,我们可以使用完全不同的推荐模型,将场景隔离开。

  3. 不同的用户:新用户考虑的是快速留存,积攒PV。老用户考虑的是探索兴趣,诱导分享。此外,不同偏好的用户需求各不相同,财经的用户希望内容权威、及时、高效,情感的读者希望内容贴近生活,足够有趣。二者追求的指标显然不需要一致。

考虑到各种不同的诉求,我们的评估方式也要灵活变化。

对不同的场景和用户模型,设定单独的衡量标准。对不同的业务指标,拆解出推荐系统的上线与评估标准。

所谓拆解,其实就是用高频变化的指标,去近似代表我们追求的长期业务指标。

举个例子,在资讯类APP发展早期,我们希望提升日活用户数,提升用户的使用时长。但是只看这些结果指标,并不能指导我们改进业务。

因此,我们可以把这些指标拆解成一些日常容易衡量评估的指标。比如日活用户数等于新增*留存,新增不是推荐系统直接影响的,这里暂不考虑。而留存取决于用户对我们产品的满意度,而满意度又近似等于人均PV(点击)、CTR(点击率)、阅读时长、播放完成率、评论、分享、收藏、点赞等等指标。

由此,我们把推荐系统的评价指标,就拆成了以下这些:

  1. PV:阅读数量,通常我们用人均值代替。对于资讯类APP来说,PV通常意味着用户的使用深度,同时更多的PV也会带来更多的广告曝光和点击,因此PV是对商业模式的一种近似简化,通过灵敏的PV,来间接提升我们的商业收益。用于推荐算法模型训练的素材,其实最关键就是用户对各篇推荐内容点击与否的数据

  2. CTR:点击率,越高代表用户对你的推荐结果越满意。

  3. 阅读时长、播放完成率:阅读时长、播放完成率配合PV,可以规避掉一些无效点击,提升指标的有效性

  4. 评论、分享、收藏、点赞数:这些行为比一般的阅读更重,更能代表用户的偏好,这些指标的加入(权重计分形式),可以让推荐系统更准确把握用户兴趣

  5. 主观评估满意度、新颖性、惊喜度:这三项其实是偏主观的评价,之所以加入,是因为很多用户体验并不能用数据衡量,往往需要用户凭主观感受打分来反映。具体做法有很多种,比如1)给出两篇内容,让用户进行点对点的对比。(2)给单篇内容提供打分选项,建议用户从内容与自身偏好的相关性、内容的信息量等角度给予1~5分的评分。(3)以提出开放性问题的方式来收集用户对自己信息流的反馈

  6. 内容多样性:对用户来说,产品需要经常有新意,不能陷入信息茧房,因此要评估内容多样性指标。比如可以统计用户的展示历史中各种题材、类目、话题的丰富程度如何,丰富度越高代表个体体验的多样性越好。从内容生产的角度,还可以计算基尼系数、推荐覆盖率,来判断各个内容是否都被推出去了。

具体在日常工作中,我们每次迭代推荐系统,通常都会进行AB实验,考虑对以上指标的影响,如果实验整体正向并且效果显著,那么我们会考虑把实验策略推全到全部用户上。

算法侧的评估标准

当然,除了业务指标外,我们还需要考虑算法本身的评估方式。毕竟推荐系统的主体是算法模型,在日常的系统迭代中,有大量的离线场景,需要评估算法效果好坏。

一般而言,算法是用模型去拟合训练数据,然后去预测新数据。它的评估方式也很直接,即预测的准确性。具体来说有召回率、精准率、准确率、F1值、AUC、RMSE...

分类预测类

  1. 召回率:也叫做查全率,全部正样本里,有多少被命中了

  2. 精准率:也叫做查准率,即预测为正的样本里,有多少是真的为正

  3. 准确率:一个综合评价指标,计算的是全部预测项里,有多少是正确的

  4. F1值:综合考虑了召回率和精准率,既考虑是否把全部正样本找出来,也考虑找的这些正样本精准率如何,对不平衡类别非常有效

  5. AUC:综合考虑假正例率和真正例率,得到ROC曲线后,计算曲线下的面积。简单理解,就是0~1之间的值,值越大模型分类效果越好,对不平衡类别非常有效

回归预测类

  1. SSE(和方差)、均方误差(MSE)、MAE(平均绝对误差)、均方根误差(RMSE):这几个都很相似,都是衡量预测值和真实值之间的差别

  2. R Squared:基于方差计算出来的一个比值,取值0~1之间,值越大,模型拟合效果越好

从日常的工作流程上来说,我们会先考核算法模型的AUC,AUC比以往模型有所增长时,我们再做线上AB实验,判断业务指标的增减。

通过灵敏的业务拆解指标,来反映我们对业务目标的迫近。

写在最后

随着业务的发展,推荐系统越大,它的评估复杂度也会跟着提升。

许多新的目标、特殊的场景都需要纳入考虑范围。

比如推荐系统的健壮性(是否容易被攻击)、推荐时效性、推荐地域性、推荐内容质量高低、推荐重复度、用户投诉率等等...

因此,推荐系统的评估方式也需要动态调整。

灵活调整评价体系,让推荐系统更好的服务业务发展,才能让推荐系统永葆生机。

后台回复关键词【入群

加入卖萌屋NLP/IR/Rec与求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479162.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文浅尝 | GEOM-GCN: Geometric Graph Convolutional Networks

论文笔记整理:毕祯,浙江大学硕士,研究方向:知识图谱、自然语言处理。动机消息传递神经网络(MPNN)已成功应用于现实世界中的各种应用中。但是MPNN聚合器的两个基本弱点限制了它们表示图结构数据的能力&#…

ScrollView嵌套EditText联带滑动的解决办法

本篇文章的相关内容需结合上文:从ScrollView嵌套EditText的滑动事件冲突分析触摸事件的分发机制以及TextView的简要实现和冲突的解决办法 在说完了如何解决ScrollView嵌套EditText的滑动事件冲突之后,我们接下来说一下如何实现它们两者之间的联带滑动。什…

数据库智能运维探索与实践

从自动化到智能化运维过渡时,美团DBA团队进行了哪些思考、探索与实践?本文根据赵应钢在“第九届中国数据库技术大会”上的演讲内容整理而成,部分内容有更新。 背景 近些年,传统的数据库运维方式已经越来越难于满足业务方对数据库的…

论文浅尝 | PAKDD2020 - 利用支持集中匹配信息的 few shot 事件分类方法

论文笔记整理:申时荣,东南大学博士生。来源:PAKDD 2020链接:https://arxiv.xilesou.top/pdf/2002.05295.pdf1.介绍:事件分类是一个重要的信息抽取任务,其目的是根据事件的提及实例对事件类别进行分类。目前…

梯度下降法的神经网络容易收敛到局部最优,为什么应用广泛?

文 | Summer Clover知乎本文已获作者授权,禁止二次转载这是Deep Learning Theory里很基本也很核心的一个问题。在这个问题上,初学者容易被入门教学误导,非此研究方向的业内人士也容易有过时的认知。首先问题描述不够准确。更准确的说法是&…

机器学习在美团配送系统的实践:用技术还原真实世界

在2018 AI开发者大会(AI NEXTCon)上,美团配送AI方向负责人何仁清,分享了美团在即时配送领域中机器学习技术的最新进展,以及如何通过大数据和机器学习手段,建立对线下真实世界各种场景的感知能力&#xff0c…

LeetCode 99. 恢复二叉搜索树(中序遍历)

1. 题目 二叉搜索树中的两个节点被错误地交换。 请在不改变其结构的情况下,恢复这棵树。 你能想出一个只使用常数空间的解决方案吗? 2. 解题 循环中序遍历(栈),记录不满足的节点,交换其valO(n)O(n)O(n)…

AAAI21 | Seq2Seq模型成为“复读机”的原因找到了?

文 | 苏剑林编 | Sheryc_王苏单位 | 追一科技去年笔者写过博文《如何应对Seq2Seq中的"根本停不下来"问题?》[1],里边介绍了一篇论文中对Seq2Seq解码不停止现象的处理,并指出那篇论文只是提了一些应对该问题的策略,并没有…

论文浅尝 | ICLR 2020 - 图神经网络的预训练策略

论文笔记整理:杨帆,浙江大学计算机学院。动机现有的用于图结构的预训练方法要么只关注node-level,导致在图表示空间没有区分度,要么只关注graph-level,导致在节点表示空间没有区分度。一种优质的节点表示应该保证不仅在…

常见的距离算法和相似度计算方法

原文链接:https://zhuanlan.zhihu.com/p/138107999 首发于算法加油站写文章常见的距离算法和相似度计算方法奋发的菜鸟酱​华东师范大学 计算机技术博士在读91 人赞同了该文章注:不定时更新1.常见的距离算法1.1 欧几里得距离(Euclidean Dista…

美团AI全景图:吃喝玩乐背后的黑科技

很多人都会发现日常生活已经越来越离不开美团了,这个互联网平台涵盖了吃、住、行、游、购、娱……能帮我们做很多事情,非常接地气。黄色的美团外卖骑手,橙色的摩拜单车,还有美团和大众点评的Logo……会不时出现在各个角落&#xf…

LeetCode 547. 朋友圈(图的遍历BFS DFS)

文章目录1. 题目2. 解题2.1 BFS 广度优先2.2 DFS 深度优先1. 题目 问有几个连通网络 2. 解题 2.1 BFS 广度优先 参考图的数据结构 class Solution { public:int findCircleNum(vector<vector<int>>& M) {int n M.size(), groups 0, i;bool visited[n] …

开源开放 | 《大词林》开源 75 万核心实体和围绕核心实体的细粒度概念、关系列表...

1《大词林》简介《大词林》(http://101.200.120.155/)是由哈尔滨工业大学社会计算与信息检索研究中心推出&#xff0c;由我中心秦兵教授和刘铭副教授主持开发&#xff0c;是一个自动构建的大规模开放域中文知识库。自2014年11月推出第一版《大词林》&#xff0c;《大词林》共经…

推荐几个不错的CUDA入门教程(非广告)

文 | godweiyang最近因为项目需要&#xff0c;入坑了CUDA&#xff0c;又要开始写很久没碰的C了。对于CUDA编程以及它所需要的GPU、计算机组成、操作系统等基础知识&#xff0c;我基本上都忘光了&#xff0c;因此也翻了不少教程。这里简单整理一下&#xff0c;给同样有入门需求的…

logging.getLogger(logger)

https://www.cnblogs.com/bjdxy/archive/2012/12/03/2799322.html logging模块学习笔记&#xff1a;logger 对象、日志等级 logger&#xff1a;日志对象&#xff0c;logging模块中最基础的对象&#xff0c;用logging.getLogger(name)方法进行初始化&#xff0c;name可以不填。通…

美团DB数据同步到数据仓库的架构与实践

背景 在数据仓库建模中&#xff0c;未经任何加工处理的原始业务层数据&#xff0c;我们称之为ODS(Operational Data Store)数据。在互联网企业中&#xff0c;常见的ODS数据有业务日志数据&#xff08;Log&#xff09;和业务DB数据&#xff08;DB&#xff09;两类。对于业务DB数…

论文浅尝 | AAAI2020 - 基于生成对抗的知识图谱零样本关系学习

论文笔记整理&#xff1a;耿玉霞&#xff0c;浙江大学直博生。研究方向&#xff1a;知识图谱&#xff0c;零样本学习等。来源&#xff1a;AAAI2020论文链接&#xff1a;https://arxiv.org/pdf/2001.02332.pdf本文是发表在AAAI2020上的一篇基于生成对抗网络进行知识图谱零样本关…

LeetCode 1184. 公交站间的距离

1. 题目 环形公交路线上有 n 个站&#xff0c;按次序从 0 到 n - 1 进行编号。我们已知每一对相邻公交站之间的距离&#xff0c;distance[i] 表示编号为 i 的车站和编号为 (i 1) % n 的车站之间的距离。 环线上的公交车都可以按顺时针和逆时针的方向行驶。 返回乘客从出发点…

追剧计划第三弹!UC Berkeley出品,全栈深度学习!

关注卖萌屋比较早的小伙伴&#xff0c;大概还记得2020年初时我们组织的斯坦福大学CS224N自然语言处理公开课追剧计划&#xff0c;以及后来的斯坦福大学CS520知识图谱公开课追剧活动。尽管活动已经结束很长一段时间&#xff0c;但是仍然有小伙伴后台问“什么时候开始下一波追剧哇…

美团外卖iOS App冷启动治理

一、背景 冷启动时长是App性能的重要指标&#xff0c;作为用户体验的第一道“门”&#xff0c;直接决定着用户对App的第一印象。美团外卖iOS客户端从2013年11月开始&#xff0c;历经几十个版本的迭代开发&#xff0c;产品形态不断完善&#xff0c;业务功能日趋复杂&#xff1b;…