融合公式

推荐系统会产生多个不同目标的预估分,需要将多个分数融合得到最终唯一的排序依据。

多目标融合步骤

  • 分数变换,对目标输出分放大、压缩、平移等等
  • 分数融合
    • 乘法公式 :<-> j(1+ajpXTRj)bj\prod_j\left(1+a_j \cdot \mathrm{pXTR}_j\right)^{b_j}
      id:: 66b0ee8f-bebc-47d3-9805-c64a8e6f2159
      • 优点 :-> 增强高的预估分数,抑制低的预估分数
        id:: 66b8d3d4-91f6-41a4-a476-29a33ed5bcc0
      • 缺点 :-> 不能调大单一目标的指数权重
        id:: 66b8d46b-33ca-4d3b-a73b-c19009518468
    • 加法公式 :<-> jcjpXTRj\sum_j c_j \cdot \mathrm{pXTR}_j
      id:: 66b0ee8f-5113-419a-b513-e069eaa2a3b2
      • 优点 :-> 目标权重对应目标在融合公式中的重要程度
        id:: 66b8d288-60b6-46da-a037-1548bc6e20fc
      • 缺点 :-> 权重系数对所有类型的目标都是一视同仁
        id:: 66b8d3a4-3ca2-4819-89d5-81e852e272fe
    • 带权指数加法
    • 带权指数乘法

两种形式哪种更好?

ajpXTRja_j \cdot \mathrm{pXTR}_j 很小时,乘法公式相当于对数域上的加法

  • log[j(1+ajpXTRj)bj]=jbjlog(1+ajpXTRj)jajbjpXTRj\log \left[\prod_j\left(1+a_j \cdot \mathrm{pXTR}_j\right)^{b_j}\right]=\sum_j b_j \cdot \log \left(1+a_j \cdot \mathrm{pXTR}_j\right) \approx \sum_j a_j b_j \cdot \mathrm{pXTR}_j

ajpXTRja_j \cdot \mathrm{pXTR}_j 变大,有

  • log[j(1+ajpXTRj)bj]jbjlog(ajpXTRj)=jbjlog(pXTRj)+C\log \left[\prod_j\left(1+a_j \cdot \mathrm{pXTR}_j\right)^{b_j}\right] \approx \sum_j b_j \cdot \log \left(a_j \cdot \mathrm{pXTR}_j\right)=\sum_j b_j \cdot \log \left(\mathrm{pXTR}_j\right)+C

排序分 pXTR(predicted X-Through Rate) 先验分布更加接近于对数正态分布

  • 排序分由多个随机变量乘积形成,具有很大范围的变异性,偏向与较小值,偶尔会出现极大值。根据中心极限定理,这些对数的和往往趋向于正态分布。
  • 从用户交互上看,用户的互动和模型的输出之间存在反馈循环。高分的项目更有可能被展示和选择,从而进一步增加它们的分数,这种正反馈机制可以导致分数分布的长尾特性,从而更接近对数正态分布。

乘法公式在 ajpXTRja_j \cdot \mathrm{pXTR}_j 较大时,利用 pXTR 的对数正态先验,在较小时,近似加法公式。

什么样的融合公式是好公式

基本要求

  • 具有区分度:区分是排序的核心功能,较弱的区分度意味着排序机制的失效。
  • 尽可能保留排序队列 pXTRj 的信息量:排序队列理应向融合分施加影响,否则就没有实现融合,也浪费了预估值。
  • 尽可能少的冗余超参数:超参数应该能直接体现业务意志,过多的超参数会让融合公式丧失调整(不论是人工或自动)的指向性与被理解的能力。

对数域主成分分析视角下的融合公式

融合公式相当于把 m 维空间的点线性映射到以为空间,需要寻找保留最多信息的投影方向,等价于寻找均方误差意义上的最优线性变换。

  • x=(pXTR1,pXTR2,,pXTRm)R+my=f(x)R+1\mathbf{x}=\left(\mathrm{pXTR}_1, \mathrm{pXTR}_2, \ldots, \mathrm{pXTR}_m\right) \in \mathbb{R}_{+}^m \rightarrow y=f(\mathbf{x}) \in \mathbb{R}_{+}^1

KL 变化([[PCA]] 是 KL 变换的一种特殊情况),从最大化数据投影的方差的角度出发,寻找最优的线性变换,以便在降维后仍然能够反映最大的数据变异性。

具体 PCA 求解见知乎原文,实践代码 Mixician/src/mixician/examples/calculate_value_based_ensemble_score/self_balancing_value_based_ensemble_score.ipynb at develop · yinsn/Mixician (github.com)

模型化

通过模型来学习融合公式中的参数,需要考虑如何定义总目标作为监督信号。

实时流 AB

参数微弱变动严重影响 AB 指标,严格限制超参在 baseline 参数的临域附近,对指标进行兜底。

@多目标排序在快手短视频推荐中的实践 CEM 算法,baseline 参数 + 方差扰动得到多组高斯分布,所有参数应用于实时流 AB。

总结

融合公式见效快但不够动态,无法解决模型漂移、个性化偏置等问题。

模型化、实时流 AB 提高复杂度,进一步逼近理论上界,但也引入不可控性、稳定性、解释性差等问题。

Ref

值融合排序公式设计哲学的数学原理 - 知乎 (zhihu.com),对数域主成分分析视角下的融合公式

关于推荐系统多目标融合排序的进一步思考 - 知乎 (zhihu.com)

作者

Ryen Xiang

发布于

2024-06-16

更新于

2024-08-24

许可协议


网络回响

评论