【学习笔记】推荐系统 (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 反转实验

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

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

相关推荐
bonnyandsky2 小时前
X86 RouterOS 7.18 设置笔记十一:ROS更新方法及更新后IPTV组播转单播失效的解决方法
网络·笔记
软件资深者2 小时前
2026 版初中几何辅助线教材 PDF|打印即提分,中考几何 “分水岭” 一键通关
学习·数学·pdf·教学·初中数学
速易达网络2 小时前
AI学习路径 python到openclaw
人工智能·python·学习
bill_man2 小时前
性能优化学习笔记(1)-缓存系统
笔记·性能优化
三水不滴2 小时前
消息队列消费性能优化:批量消费 + 手动 ACK 提升吞吐量
经验分享·笔记·中间件·性能优化
夜瞬2 小时前
【Flask 框架学习】01:编写第一个 Flask 应用
后端·python·学习·flask
我命由我123452 小时前
Photoshop - Photoshop 工具栏(68)内容感知移动工具
学习·ui·职场和发展·求职招聘·职场发展·学习方法·photoshop
山岚的运维笔记2 小时前
SQL Server笔记 -- 第80章:分页
java·数据库·笔记·sql·microsoft·sqlserver
马猴烧酒.2 小时前
【JAVA算法|hot100】哈希类型题目详解笔记
java·笔记