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

在对模型进行充分的离线评估后,为什么还要进行在线A/B测试?
(1)离线评估无法消除模型过拟合的影响;因此,得出的离线评估效果无法完全替代线上评估结果;
(2)离线评估无法完全还原线上的工程环境。一般,离线评估往往不会考虑线上环境的延迟、数据丢失、标签数据缺失等情况。
(3)线上系统的某些商业指标在离线评估中无法计算。比如,上线了新的推荐算法,离线往往关心ROC曲线、P-R曲线等;而线上评估可以全面了解该推荐算法带来的用户点击率、留存时长、PV访问量等的变化。
如何进行线上A/B测试?
(1) 进行A/B测试的主要手段是进行用户分桶,即将用户分成实验组和对照组,对实验组用户施以新模型,对对照组用户施以旧模型;
(2)在分桶的过程中,要注意样本的独立性和采样方式的无偏性,确保同一个用户每次只能分到同一个桶中;
如何划分实验组和对照组?
- H公司的算法工程师对美国用户,研发了一套全新的视频推荐模型A;而正在使用的针对全体用户的推荐模型是B。
- 正确的做法: 将所有的 美国用户根据user_id个位数奇偶划分为实验组和对照组,分别施以模型A和B,才能够验证模型A的效果;

参考资料
- 《百面机器学习》- 诸葛越
- 什么是 A/B 测试?
https://www.zhihu.com/question/20045543
网友评论