RecSys & Ads Basic Notes

Video 1: Recommendation Systems - Shusen Wang | Youtube
Video 2: Search Engine Technology - Shusen Wang | Youtube

1.1 损失函数

Softmax
NCE Loss
NEG Loss
Sampled Softmax Loss

1.2 负样本

2 召回

2.2 Swing

  • 喜欢物品i1的用户记作集合W1
  • 喜欢物品i2的用户记作集合W2
  • 定义交集V=W1W2
  • 两个物品的相似度:
sim(i1,i2)=u1Vu2V1α+overlap(u1,u2)

总结

  • Swing与ItemCF唯一的区别在于物品相似度
  • ItemCF:两个物品重合的用户比例高,则判定两个物品相似
  • Swing:额外考虑冲和的用户是否来自一个小圈子
    • 同时喜欢两个物品的用户记作集合V
    • 对于V中的用户u1u2,重合度记作overlap(u1, u2)
    • 两个用户重合度大,则可能来自一个小圈子,权重降低

2.3 UserCF

基于用户的协同过滤

对于上图而言,预估用户对候选物品的兴趣:0.9×0+0.7×1+0.7×3+0.4×0=2.8

用户的相似度

计算用户相似度

  • 用户u1喜欢的物品记作集合J1
  • 用户u2喜欢的物品记作集合J2
  • 定义交集I=J1J2
  • 两个物品的相似度:
sim(u1,u2)=|I||J1||J2|

降低热门物品的权重
平等地对待热门物品和冷门物品是不对的,例如在图书推荐中,Harry Potter是非常受欢迎的,大学教授和中学生都喜欢读

sim(u1,u2)=lI1|J1||J2|=|I||J1||J2|(不论冷门、热门,物品权重都是1)

优化分子:

sim(u1,u2)=lI1log(1+nl)|J1||J2|
* 喜欢物品 l 的用户数量,反映物品的热门程度

3 粗排

4 精排

4.1 常用精排模型 - DeepFM

LR(Logistic Regression)

FM(Factorized Machine)

https://blog.csdn.net/sysu63/article/details/102678572
https://www.youtube.com/watch?v=exVPXVFPMDk&t=220s

Wide & Deep

https://blog.csdn.net/qq_39691463/article/details/121099460

DeepFM

https://blog.csdn.net/sinat_39620217/article/details/131183377

4.2 MTL

发展背景

在推荐领域,多目标已经成为了业界的主流,各大公司的各种业务场景,基本都是基于多目标的框架来搭建推荐系统。

多目标在最近几年成为主流,和推荐越做越精细有直接关系。在互联网行业的红利期,用户在移动端的消费处于高速增长期,即使推荐系统粗糙,各种业务指标也很容易因为用户的自然增长而提升,这时候业务的效果提升,虽然离不开推荐系统的优化,但用户消费自然高速增长因素也起着非常重要的作用。在这种增量阶段,从业者对推荐系统做一些显而易见的改进,就可以带来明显的提升效果,所以对推荐系统的精细化也没有那么迫切。

随着互联网的用户自然增长红利逐渐消失,各大公司的推荐业务也相继进入到存量阶段,不再像增量阶段那样,用户的自然增长可以给业务带来持续提升,而是进入到另一种状态:各大公司都在存量的用户中吸引他们在自己的业务场景中消费。从业者发现按照增量阶段的改进方法,已经很难带来明显提升,于是开始“卷”起来了,朝着对推荐系统的精细化方向进行迭代和优化。

在推荐系统向精细化方向发展的阶段,多目标的研究和应用随之增多,和推荐系统的精细化相辅相成,可能是精细化的需要促进了多目标的研究,也可能是多目标的研究促进了推荐系统精细化,两者类似“先有蛋还是先有鸡”的问题。总之多目标的研究和应用,在业界成熟落地,从技术上促进了推荐领域的发展。

为什么需要多目标

对推荐场景来说,好的生态,需要具备准确性、多样性、新颖性、惊喜性等多方面效果。(如何衡量一个推荐系统的好坏在《什么是好的推荐,重新认识AUC》也提到过一些。)要让推荐系统同时具备上述的多种效果,单目标很难做到。

在单目标的情况下,很可能出现某一方面效果还可以,而其它方面效果很差,实际情况往往是某一方面的效果也很难做好。比如以点击率为单目标建模进行推荐,则往往容易准确性有一定保证,而多样性、新颖性等效果差,甚至准确性也难以做好,因为点击率高的内容,存在标题党或者封面党的问题,这样的内容用户很可能会点击,但点击后会很快退出,因为内容并不是用户真正感兴趣的。

