王树森老师的推荐系统课程笔记及其他搜广推学习记录持续更新中,欢迎点赞评论收藏讨论
1. 基础知识
2. 召回
3. 排序交叉结构
4. 用户行为序列
5. 多样性
6. 物品冷启动
7. 涨指标
1. 基础知识(以小红书为例)
消费指标:点击率、点赞率、收藏率、转发率、阅读完成率
北极星指标(最关键的指标,衡量推荐系统的根本标准):
- 用户规模:日活用户数(DAU)、月活用户数(MAU)
- 消费:人均使用推荐的时长、人均阅读笔记的数量
- 发布:发布渗透率、人均发布量
实验流程:
推荐系统的链路:
召回:有不同的召回通道,融合后去除重复以及不喜欢的内容
排序:粗排使用小规模简单模型打分排序,精排使用更复杂的大规模模型和特征进行排序筛选
重排:依据是 精排分数and多样性
多样性抽样(MMR、DPP...)、规则打散(不能把相似的放在一起)、插入广告和运营笔记
A/B测试(也叫对比实验)
使用部分数据测试新方案/不同参数组合与原方案的效果区别(随机分桶),如果实验组 B 组的效果显著优于 A 组,可以推广新方案;否则可能需要调整策略或维持原方案。
优化方案:分层实验
在标准的 A/B 测试中,用户是随机分组的,比如:
- A 组(对照组):使用现有版本
- B 组(实验组):使用新版本
但在实际业务中,不同用户可能有显著不同的特征,如果直接随机分组,可能导致某些关键人群被不均匀地分配到 A/B 组,影响测试的公平性。
分层实验(Stratified Experiment) 的核心思想是:
- 先按某些关键特征将用户分层(Stratification)
- 在每个层内分别随机分配 A/B 组
同层互斥: GNN 实验占了召回层的4个桶,其他召回实验只能用剩余的6个桶。
不同层正交: 每一层独立随机对用户做分桶。每一层都可以独立用100%的用户做实验。
Holdout机制
反转实验
有的指标(点击、交互)立刻收到新策略影响,有的指标(留存)有滞后性,需要长期观测
实验观测到显著收益后尽快推全新策略。目的是腾出桶供其他实验使用,或需要基于新策略做后续的开发
用反转实验解决上述矛盾,既可以尽快推全,也可以长期观测实验指标
三者的区别
实验类型 | 描述 | 实验目标 | 策略变化 | 实验对象 |
---|
Holdout | 保留10%的用户完全不受实验影响,作为对照组。 | 验证新策略效果,使用不受实验影响的对照组。 | 无变化,保持旧策略。 | 10%的用户作为对照组,其他90%用户使用新策略。 |
反转实验 (Reverse Bucket) | 用户经历从旧策略到新策略的转变,观察转变后的效果。 | 通过观察从旧策略到新策略的转变,验证新策略效果。 | 从旧策略转变为新策略,可能在实验的某一时刻转换。 | 部分用户经历策略转变,先使用旧策略再转为新策略。 |
实验推全 (Full Rollout) | 当实验结果支持新策略时,将新策略全面推广到所有用户。 | 将有效的新策略推广到全体用户,开始长期应用。 | 所有用户直接应用新策略。 | 所有用户都使用新策略。 |