问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

推荐系统中冷启动环节的设计实现

创作时间:
作者:
@小白创作中心

推荐系统中冷启动环节的设计实现

引用
CSDN
1.
https://blog.csdn.net/qyj19920704/article/details/140040730

推荐系统中的冷启动环节是确保新用户和新内容能够快速融入系统的关键步骤。本文将详细介绍用户冷启动和物料冷启动的设计实现,并深入探讨PID算法在流量控制中的应用。

1、用户冷启动

用户冷启动主要是针对新用户,但有时候也用于低活用户拉活。其核心目标是通过各种技巧迅速获取用户的兴趣点,实现个性化推荐,激发用户的留存。具体策略包括:

  • 物料钩子:通过精心设计的物料吸引用户点击,进而获取用户兴趣。
  • 注册信息:利用用户注册时提供的信息(如年龄、性别、兴趣爱好等)进行初步画像。
  • 多域信息:结合用户的跨平台行为数据,构建更全面的用户画像。
  • 联邦学习:在保护用户隐私的前提下,通过联邦学习获取用户兴趣。

此外,针对新用户还需要考虑定期刺激用户兴趣,不断用优质物料去试探用户,甚至做到兴趣的流转和承接,迅速抓住用户的兴趣,提高用户黏性。

例如,在信息流推送业务中,当一个新用户点击某条推送物料后,用户会迅速进入信息流的某个业务界面(如图文或者视频界面),这时候,对应的业务界面也要做好对应的承接推荐,继续给用户优质的物料,让用户深入地使用该产品,而不是用户点完一个物料以后就完毕了。因此,对承接页的物料展示位的填充就很讲究了,首先,基于推送的 I2I 物料肯定是要有的;其次,用户的其他兴趣点物料和高热度物料也要着重考虑。

同时,对于相同的用户冷启动 “打法”,除了针对新用户,也可以定期针对低活用户进行拉活冷启动。用户流失其实是一个常见的问题,关键还是要分析用户为什么流失的问题,比如用户物料兴趣得不到满足,有违规内容,App 的生态运转不良,竞品用其他手段拉走了用户等。通过分析得到问题后,就要针对这部分低活用户进行类似冷启动的 “打法”,并且做好一系列的兴趣承接工作让用户重新回到 App 里面。

2、物料冷启动

物料冷启动主要是针对新入库不久的物料,让其得到迅速下发,从而筛选出好的物料, 产生流量的 “滚雪球” 效应。物料冷启动方法很多,主要包括用户粉丝冷启动、物料基础信息冷启动、物料相似性冷启动和物料进退场机制(具体请阅读《推荐系统全链路设计:原理解读与业务实践》一书)。

现在的主流 “打法” 是物料进退场机制(也称作爬坡机制)。物料进退场机制主要是为每个物料设置一级级的限制,然后就是设置物料爬坡的限制,之后再根据各个业务情况去设置更进一步的流量筛选条件,直到最后物料流入正常流量库。下图展现了整个冷启动物料到正常物料的流程。


图 11-1 冷启动物料到自然流量物料库的转换

冷启动流量需要考虑流量放量的速度和物料、用户的基础特征,相比自然流量的模型,冷启动环节的模型需要忽略反馈数据,如点击、下发、点赞、评论等。

3、PID 算法

在流量分发的过程中,肯定不可能一次性爆发式地分发下去,而是间隔式地均匀分发。因为,流量在不同时段的量都是不同的,而且物料肯定不应该被集中式下发,应该在各个时段都有分发。所以,为了合理的分发物料,需要对物料流量进行合理的控制,PID(Proportion Integration Differentiation, 比例 - 积分 - 微分控制器 )就是流量控制的典型算法。

PID 算法分为比例、积分和微分三部分,是控制领域的常见稳定控制算法。具体公式如下:

图 11-2 PID 流程

其实,PID 操作类似于对热水器的水进行加热到固定水温。比如要将水温加热到 40℃,一开始肯定要迅速升温,但是到 35℃ 的时候就要减缓加温力度,到 40℃ 就不再进行加温,只需要维持即可。怎么合理的将水温加到 40℃,并且维持在 40℃,就是 PID 需要做的事情。

PID 的核心就是:

  • Kp:控制当前主要误差的系数,越大,调节的力度越大,越激进; 越小,调节力度越保守。例如,假设某个物料需要发 100 条,要发 10h,则每小时发 10 条(记为)。通过计算当前真实要发的量,越大,达到预期总发放量的速度越快。
  • Kd:如果仅仅用比例,假设我们计划发 10 条,但是只发了 4 条,这样实际发放和计划发放就存在暂态误差。如果暂态误差拉长就会变为稳态误差,所以,我们再引入一个分量,该分量和误差的积分是正比关系。由于这个积分项会将前面若干次的误差进行累计,所以可以很好地消除稳态误差。该值不宜太大,一般取 0.8-2 之间。
  • Ki:一般指 t 时刻和 t-1 时刻的误差值,即调节控制中的振荡,通常,微分环节相当于放大了反馈信号中的高频信号。系数取得不好会,就会引起高频震荡。

PID 算法在实际的应用中就是模拟线上环境,然后对进行调参,让整个分发系统达到一个稳定的状态。

下面给出将某个物料在 8h 内分发 100 条的 PID 算法代码。

实现了以上代码后,绘制时间和物料每小时的下发关系图。


© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号