【推荐系统】王树森推荐系统公开课自学笔记1-基础知识
第一章 基础知识
1 概述
1.1 相关概念
- 曝光、点击、点赞、收藏、转发 等
1.2 消费指标(短期指标,不太重要)
- 点击率 = 点击次数 / 曝光次数
- 点赞率 = 点赞次数 / 点击次数
- 收藏率 = 收藏次数 / 点击次数
- 转发率 = 转发次数 / 点击次数
- 阅读完成率 = 滑动到底次数 / 点击次数 × fff(笔记长度) 这里是一个归一化参数
1.3 北极星指标(线上实验)
- 用户规模:日活用户数(DAU)、月活用户数(MAU)
- 消费:人均使用推荐的时长、人均阅读笔记的数量
- 发布:发布渗透率、人均发布量
1.4 实验流程
离线实验->小流量AB测试->全流量上线
2 推荐系统链路
召回(大规模筛选)、粗排(挑选评分高的)、精排(高精度深度模型,可能有截断,也可能没有)、重排(随机抽样,相似内容打散)
2.1 召回(多条通道,取回几千篇笔记)
协同过滤、双塔模型、关注的作者等。(去重过滤)
2.2 排序
预估用户对内容的兴趣。
2.2.1 粗排
用户特征+物品特征+统计特征 -> 神经网络 -> 点击率、点赞率、收藏率、转发率(预估值) -> 排序分数
2.2.2 精排(模型比粗排更大)
同粗排
2.2.3 重排
-
多样性抽样(MMR、DPP)
-
用规则打散相似内容
-
插入广告、运营推广内容、根据生态要求调整排序
3 A/B测试
离线实验的结果正向,未必意味着在线效果是正向。因此,下一步是做线上的小流量A/B测试,考察新的召回通道对线上指标的影响。模型中有些参数,比如模型的超参数,需要用A/B测试选取最优参数。
小流量:只给小数量用户测试
3.1 随机分桶
首先用哈希函数把用户ID映射成某个区间内的整数,然后把这些整数均匀随机分成b个桶。
实验组(配备不同超参数)+对照组
如果某个实验组指标显著由优于对照组,则说明对应的策略有效,值得推全。
3.2 分层实验(解决流量不够用的问题)
召回、粗排、精排、重排、用户界面、广告等 分层
同层互斥:同层中不同实验占用的桶需要互斥
不同层正交:每一层独立随机对用户做分桶。
-
同类的策略天然互斥,对于一个用户,只能用其中一个
-
同类的策略效果可能相互增强或相互抵消,互斥可以避免同类策略相互干扰。
-
不同类型的策略通常不会相互干扰,可以作为正交的两层。
3.3 Holdout机制
每个实验队里汇报对业务指标的提升。
取10%的用户作为holdout桶,推荐系统使用剩余90%的用户做实验,两者互斥。通过计算两者的dff(需要归一化)即可作为整个部门的业务指标收益。
每个考核周期结束之后,清除holdout桶,让推全实验从90%用户扩大到100%;重新随机划分用户,开启下一轮考核周期。
3.4 实验推全 & 反转实验
如果业务指标的diff显著增加,则可以推全到90%,考核周期结束后,推全到100%。
有的指标(点击、交互)立刻受到新策略影响,有的指标(留存)存在滞后性,需要长期观测。反转实验可以尽快推全,也可以长期观测试验指标(开一个旧策略的反转桶)。
*反转桶可以保留很久。
更多推荐
所有评论(0)