前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >炼丹知识点:模型评估里的陷阱

炼丹知识点:模型评估里的陷阱

作者头像
炼丹笔记
发布2021-10-26 13:32:15
4280
发布2021-10-26 13:32:15
举报
文章被收录于专栏:炼丹笔记炼丹笔记

↑↑↑关注后"星标"炼丹笔记

炼丹笔记干货

作者:炼丹笔记

在实践中,做推荐系统的很多朋友思考的问题是如何对数据进行挖掘,大多数论文致力于开发机器学习模型来更好地拟合用户行为数据。然而,用户行为数据是观察性的,而不是实验性的。这里面带来了非常多的偏差,典型的有:选择偏差、位置偏差、曝光偏差和流行度偏差等。如果不考虑固有的偏差,盲目地对数据进行拟合,会导致很多严重的问题,如线下评价与在线指标的不一致,损害用户对推荐服务的满意度和信任度等。

在《流量为王:ABTest流量分层分桶机制》一文中,我们介绍了什么是A/B Test和怎么做A/B测试,本文介绍线下模型评估的几种方法。

交叉验证

在交叉校验方法里,又有两种验证形式,一种是K-Flod交叉验证,另一种是留一验证

K-Flod交叉验证

  • 首先,将全部样本划分为大小相等的K份;
  • 然后,依次遍历K个子集,将第i个子集作为验证集,其他子集作为训练和评估;
  • 最后,将k次评估的结果的平均值作为最终评估结果。

留一验证

每次留下1个样本作为验证集,N个数据,验证时产生N个模型。最后计算N个模型评估的平均值作为最终评估结果。

从上述描述中我们能看到,留一验证法的时间开销极大,真实场景使用较少。

Holdout校验

没错,Holdout检验就是最简单的最直接的验证方法,比如我们在做排序模型时,我们把样本按照80%和20%的比例分成两部分,80%样本用作模型训练,20%样本用作验证。

这种方法简单,但是缺点也很明显,即随机得到的20%得到的评估结果也具有一定的随机性。

自助法检验

自助法对于总数为N的样本,进行n次又放回的随机抽样,n次采样有的样本重复,有的从未被抽中过,最后将没有被抽中的部分作为验证集。验证集的评估指标作为最终的评估指标。

这时候,你可能会问,没抽中的样本有多少呢?根据n次抽样均未被抽中的概率为(1-1/n)的n次方,根据重要极限定理解之,当样本足够多的时候,大约有36.8%的样本未被抽中过。

线上检验

目前业界应用最多的,是可重叠分层分桶方法。具体来说,就是将流量分成可重叠的多个层或桶。因为很多类实验从修改的实验参数到观察的产品指标都是不相关的,完全可以将实验分成互相独立的多个层。例如推荐算法召回层、推荐算法排序层、打散层,或者首页、业务页、详情页等。

流量分桶原理

采用如下步骤将流量分配到具体模型上面去:

  • 把所有流量分成N个桶。
  • 每个具体的流量Hash到某个桶里面去。
  • 给每个模型一定的配额,也就是每个策略模型占据对应比例的流量桶。
  • 所有策略模型流量配额总和为100%。
  • 当流量和模型落到同一个桶的时候,该模型拥有该流量。

举个栗子来说,所有流量分为32个桶,A、B、C三个模型分别拥有37.5%、25%和37.5%的配额。对应的,A、B、C应该占据12、8和12个桶。为了确保模型和流量的正交性,模型和流量的Hash Key采用不同的前缀。

模型评估里的陷阱:线下只是线下

首先,线下评估无法消除模型过拟合历史数据的问题。

其次,线下评估没法模拟线上真实环境,包括但不限于数据丢失、特征延迟等问题。

而且,线下评估没法真实的再现线上类似 用户点击率、用户完播率、用户停留时长等指标。因为这些指标只有真实发生时,才是真实的数据。

最后,从系统偏差角度,我们在《推荐系统Bias大全》一文中介绍了,由于用户交互的数据是观察性的,而不是实验性的,因此很容易在数据中引入偏差。它们通常来自不同的数据分组,并使推荐模型捕捉到这些偏差,甚至对其进行缩放,从而导致系统性种族主义和次优决策。本文将数据偏差分为四类:外显反馈中的选择偏差和从众偏差,内隐反馈中的暴露偏差和位置偏差。

现实世界中的推荐系统通常会产生一个有害的反馈回路。前面的小节总结了在循环的不同阶段发生的偏差,随着时间的推移,这些偏差可能会进一步加剧。以位置偏差为例,排名靠前的项目通常会从更大的流量中受益,这反过来又会增加排名的显著性和它们所接收的流量,从而形成一个“富起来越富”的情景。许多研究者还研究了反馈回路对流行偏差的影响。他们的模拟结果显示,反馈回路会放大流行偏差,流行的商品变得更加流行,而非流行的商品变得更不受欢迎。这些放大的偏差也会降低用户的多样性,加剧用户的同质化,从而产生所谓的 “echo chambers”或“filter bubbles”。

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

本文分享自 炼丹笔记 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
智能数据分析
腾讯云智能数据分析 Intellectual Data Analysis 是新一代云原生大数据敏捷分析解决方案。产品具备存算分离、动态扩缩容等特点,并内置事件、转化、留存、行为路径等成熟分析模型,提供高可用、低成本的全场景敏捷分析服务,可同时满足数据分析师、数据开发工程师和业务决策人的关键分析需求,帮助企业大幅降低数据分析成本,支撑业务更高效决策。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档