前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >个性化推荐系统中的绕不开的经典问题有哪些

个性化推荐系统中的绕不开的经典问题有哪些

作者头像
abs_zero
修改2018-05-26 12:42:53
7810
修改2018-05-26 12:42:53
举报
文章被收录于专栏:AI派AI派AI派

推荐阅读时间:8min~10min 文章内容:推荐系统绕不开的经典问题

推荐系统从诞生到现在,伴随产生了很多的问题,有一些问题有较好的解决方案,但是有的仍然没有通用的解决方案。介绍这些问题之前,先来介绍下推荐系统的预测手段。

推荐系统的预测手段

推荐系统的目标是预测用户跟物品之间隐藏的连接,最后将这些连接呈现给用户。想要完成这个预测,可以从以下两个方式入手:

  • 预测评分
  • 预测行为

推荐系统推荐的评分和行为都是用户对推荐结果的反馈,评分属于显式反馈,表示用户明确表示自己的态度,也有很多行为属于隐式反馈,这些行为并不是为了表达兴趣/态度,而只是在正常使用产品而已。

举个具体的例子,我们在京东首页看到的商品列表属于京东给我们的一个推荐,我们点击了某些感兴趣的商品进入商品详情页(相比我们点击的商品,大多数商品我们都不会点击),在商品详情页,我们会查看商品的介绍,如果确实需要,我们会将该商品添加到购物车(相比我们加入购物车的商品,大多数商品我们并没有加入),针对购物车中的商品,我们会选择一些直接下单(会存在很多在购物车中的商品,但是并不下单购买),等我们收到了购买的商品后,有时候我们会对所购买商品进行评分和评价(当然了,大多数人在大多数情况下并不会有该行为)。

很明显,用户的整个行为呈现一个漏斗形状,越往后,行为的数量会越少。

上面的各种行为都是针对于电商产品的,针对于其他类型的产品(比如资讯产品、视频音乐产品),这些行为的表现方式是不一样的,但是都是满足漏斗形状的。

总结来说,用户对不同类型的产品有不同的“消费方式”,也就是行为,但都是满足漏斗形状的。

不同推荐系统的任务也不同,有的直接预测用户消费后给出的评分,但更多的是预测用户的行为。

预测评分

预测评分要做的事情就是建立一个模型,根据用户已经消费过并且给过评分的物品,然后预测用户对其他物品的打分,最后将预测结果中他打高分但是没有消费过的物品推给他。

这里要说明下评分的产生方式,有的产品会直接有明确的分数显示(通常是1-5),有的产品会以“星星”的方式显示,但都是一样的道理,都可以用来作为用户评分。

看到这,可能会觉得评分预测很简单,但实际上,我们预测评分的时候会跟实际分数有误差,我们可以根据这个误差来调整模型参数,让这个误差越来越小(在机器学习领域里,这就是回归问题)。

我们在衡量预测评分与实际评分的差别时,可以有很多指标,这里简单解释一个指标:RMSE,即均方根误差。

简单解释下, t 表示每一个样本,n 表示总共的样本数,有帽子的 yt 就是模型预测出的分数,秃顶的 yt 就是实际用户打的分数,这两个分数相减就是模型预测结果的绝对误差,由于绝对误差有正数也有负数,而我们只关心绝对值大小,所以再给误差求平方,这就是名字中的“方”的来源,再对所有样本的误差平方求平均值,这就是名字中“均”的来源,因为我们对误差都平方了,所以最后再对均值开方根,这就是名字中的“根”的来源。这个过程就是求均方根误差。

评分预测问题常见于各种点评类产品(如:书影音的点评),但评分类推荐存在以下问题:

  • 评分数据不易收集,非常稀疏(数量非常少),因为评分处于漏斗环节的最后一个环节;
  • 评分的数据质量不能保证,伪造评分数据门槛低,同时真实的评分数据又处在转化漏斗最后一环,门槛高;
  • 评分的分布不稳定,整体评分在不同时期会差别很大,个人评分在不同时期标准不同,人和人之间的标准差别很大。

预测行为

推荐系统预测行为的方式有很多,常见的有两种:直接预测行为本身的发生概率,预测物品的相对排序。

直接预测行为本身的发生概率有一个更广为人知的名称叫 CTR预估,CTR 意思就是 Click Through Rate,即点击率,CTR预估要做的事情就是给用户一个物品,预测用户会点击它的概率(机器学习中的二元分类问题)。

行为预测简单来说,就是利用隐式反馈数据预测隐式反馈的发生概率。隐式反馈有以下好处:

  • 数据比显式反馈更加稠密。诚然,评分数据总体来说是很稀疏的,之前netflix的百万美元挑战赛给出的数据稀疏度大概是1.2%,毕竟评分数据是要消耗更多注意力的数据。
  • 隐式反馈更代表用户的真实想法,比如你不是很赞成川普的观点,但是还是想经常看到他的内容(以便吐槽他),这是显式反馈无法捕捉的。而人们在Quora上投出一些赞成票也许只是为了鼓励一下作者,或者表达一些作者的同情,甚至只是因为政治正确而投,实际上对内容很难说真正感兴趣。
  • 隐式反馈常常和模型的目标函数关联更密切,也因此通常更容易在AB测试中和测试指标挂钩。这个好理解,比如CTR预估当然关注的是点击这个隐式反馈。

总结来说,由于用户的行为呈现漏斗形状,所以评分数据会很稀疏(有的产品并没有直接的评分数据),所以推荐系统更多是预测用户行为。

推荐系统避不开的问题

介绍了推荐系统的两种预测手段所带来的问题后,来看下推荐系统还会遇到的问题,这些问题是目前还没有很好的通用解决方案:

  • 冷启动问题
  • 探索与利用问题(EE问题)
  • 安全问题

冷启动问题

当遇到新用户、不活跃用户、新物品、展示次数较少物品时(已存在的连接过少),会造成缺失相关数据,这个就是冷启动关注的重点

探索与利用问题

探索与利用问题,又叫 EE 问题,假如我们已经知道了用户的偏好,一般有以下三种对待方式:

  • 全部给他推荐他目前肯定感兴趣的物品;
  • 无视他的兴趣,按照其他逻辑给他推荐,如编辑推荐、随机推荐、按时间先后推荐等等;
  • 大部分给他推荐感兴趣的,小部分去试探新的兴趣,如同一边收割长好的韭菜,一边播种新的韭菜。

哪一种更科学和持久呢?显然是第三种,那么如何平衡这里的“大部分”和“小部分”呢?

这就是 Exploit 和 Explore 问题的核心了。Exploit 意为“开采,利用”,对用户身上已经探明的兴趣加以利用,Explore 意为“探索”,探明用户身上还不知道的兴趣。

安全问题

推荐系统也是系统,是系统就有漏洞。推荐系统被攻击的影响大致有以下几个:

  • 给出不靠谱的推荐结果,影响用户体验并最终影响品牌形象;
  • 收集了不靠谱的脏数据,这个影响会一直持续留存在产品中,很难完全消除;
  • 损失了产品的商业利益,这个是直接的经济损失。

作者:无邪,个人博客:脑洞大开,专注于机器学习研究。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 脑洞科技栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 推荐系统的预测手段
    • 预测评分
      • 预测行为
      • 推荐系统避不开的问题
        • 冷启动问题
          • 探索与利用问题
            • 安全问题
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档