推荐系统要达到推荐准确的效果,推荐用户真正感兴趣的内容,单目标也很难做到。用户不同的行为背后有不同的动机,代表了不同维度的兴趣出发点。用户点击表示有意愿消费,用户停留一定时长表示有兴趣,用户评论表示愿意和内容生产者产生联系等,一项内容如果能引发用户的正向行为越多,那用户对这项内容的兴趣也越高。但大多数用户的正向行为项数量是一两项,不会很多,因此当只使用单目标时,则很容易导致触发用户某种行为的内容占主导,而忽略了用户背后真实的兴趣,也不利于推荐的生态建设。

在具体场景中,用户的正向行为丰富多样,而一些正向行为之间存在一定的此消彼长的关系,比如当用户点关注后页面会进入到作者主页,则关注后用户则停止了对内容的时长消费,因此关注行为和时长之间存在拉扯。这时如果以其中一个为单目标进行推荐,则会对另一个目标有损,但推荐追求的是“既要又要”,只有多方面都兼顾到了,推荐系统才可能向一个好的生态方向发展,因此需要多目标来进行建模,从而尽可能地综合用户的多种兴趣维度,达到好的推荐效果。

多目标的应用,主要解决单目标的几个问题:
(1) 单目标存在无法识别用户多维度兴趣问题,有误导风险;
(2) 不同单目标之间存在“此消彼长”的关系,难以兼顾。在业务迭代过程中,多目标可以帮助推荐系统不断完善。

Shared-Bottom

MMoE
(Multi-gate MoE model)

PLE
Progressive Layered Extraction model

3-3 模型优化

模型优化 — OPE (Optimized Private Expert)

DCN-M: Deep & Cross Network Model, DCN-M
MMCN: Multi-layered Multi-gate with Cross Network

优化工作

  • 每一个Task Specific Input都分配一个单独的Embedding,从而可以提供更多的增量特征,有更多的学习空间
  • 每一个Task Specific Input都由100个优选特征(相关度高的特征,按照相关度排序)组成,Shared Input由800-900个通用特征和业务特征组成,private expert和shared expert之间的特征会有重复

好处

  • 由于private expert和shared expert之间的特征会有重复,分配一个单独的Embedding,从而可以提供更多的增量特征
  • 分配一个单独的Embedding和优选特征的好处是可以萃取单任务特性,提高精度
  • 分配单独的Embedding,不会在embedding层面上进行横向迁移,从而缓解任务间的负迁移

面试问题:怎么为每个Task筛选特征?

  • 计算每个特征对每个Task的重要度,保留Top特征
  • 特征重要度根据AUC计算:
    • step 1:使用Validation Dataset在Shared bottom Model进行验证,得出AUC_A, AUC_B, …
    • step 2:依次一个一个遍历将特征对应的embedding置为0,这个操作相当于将这个特征进行删除,再次计算出AUC_A_1
    • step 3:将AUC_A - AUC_A_1得到差值,差值作为特征重要度

3-4 业务优化

英文缩写 英文全称 中文 使用场景
CPT Cost Per Time 按时间计费 竞价一般用的比较少,适用于品牌采购。
CPM Cost Per Mille 每千人展现成本 CPM=总消耗/曝光量*1000,品牌采购较多。也可以拿来代表。
CPC Cost Per Click 按点击计费 古早的竞价方式,现在一般不用。
CPD Cost Per Download 按下载收费 常见于app类投放,在应用商店、积分墙、流量联盟比较常见。
CPS Cost Per Sales 按销售收费 佣金常见。销售额1000,CPS3%,广告费30。现在精选联盟就是这种模式。
CPA Cost Per Action 按行为收费 a代表很多:下载、注册、付费,按具体使用环境。
oCPX Optimized Cost per x 优化付费(智能优化) 本质还是按照cpm付费,但是系统会自动优化点击率,以结算方式的选择优化。

千川常用

英文缩写 英文全称 中文 使用场景
bid bid 出价 计划的出价,一般装B用,一般都说出价多少。
CTR Click-Through-Rate 点击率 判断用户感兴趣程度,一般看素材和商品的点击率会比较多。
CVR Conversion Rate 转化率 判断用户实际行为意向。判断素材或商品的精准成交程度。
eCPM effective cost per mille 每千次展示可以获得的广告收入 判断广告竞争力,系统预估值,无法被看到,实际跑出来就是CPM。常与CPM、oCPM混淆。eCPM=pCTRpCVRbid*1000
ROI Return On Investment 投资回报率 roi=收入/消耗。我不care你上面这些,我只关心你的roi!
ARPU Average Revenue Per User 每用户平均收入 每用户平均收入,抖音一般跟客户单价挂钩。
LTV Life Time Value 客户终生价值 app用的比较多,一个客户在你这儿一生能赚多少钱。
DMP Data Management Platform 数据管理平台 管理第三方数据平台,或者可以自己打,一般跟人群标签等搭配用。
posted @   ForHHeart  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
点击右上角即可分享
微信分享提示