【学习笔记】推荐系统 (1.基础知识)

网课:王树森 - 推荐系统公开课

1.1 指标

1.1.1 短期消费指标

点击率=点击次数/曝光次数

点赞率=点赞次数/点击次数

收藏率=收藏次数/点击次数

转发率=转发次数/点击次数

阅读完成率=滑动到底次数/点击次数×f(笔记长度)

其中,f(笔记长度)是一个和笔记长度有关的归一化函数。由于笔记越长,滑动到底的概率越小。公平起见,需要提高长笔记的权重,因此加一个f(笔记长度),笔记长度越长,f(笔记长度)越大。

一味追求短期指标,推送用户最近感兴趣的内容,会让用户很快失去兴趣。

提供更加丰富的内容,虽然不会提高点击率,但有助于提高用户粘性。

1.1.2 北极星指标

消费系统的最关键指标,是衡量推荐系统好坏的根本标准。

  • 用户规模:日活用户数(DAU)、月活用户数(MAU)。
  • 消费:人均使用推荐的时长、人均阅读笔记的数量。
  • 发布:发布渗透率、人均发布量。

1.2 实验流程

离线实验→小流量AB测试→全流量上线

1.3 推荐系统的链路

召回:从物品数据库中快速取回一些物品(用户感兴趣的)。

粗排:用小规模机器学习模型对召回得到的物品进行打分排序,保留分数最高的。

精排:用大规模机器学习模型对粗排得到的物品逐一打分排序,精排分数反应用户对笔记的兴趣。(截断/不截断均可)

重排:做多样性抽样、规则打散、插入运营广告。

1.4 A/B测试

离线测试实验结果正向后,进行线上的小流量A/B测试,考察对线上指标的影响。部分模型选择参数需要通过用A/B测试选取最优参数。

采用随机分桶的方式进行实验(图示假设可选参数有3个取值)。

计算每个桶的业务指标(DAU、人均使用推荐的时长、点击率等)。

若某个实验组指标显著优于对照组,说明策略有效,值得推全。

1.5 分层实验

将召回、粗排、精排、重排、用户界面、广告等实验类型,进行分层实验,每一层只进行一个类型的实验。
同层互斥 :同一层的实验,一个桶只能进行一个实验,防止不同实验相互影响结果。
不同层正交:每一层独立随机对用户分桶,每一层都可以独立用100%的用户进行实验。

1.6 Holdout机制

每个实验独立汇报对业务指标的提升,但公司会考察一个部门总体的业务指标提升。

做法:取10%的用户作为holdout桶,推荐系统使用剩余90%的用户做实验,两者互斥。

用90%实验桶业绩-10%holdout桶业绩作为一个部门的总体业务指标提升。

每个考核周期结束后清空holdout桶,将实验推全至100%用户,并重新随机划分用户,得到新的holdout桶和实验桶,进行下一轮周期。

1.7 实验推全

若在某一层小流量A/B测试实验结果为正向,则可以推全至全部用户,并让出当前实验桶,新开一层来推全,这样不影响原本层其他的实验。

1.8 反转实验

部分指标存在滞后性,需要长期观测,但实验观测到显著收益后硬尽快推全新策略,腾出实验桶供其他实验使用,或需要基于新策略做后续的开发。

做法:在推全的新层中开一个旧策略的反转桶,长期观测实验指标。

相关推荐
IT空门:门主7 小时前
Python 数据类型学习笔记
python·学习
学习论之费曼学习法7 小时前
AI 入门 30 天挑战 - Day 20 费曼学习法版 - 语音识别基础
人工智能·学习·语音识别
星幻元宇VR7 小时前
VR交通安全行走平台助力文明交通建设
科技·学习·安全·vr·虚拟现实
red_redemption7 小时前
自由学习记录(174)
学习
sjsjsbbsbsn7 小时前
RAG核心学习总结:文本分块
人工智能·学习·知识图谱
阿Y加油吧7 小时前
堆 / 优先队列专题二刷笔记:前 K 个高频元素 & 数据流的中位数
java·笔记·算法
Codector7 小时前
在Ubuntu中使用Edge侧边栏无法添加和查看同步的侧边栏问题解决
笔记·ubuntu·develop
Brilliantwxx7 小时前
【C++】认识标准库STL(1)
开发语言·c++·笔记·程序人生·算法
想成为优秀工程师的爸爸7 小时前
第二十四篇技术笔记:郭大侠学DoIP - 从“偶睡破庙”到“天字一号”
网络·笔记·网络协议·tcp/ip·信息与通信
天才少女爱迪生7 小时前
【迪士尼机器人】硬件接入记录(自用笔记版)
笔记