模型评估:A/B测试的陷阱

互联网公司中,A/B测试是验证新模块、新功能、新产品是否有效;新算法、新模型的效果是否有提升;新设计是否受到用户欢迎;新更改是否影响用户体验的主要测试方法。在机器学习领域中,A/B测试是验证模型最终效果的主要手段。

1. 在对模型进行过充分的离线评估之后,为什么还要进行在线A/B测试?

  1. 离线评估无法完全消除模型过拟合的影响,因此,得出的离线评估结果无法完全替代线上评估结果。
  2. 离线评估结果无法完全还原线上的工程环境。一般来讲,离线评估往往不会考虑线上环境的延迟、数据丢失、标签数据缺失等情况。因此,离线评估的结果是理想工程环境下的结果。
  3. 线上系统的某些商业指标在离线评估中无法计算。离线评估一般是针对模型本身进行评估,而与模型相关的其他指标,特别是商业指标,往往无法直接获得。比如,上线了新的推荐算法,离线评估往往关注的是ROC曲线,P-R曲线等的改进,而线上评估可以全面了解该推荐算法带来的用户点击率、留存时长、PV访问量等的变化。这些都要由A/B测试来进行全面的评估。

2. 如何进行线上A/B测试?

  • 进行A/B测试的主要手段是进行用户分桶,即将用户分成实验组和对照组,对实验组的用户施以新模型,对对照组的用户施以旧模型。
  • 在分桶的过程中,要注意样本的独立性和采样方式的无偏性,确保同一个用户每次只能分到同一个桶中
  • 在分桶过程中所选取的user_id需要是一个随机数,这样才能保证桶中的样本是无偏的。

3. 如何划分实验组和对照组?

H公司的算法工程师们最近针对系统中的“美国用户”研发了一套全新的视频推荐模型A,而目前正在使用的针对全体用户的推荐模型是B。在正式上线之前,工程师们希望通过A/B测试来验证新推荐模型的效果。下面有三种实验组和对照组的划分方法,请指出哪种划分方法是正确的?

  1. 根据user_id(user_id完全随机生成)个位数的奇偶性将用户划分为实验组和对照组,对实验组施以推荐模型A,对照组施以推荐模型B;
  2. 将user_id个位数为奇数且为美国用户的作为实验组,其余用户为对照组;
  3. 将user_id个位数为奇数且为美国用户的作为实验组,user_id个位数为偶数的用户作为对照组。

上述三种A/B测试的划分方法都不正确。我们用包含关系图来说明三种划分方法,如图2.4所示。

  • 方法1(见图2.4(a))没有区分是否为美国用户,实验组和对照组的实验结果均有稀释;
  • 方法2(见图2.4(b))的实验组选取无误,并将其余所有用户划分为对照组,导致对照组的结果被稀释;
  • 方法3(见图2.4(c))的对照组存在偏差。
  • 正确做法(见图2.4(d))是将所有美国用户根据user_id个位数划分为实验组和对照组,分别施以模型A和B,才能够验证模型A的效果。

相关推荐

  1. AI学习指南机器学习篇-决策树模型评估

    2024-01-12 01:24:04       9 阅读
  2. 语言模型原理、实战与评估

    2024-01-12 01:24:04       18 阅读
  3. 语言模型原理、实战与评估

    2024-01-12 01:24:04       15 阅读
  4. 渗透测试和风险评估之间区别

    2024-01-12 01:24:04       33 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-12 01:24:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-12 01:24:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-12 01:24:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-12 01:24:04       18 阅读

热门阅读

  1. 比较 Redisson 和 Curator:分布式锁实现

    2024-01-12 01:24:04       31 阅读
  2. ubuntu安装mysql8指定数据目录

    2024-01-12 01:24:04       37 阅读
  3. Oracle导入导出dump

    2024-01-12 01:24:04       38 阅读
  4. Python 运算符的两个练习案例

    2024-01-12 01:24:04       35 阅读
  5. MongoDB聚合:$bucket

    2024-01-12 01:24:04       34 阅读
  6. ubuntu 使用VNC链接树莓派

    2024-01-12 01:24:04       42 阅读
  7. 深度学习入门到发表顶级会议论文需要多久

    2024-01-12 01:24:04       34 阅读
  8. Vue面试之csr与ssr渲染的区别

    2024-01-12 01:24:04       32 阅读
  9. chatgpt的基本技术及其原理

    2024-01-12 01:24:04       34 阅读
  10. 50天精通Golang(第11天)

    2024-01-12 01:24:04       30 阅读
  11. go 语言常见问题(1)

    2024-01-12 01:24:04       35 阅读