> 技术文档 > 推荐系统多目标排序模型以及融合策略

推荐系统多目标排序模型以及融合策略


一、模型架构设计

多目标推荐模型采用共享底层参数的神经网络架构,通过多任务学习同时优化多个用户行为指标。如图1所示

推荐系统多目标排序模型以及融合策略
图1. 多目标模型架构(来源:王树森推荐系统课程)

关键行为指标定义

指标 计算公式 业务意义 CTR 点击次数/曝光次数 内容基础吸引力 LikeRate 点赞次数/点击次数 内容质量认可度 CollectRate 收藏次数/点击次数 用户长期兴趣强度 ShareRate 转发次数/点击次数 内容传播价值

转发行为具有网络效应,能为平台带来跨域流量,是重要的增长杠杆

二、输入特征体系

1. 特征分类

  • 用户特征:ID、用户画像
  • 物品特征:物品 ID、物品画像、作者信息
  • 统计特征:30天窗口的行为统计(曝光、点击、转化)
    • 如过去 30 天内用户对物品的曝光次数、点击次数、点赞次数、收藏次数、转发次数等行为数据的统计汇总。
    • 物品统计特征:过去 30 天内物品被曝光的总次数、获得的点击次数、点赞次数、收藏次数、转发次数等统计信息。
  • 场景特征:时空上下文(地理位置、节假日)

三、训练过程

采用加权多任务损失:
L = ∑ i = 1 4α i ⋅ [ − y i log ⁡ p i − ( 1 − y i ) log ⁡ ( 1 − p i ) ] \\mathcal{L} = \\sum_{i=1}^4 \\alpha_i \\cdot [-y_i\\log p_i - (1-y_i)\\log(1-p_i)] L=i=14αi[yilogpi(1yi)log(1pi)]

推荐系统多目标排序模型以及融合策略

四、负采样与校准技术

类别不平衡问题

以点击率为例,通常每 100 次曝光中仅有约 10 次点击,其余为无点击的负样本,这会导致模型训练时正样本信息被淹没。

行为转换 典型比例(假设) 不平衡度 曝光→点击 10:90 9:1 点击→点赞 10:90 9:1

负采样解决方案

对负样本进行降采样,仅保留一部分负样本参与训练,使正负样本数量达到相对平衡状态,可减少计算资源消耗并提升模型对正样本特征的学习能力。

  1. 分层采样策略

    • 保留100%正样本
    • 对负样本按比例降采样(采样率α)
    • 典型采样率:α ∈ [0.1, 0.3]
  2. 采样后预估校准

    • 真实点击率: p true = n + n + + n − p_{\\text{true}} = \\frac{n_+}{n_+ + n_-} ptrue=n++nn+
    • 采样后预估值: p pred = n + n + + α ⋅ n − p_{\\text{pred}} = \\frac{n_+}{n_+ + \\alpha \\cdot n_-} ppred=n++αnn+
    • 校准公式
      p true = α ⋅ p pred ( 1 − p pred ) + α ⋅ p pred p_{\\text{true}} = \\frac{\\alpha \\cdot p_{\\text{pred}}}{(1 - p_{\\text{pred}}) + \\alpha \\cdot p_{\\text{pred}}} ptrue=(1ppred)+αppredαppred

校准操作流程

  • 训练阶段->>在线服务: 输出原始预估值p_pred
  • 在线服务->>校准模块: 输入p_pred
  • 校准模块->>排序模块: 返回 p t r u e= α ⋅ p p r e d/ [ 1 − p p r e d+ α ⋅ p p r e d ] p_{true} = α·p_{pred} / [1-p_{pred} + α·{p_pred}] ptrue=αppred/[1ppred+αppred]
  • 排序模块->>推荐结果: 使用校准后分数排序

五、排序与融合策略

一、基础加权融合法

1. 线性加权融合

Score = p c l i c k+ w 1 ⋅ p l i k e+ w 2 ⋅ p c o l l e c t+ w 3 ⋅ p s h a r e \\text{Score} = p_{click} + w_1 \\cdot p_{like} + w_2 \\cdot p_{collect} + w_3 \\cdot p_{share} Score=pclick+w1plike+w2pcollect+w3pshare

特点

  • 实现简单,计算效率高
  • 各指标权重需通过A/B测试调优
  • 适合指标间相对独立场景

2. 点击率主导融合

Score = p c l i c k× ( 1 + w 1 ⋅ p l i k e+ w 2 ⋅ p c o l l e c t+ ⋯   ) \\text{Score} = p_{click} \\times (1 + w_1 \\cdot p_{like} + w_2 \\cdot p_{collect} + \\cdots) Score=pclick×(1+w1plike+w2pcollect+)

数学解释

  • p c l i c k× 1 p_{click} \\times 1 pclick×1:基础点击概率
  • p c l i c k× p l i k e p_{click} \\times p_{like} pclick×plike:曝光→点击→点赞的联合概率

优势

  • 符合用户行为序列的因果逻辑
  • 自动放大高点击内容的次级行为价值

二、工业级融合方案

每个指标的意义:

指标 业务意义 点击率 基础用户体验 点赞率 内容质量感知 收藏率 长期用户价值 转发率 平台增长杠杆

1. 海外短视频平台方案

采用幂次连乘法
Score = ( 1 + w 1 ⋅ p t i m e ) a 1× ( 1 + w 2 ⋅ p l i k e ) a 2× ⋯ \\text{Score} = (1 + w_1 \\cdot p_{time})^{a_1} \\times (1 + w_2 \\cdot p_{like})^{a_2} \\times \\cdots Score=(1+w1ptime)a1×(1+w2plike)a2×

