模型评估_AB测试
Last updated
Last updated
[TOC]
A/B测试是在线测试,在此之前需要离线测试:
离线评估无法完全消除模型过拟合的影响
离线评估无法完全还原线上的工程环境
线上系统的某些商业指标在离线评估中无法计算
A/B测试主要方法:用户分桶(即将用户分为实验组和对照组。样本独立性和采样的无偏性,确保每个用户每次只能分到同一个桶中)
需要进行在线A/B测试的原因如下。
离线评估无法完全消除模型过拟合的影响,因此,得出的离 线评估结果无法完全替代线上评估结果。
离线评估无法完全还原线上的工程环境。一般来讲,离线评 估往往不会考虑线上环境的延迟、数据丢失、标签数据缺失等情况。因 此,离线评估的结果是理想工程环境下的结果。
线上系统的某些商业指标在离线评估中无法计算。离线评估 一般是针对模型本身进行评估,而与模型相关的其他指标,特别是商业 指标,往往无法直接获得。比如,上线了新的推荐算法,离线评估往往 关注的是ROC曲线、P-R曲线等的改进,而线上评估可以全面了解该 推荐算法带来的用户点击率、留存时长、PV访问量等的变化。这些都 要由A/B测试来进行全面的评估。
进行A/B测试的主要手段是进行
用户分桶
,即将用户分成实验组和对照组,对实验组的用户施以新模型,对对照组的用户施以旧模型。 在分桶的过程中,要注意样本的独立性和采样方式的无偏性,确保同一 个用户每次只能分到同一个桶中,在分桶过程中所选取的$user_id$需要 是一个随机数,这样才能保证桶中的样本是无偏的。