当前位置: 首页 > article >正文

【王树森推荐系统】概要03:推荐系统的AB测试

A/B 测试概述

  • 召回团队实现了一种GNN召回通道,离线实验结果正向
  • 下一步是做线上的小流量A/B测试,考察新的召回通道对线上指标的影响
  • 模型中有一些参数,比如GNN的深度取值有1,2,3,需要用A/B测试选取最优参数

随机分桶

  • 分b=10个桶,每个桶有10%的用户
  • 首先用哈希函数把用户ID映射成某个区间内的证书,然后把这些证书均匀随机分成b个桶
    在这里插入图片描述
  • 我们用1,2,3号桶做实验组,用4号桶作为对照组,区别在于1,2,3用了GNN,而且有不同的层,4号桶不用GNN,分别计算每个桶的指标
  • 如果某个实验组的指标显著由于对照组,则说明对应的策略有效,值得推全
    在这里插入图片描述

分层实验

  • 解决流量不够用怎么办的问题
  • 信息流产品的公司有很多部门和团队,大家都需要做A/B测试:推荐系统(召回,粗排,精排,重排),用户界面,广告
  • 如果把用户随机分成10组,1组做对照,9组做实验,那么只能同时做9组实验,无法满足产品迭代需求
  • 解决方案就是分层实验:召回,粗排,精排,重拍,用户界面,广告
  • 同层互斥:GNN实验占了召回层的4个桶,其他召回实验只能用剩余的6个桶
  • 不同层正交:每一层独立随机对用户做分桶,每一层都可以独立用100%的用户做实验
    在这里插入图片描述
    在这里插入图片描述- 如果所有实验都正交,则可以同时做无数组实验
  • 用互斥的原因:同类策略天然互斥,对于一个用户只能用其中一种
  • 同类的策略(例如添加两条召回通道)效果会增强活相互抵消(1+1>2),互1斥可以避免同类策略相互干扰(1+1<2)
  • 不同类型的策略通常不会相互干扰,可以作为正交的两层(可以理解为1+1=2)

Holdout机制

  • 每个实验独立汇报对业务指标的提升
  • 公司考察一个部门在一段时间内对业务指标的总体提升
  • 取10%的用户作为holdout桶,推荐系统使用剩余90%的用户做实验,两者互斥
  • 10%holdout桶vs90%的实验桶的diff(需要归一化),为整个部门的业务指标收益
    在这里插入图片描述
    在这里插入图片描述
  • 每个考核周期结束后,清除holdout桶,让推全实验从90%用户扩大到100%用户
  • 重新随机划分用户,得到holdout桶和实验桶,开始下一轮考核周期
  • 新的holdout桶与实验桶各种业务指标的diff接近于0
  • 随着召回,粗排,精排,重排实验上线和推全,diff会逐渐扩大

实验推全与反转实验

  • 如果diff显著为正向,那么推全该策略
    在这里插入图片描述
  • 有的指标立刻收到新策略影响,有的指标有滞后性,需要长期观测
  • 用反转实验解决上述矛盾(推全有好处。滞后也有好处),既可以尽快推全,也可以长期观测指标
  • 在推全的新层中开一个旧策略的桶,长期观测实验指标
    在这里插入图片描述

http://www.kler.cn/a/508248.html

相关文章:

  • C++ 强化记忆
  • 重拾Python学习,先从把python删除开始。。。
  • PyTorch 神经协同过滤 (NCF) 推荐系统教程
  • 【服务治理中间件】consul介绍和基本原理
  • leetcode 面试经典 150 题:汇总区间
  • Jenkinsfile共享库介绍
  • Starrocks 开启 Ranger 权限认证支持
  • 《机器学习》——K-means聚类
  • Java中 try-with-resources 自动关闭资源的使用
  • 【Uniapp-Vue3】showActionSheet从底部向上弹出操作菜单
  • http转化为https生成自签名证书
  • 高级编程语言的基本语法在CPU的眼中是什么样的呢?
  • javaEE初阶————多线程初阶(2)
  • 混淆矩阵 confusion matrix 怎么看 -- 识别涉黄图片的二分类为例 - 识别毒品的多分类案例解释
  • Freeswitch使用media_bug能力实现回铃音检测
  • [创业之路-249]:《华为流程变革:责权利梳理与流程体系建设》核心内容
  • 【GIS系列】打造3维GIS数字孪生效果系统:Cesium+Mapbox+SpringBoot完美实现解析
  • Spring Boot--@PathVariable、@RequestParam、@RequestBody
  • 如何使用 Go语言操作亚马逊 S3 对象云存储
  • 【Cesium入门教程】第一课:Cesium简介与快速入门详细教程
  • 机器学习——集成学习、线性模型、支持向量机、K近邻、决策树、朴素贝叶斯、虚拟分类器分析电动车数据集Python完整代码
  • boss直聘 __zp_stoken__ 分析
  • 【Unity3D】远处的物体会闪烁问题(深度冲突) Reversed-Z
  • 【Go】Go Gorm 详解
  • Ardupilot开源无人机之Geek SDK进展2024
  • ThinkPHP 8的一对多关联