参数说明

  • w i w_i wi:行为权重系数
  • a i a_i ai:非线性放大系数
  • p t i m e p_{time} ptime:预估观看时长(秒)

设计原理

  • 1 + w*p保证基础分不为零
  • 幂次运算增强头部效应
  • 连乘突出综合体验

2. 国内某短视频方案(排序分转换)

分阶段处理:
  1. 单指标排序

    • 对每个指标独立排序得到排名 r i r_i ri
  2. 排名分转换
    f ( r i ) = w i r i a i + β i f(r_i) = \\frac{w_i}{r_i^{a_i} + \\beta_i} f(ri)=riai+βiwi

  3. 最终融合
    w 1 r t i m e a 1 + β 1 + w 2 r c l i c k a 2 + β 2 + w 3 r l i k e a 3 + β 3 + . . . \\frac{w_1}{r_{time}^{a_1} + \\beta_1 } + \\frac{w_2}{r_{click}^{a_2} + \\beta_2} + \\frac{w_3}{r_{like}^{a_3} + \\beta_3 } + ... rtimea1+β1w1+rclicka2+β2w2+rlikea3+β3w3+...

关键参数

参数 作用 a a a 头部集中度 β \\beta β 平滑因子

优势

  • 消除不同指标量纲差异
  • 自动处理长尾分布
  • 增强头部内容区分度

3. 电商平台方案(行为链模型)

用户路径

#mermaid-svg-zBMuRQjrO8YXPMVC {font-family:\"trebuchet ms\",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-zBMuRQjrO8YXPMVC .error-icon{fill:#552222;}#mermaid-svg-zBMuRQjrO8YXPMVC .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-zBMuRQjrO8YXPMVC .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-zBMuRQjrO8YXPMVC .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-zBMuRQjrO8YXPMVC .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-zBMuRQjrO8YXPMVC .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-zBMuRQjrO8YXPMVC .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-zBMuRQjrO8YXPMVC .marker{fill:#333333;stroke:#333333;}#mermaid-svg-zBMuRQjrO8YXPMVC .marker.cross{stroke:#333333;}#mermaid-svg-zBMuRQjrO8YXPMVC svg{font-family:\"trebuchet ms\",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-zBMuRQjrO8YXPMVC .label{font-family:\"trebuchet ms\",verdana,arial,sans-serif;color:#333;}#mermaid-svg-zBMuRQjrO8YXPMVC .cluster-label text{fill:#333;}#mermaid-svg-zBMuRQjrO8YXPMVC .cluster-label span{color:#333;}#mermaid-svg-zBMuRQjrO8YXPMVC .label text,#mermaid-svg-zBMuRQjrO8YXPMVC span{fill:#333;color:#333;}#mermaid-svg-zBMuRQjrO8YXPMVC .node rect,#mermaid-svg-zBMuRQjrO8YXPMVC .node circle,#mermaid-svg-zBMuRQjrO8YXPMVC .node ellipse,#mermaid-svg-zBMuRQjrO8YXPMVC .node polygon,#mermaid-svg-zBMuRQjrO8YXPMVC .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-zBMuRQjrO8YXPMVC .node .label{text-align:center;}#mermaid-svg-zBMuRQjrO8YXPMVC .node.clickable{cursor:pointer;}#mermaid-svg-zBMuRQjrO8YXPMVC .arrowheadPath{fill:#333333;}#mermaid-svg-zBMuRQjrO8YXPMVC .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-zBMuRQjrO8YXPMVC .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-zBMuRQjrO8YXPMVC .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-zBMuRQjrO8YXPMVC .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-zBMuRQjrO8YXPMVC .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-zBMuRQjrO8YXPMVC .cluster text{fill:#333;}#mermaid-svg-zBMuRQjrO8YXPMVC .cluster span{color:#333;}#mermaid-svg-zBMuRQjrO8YXPMVC div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"trebuchet ms\",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-zBMuRQjrO8YXPMVC :root{--mermaid-font-family:\"trebuchet ms\",verdana,arial,sans-serif;} 曝光 点击 加购 付款

融合公式
GMS = p c l i c k a 1× p c a r t a 2× p p a y a 3× price a 4 \\text{GMS} = p_{click}^{a1} \\times p_{cart}^{a2} \\times p_{pay}^{a3} \\times \\text{price}^{a4} GMS=pclicka1×pcarta2×ppaya3×pricea4

参数设计

  • a 1 = a 2 = a 3 = a 4 = 1 a1=a2=a3=a4=1 a1=a2=a3=a4=1时:
    • GMS = 点击率 × 加购率 × 付款率 × 价格
    • = 期望GMV(商品交易总额)

三、方案对比

方案类型 适用场景 计算复杂度 线性加权 快速迭代 低 点击率主导 内容推荐 中 幂次连乘 视频/图文 高 排序分转换 多目标长尾分布 高 行为链模型 电商交易场景 中

结论:多目标模型通过联合优化多个用户行为目标,显著优于单目标模型,尤其在提升用户长期价值和平台增长方面效果突出。负采样与校准技术有效解决了样本不平衡问题,使模型预估更贴近真实场景。

引用

参考文献:
[1] Shusen Wang. 推荐系统课程. Bilibili, 2022.
[2] Facebook. Practical Lessons from Predicting Clicks. 2014.