融合公式
推荐系统会产生多个不同目标的预估分,需要将多个分数融合得到最终唯一的排序依据。
多目标融合步骤
- 分数变换,对目标输出分放大、压缩、平移等等
- 分数融合
- 乘法公式
- 加法公式
两种形式哪种更好?
很小时,乘法公式相当于对数域上的加法
变大,有
排序分 pXTR(predicted X-Through Rate) 先验分布更加接近于对数正态分布
- 排序分由多个随机变量乘积形成,具有很大范围的变异性,偏向与较小值,偶尔会出现极大值。根据中心极限定理,这些对数的和往往趋向于正态分布。
- 从用户交互上看,用户的互动和模型的输出之间存在反馈循环。高分的项目更有可能被展示和选择,从而进一步增加它们的分数,这种正反馈机制可以导致分数分布的长尾特性,从而更接近对数正态分布。
乘法公式在 较大时,利用 pXTR 的对数正态先验,在较小时,近似加法公式。
什么样的融合公式是好公式
基本要求
- 具有区分度:区分是排序的核心功能,较弱的区分度意味着排序机制的失效。
- 尽可能保留排序队列 pXTRj 的信息量:排序队列理应向融合分施加影响,否则就没有实现融合,也浪费了预估值。
- 尽可能少的冗余超参数:超参数应该能直接体现业务意志,过多的超参数会让融合公式丧失调整(不论是人工或自动)的指向性与被理解的能力。
对数域主成分分析视角下的融合公式
融合公式相当于把 m 维空间的点线性映射到以为空间,需要寻找保留最多信息的投影方向,等价于寻找均方误差意义上的最优线性变换。
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),对数域主成分分析视角下的融合公式