推荐系统的AB测试
AB测试

随机分桶

分层实验
前两个概念比较简单易懂,而分层实验则是工业界实际在使用的
分层实验的目标:解决流量不够用的问题

问题背景:公司有很多部门和团队,大家都需要做不断做实验,线上会同时做几十个上百个AB测试,如果把用户分成十个桶,一个桶做对照组,九个桶做实验组,那么只能同时做9组实验,根本没法满足产品迭代的需求。
解决方案:采用分层实验

分层实验的解释
把实验分成很多层,如召回、粗排、精排......,同一层的实验需要互斥,如GNN实验占了召回层的4个桶,那么其他召回实验就只能用剩下的6个桶
同层互斥的目的:为了防止用户同时被两个召回实验影响
不同层之间是正交的(ps:当时看到这里写的正交,第一时间想到的是数学里讲的两个向量正交之类的,这儿应该他们工业界这么定义的,感觉挺怪的):每一层的桶都是随机划分的,可以使用100%的用户,例如召回和粗排的用户是随机划分的,召回的二号桶和粗排的二号桶交集很小(个人猜测是因为数据量很大以及随机划分导致的),例子:

这里注意:一个用户不能同时受两个召回实验的影响,但是可以同时受到一个召回实验和一个精排实验的影响。(这里感觉很奇怪,如果一个用户同时受到一个召回实验和一个精排实验影响,那么对比不就不具有对照性了,例如两个用户召回方案不同,但他们精排方案也不同,此时怎么区分方案效果的好坏呢)
同层互斥和不同层正交图像表示:


这里似乎对上面那个小问题做出了解释:通常来讲用户界面实验和召回实验不容易相互增强和相互抵消,所以我们允许用户同时受到两个实验的影响
互斥和正交的详细解释

这里说明了不同类型的策略通常是不会相互干扰的,也就是不同层的实验通常是不会干扰的,所以可以设计正交这么一种层结构
而同一层的同类型策略叠加效果往往会产生干扰,效果会增强或是抵消,所以同一层需要互斥
Holdout机制

Holdout机制感觉像是公司管理业务,怎么检测指标能出来的东西
更多推荐
所有评论(0)