1 Star 0 Fork 0

shuan / AB测试运行原理

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 4.34 KB
一键复制 编辑 原始数据 按行查看 历史
shuan 提交于 2022-04-14 09:25 . update README.md.

AB测试运行原理

介绍

回顾与总结AB测试的理解

什么是ABtest

ABtest就是为了测试和验证模型/项目的效果,在设备端设计出多个版本,在同一维度下,分别用组成相同/相似的群组去随机访问这些版本/模型,记录下群组的用户体验数据和业务数据,最后评估出最好的版本给予采用。

对于AI模型测试而言,在保证在其它维度信息相同或相似条件下(测试样本尽可能与实际情况一致或保持相应比例,以保证测试结果与可以代表实际情况),使用不同AI模型进行测试,记录分析相关关键指标(如识别算法中的检出、误报,推荐算法中的点击、访问、转化等),综合评估出最好的模型给予详细报告进行说明以及采用推荐。

ABtest背后的理论支撑

中心极限定理: 在样本量足够大的时候,可以认为样本的均值近似服从正态分布。

假设检验: 是依据一定的假设条件由样本推断总体的一种方法

ABtest步骤(以AI模型识别为例)

1. 确定本次测试目的(证明新模型比旧模型更加优秀)

关键指标:
    总检出率、总误报率、检测效率、特定物品检出情况、以及其它维度检出情况等

2. 测试数据获取(对照组与实验组的选取)

模型部署:
    在同一型号、配置的设备上分别部署相应(2种或以上)对照AI模型,并进行对数据进行分别存储(并进行特征编号,以进行区分)。
数据采集:
    在保障AI识别标的物相近情况下(尽可能保证样品数量一致、种类齐全),在保证项目开发速度下,尽可能样本量越多越好。    
    一般情况下,测试集与验证集数量不会太多,但必须具有代替整体数据特征,具体数量一般没有硬性规定,需要综合考虑具体情况。

3. 数据预处理与数据分析

1.数据管理:
    在数据采集过程中,保证对数据的质量监控(数据格式、数据缺失、数据维度信息等)
2.数据清洗:
    得到数据后(原始表、原始文本、数据库)进行数据清洗,去重、缺失
3.数据分析:
    通过技术(execl、python或其它统计分析类软件/语言)得到关键性指标。

4. 结论\报告输出

根据关键性指标,得到结论(对原目的进行证明\证否)

其它问题

1. 样本量大小如何?

理论:
    越大越好,越接近实际越好
实际:
    数据获取存在一定成本,还要保障项目开发效率

2. ABtest两类错误

第一类错误:
    坏的改动误认为是得到了正收益
第二类错误:
    好的改动误认为是得到了负收益/无收益
在实际的工作中,第一类错误是不能接受的。一个坏的产品/模型上线,比砍掉好的产品/模型/功能影响更大。
避免:
    从多维度上观察数据关键性指标,在多维度上表现优异,一定程度上避免了第一\二类错误发生的概率定义一个显著水平,数据结果在提升2%以内(根据实际情况决定),将认为没有显著性改善

3. 分析问题思考

数据样本是否具有代表性?
数据指标是否合理?是否存在权重?
数据维度是否齐全?
提出的假设是否被证明?如果被证明,那么模型改善在哪里?如果被证否,那么分析是模型问题还是ABtest测试方法问题?
模型训练集与测试集尽可能要完全区分开,避免结果过拟合,造成第一类错误。

参与贡献

  1. 第一次创建回顾 2022-02-17

特技

  1. 使用 Readme_XXX.md 来支持不同的语言,例如 Readme_en.md, Readme_zh.md
  2. Gitee 官方博客 blog.gitee.com
  3. 你可以 https://gitee.com/explore 这个地址来了解 Gitee 上的优秀开源项目
  4. GVP 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
  5. Gitee 官方提供的使用手册 https://gitee.com/help
  6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 https://gitee.com/gitee-stars/
1
https://gitee.com/shuan0712/ab-test-operation-principle.git
git@gitee.com:shuan0712/ab-test-operation-principle.git
shuan0712
ab-test-operation-principle
AB测试运行原理
master

搜索帮助