当前位置: 首页 > news >正文

RecSys:多目标模型和MMOE

排序01:多目标排序模型

模型结构

该模型将以下特征作为输入,输出多个指标的预估结果:

  • 系统对每篇笔记记录以下行为数据:
    • 曝光次数(Number of impressions)
    • 点击次数(Number of clicks)
    • 点赞次数(Number of likes)
    • 收藏次数(Number of collects)
    • 转发次数(Number of shares)

基于这些数据计算以下指标:

指标名称计算公式说明
点击率(CTR)点击次数/曝光次数基础转化指标
点赞率点赞次数/点击次数需有点击才会产生
收藏率收藏次数/点击次数深度互动指标
转发率转发次数/点击次数重要扩散指标(能为平台带来新流量)

排序机制:

  1. 模型同时预估点击率、点赞率、收藏率、转发率等多个分数
  2. 通过加权融合这些分数(权重通过A/B测试调优)
  3. 根据融合分数进行排序和截断

模型架构和输入:

  • 用户特征:用户ID和用户画像
  • 物品特征:物品ID、物品画像(包括作者信息)
  • 统计特征
    • 用户统计:过去30天的曝光量、点击量、点赞量等
    • 物品统计:过去30天的曝光量、点击量、点赞量等
  • 场景特征
    • 时间特征(是否节假日等)
    • 地理位置特征(用户与物品的地理关联性)

在这里插入图片描述

模型训练

损失函数设计:

  • 单个指标使用交叉熵损失,总指标使用加权和
  • CrossEntropyLoss=−(y(log⁡pi)+(1−y)log⁡(1−pi)CrossEntropyLoss = - (y(\log p_i) + (1 - y)\log(1 - p_i)CrossEntropyLoss=(y(logpi)+(1y)log(1pi)
  • 总的损失:∑i=14αiCrossEntropyLoss(yi,pi)\sum_{i =1}^4 \alpha_i CrossEntropyLoss(y_i,p_i)i=14αiCrossEntropyLoss(yi,pi)
  • 对损失函数求梯度,做梯度下降更新参数

在这里插入图片描述

关键问题:降采样与校准

问题背景:

  • 正负样本严重不平衡(典型比例):
    • 点击率:10次点击 vs 90次无点击
    • 收藏率:10次收藏 vs 90次无收藏

解决方案:

  1. 负采样降采样(Down-sampling)

    • 保留部分负样本(如从90个负样本中保留10个)
    • 使正负样本数量平衡
    • 显著减少计算量
  2. 预估值校准

    • 定义:
      • 真实点击率:Ptrue=n+n++n−P_{true} = \frac{n_+}{n_+ + n_-}Ptrue=n++nn+
      • 采样后预估点击率:Ppred=n+n++αn−P_{pred} = \frac{n_+}{n_+ + \alpha n_-}Ppred=n++αnn+α\alphaα为采样率)
    • 校准公式:
      Ptrue=α⋅Ppred(1−Ppred)+α⋅PpredP_{true} = \frac{\alpha \cdot P_{pred}}{(1-P_{pred}) + \alpha \cdot P_{pred}}Ptrue=(1Ppred)+αPpredαPpred
    • 实际应用:
      • 模型输出原始预估点击率
      • 通过校准公式调整后用于排序

排序02:MMOE模型(Multi-gate Mixture-of-Experts)

模型特点:

  • 多目标排序框架
  • 使用多个独立专家网络(参数不共享)
  • 通过门控机制动态组合专家特征

核心架构:

  1. 专家层(Experts):多个独立的神经网络
  2. 门控网络(Gates)
    • 每个任务对应一个门控网络
    • 通过softmax生成专家权重
    • 在这里插入图片描述
  3. 任务塔(Towers):每个任务有独立的输出层
    • 在这里插入图片描述

极化问题(Polarization):

  • 现象:门控网络可能过度依赖少数专家(如权重变为[0,0,1])
  • 解决方案:
    • 对softmax输出应用dropout(10%丢弃率)
    • 强制每个任务利用多个专家特征
    • 提升模型鲁棒性

在这里插入图片描述

应用建议:

  • MMOE不一定在所有场景都有效
  • 需要根据业务特点进行调整
  • 可参考YouTube的改进方案

参考文献:

  1. He X, et al. Practical lessons from predicting clicks on ads at Facebook. In: The 8th International Workshop on Data Mining for Online Advertising.
  2. Ma J, et al. Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts. In: KDD 2018.
  3. Zhao Z, et al. Recommending What Video to Watch Next: A Multitask Ranking System. In: RecSys 2019.
  4. 王树森推荐系统公开课
http://www.dtcms.com/a/334571.html

相关文章:

  • .NET8下的Garnet使用
  • androidstudio内存大小配置
  • 研究生第十六周周报
  • 718SJBH公交查询系统
  • 4.6 Vue 3 中的模板引用 (Template Refs)
  • Sklearn 机器学习 邮件文本分类 加载邮件数据
  • [Responsive theme color] 动态主题 | 色彩工具函数 | HEX与RGB
  • 嵌入式第三十天(线程)
  • 围棋对战游戏开发详解 附源码
  • 【C++】标准库中用于组合多个值的数据结构pair、tuple、array...
  • k8s+kubeedge的混合框架下,云端pod与边缘端pod如何进行通信?
  • HTTP协议-1-认识各个HTTP协议版本的主要特点
  • Python进行点云公共区域的提取
  • Docker目录的迁移
  • 银行间交易IMIX协议加密相关
  • 后台管理系统-4-vue3之pinia实现导航栏按钮控制左侧菜单栏的伸缩
  • 机器学习——线性回归
  • 平滑方法(smoothing)
  • Python-深度学习——pytorch的安装
  • 开源 Arkts 鸿蒙应用 开发(十八)通讯--Ble低功耗蓝牙服务器
  • VSCode匹配删除多行注释
  • JavaScript 核心语法与实战笔记:从基础到面试高频题
  • 从“Hello World”到“高并发中间件”:Go 语言 2025 系统学习路线图
  • 深入解析C++ STL链表(List)模拟实现
  • 微服务之注册中心与ShardingSphere关于分库分表的那些事
  • 类与类加载器
  • 基于GIS的无人机模拟飞行控制系统设计与实现
  • 某智慧教育平台登录流程分析
  • 元宇宙娱乐:重构数字时代的沉浸式体验
  • 嵌入式 Linux LED 驱动开发实验