码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 排序算法总结


    目录

    • 1. 排序模型
    • 2. 多任务学习模型
      • 2.1 多任务介绍
      • 2.2 多任务模型(精排)
        • 2.2.1 视频播放时长建模
      • 2.3 粗排
        • 2.3.1 粗排 vs 精排
      • 参考资料

    1. 排序模型

    1. GBDT+LR
    2. FM、FFM、 DeepFM架构详解
    3. DCN
    4. DIN详解和Dice介绍 和 DIN模型详解、DIEN
    5. Wide&deep模型框架详解 以及为什么要设计wide和deep相结合的模型;wide&deep模型中如何确定哪些特征适用于wide侧哪些特征适用于deep侧
    6. MaskNet|更充分提取特征的CTR模型

    2. 多任务学习模型

    2.1 多任务介绍

    目标:点击率、点赞率、收藏率、转发率
    训练困难:类别不平衡问题

    1. 每100次曝光,约有10次点击,90次无点击
    2. 没100次点击,约有10次收藏,90次无收藏

    解决方案:负样本降采样:保留一小部分负样本,让正样本数量平衡,节约计算

    预估值校准:由于负样本变少,预估点击率大于真实点击率。

    融合预估分数:

    1. 简单的加权: w超参数,需要根据线上AB实验进行调参,选出最合适的值.
      在这里插入图片描述

    2. 点击率乘以其他项的加权和
      在这里插入图片描述
      在这里插入图片描述
      假如 a1,a2,a3,a4 =1,上述最终的融合分数就是电商的营收.

    2.2 多任务模型(精排)

    模型:MMOE:Multi-gate Mixture-of-Experts
    特征:用户特征、物品特征、统计特征、场景特征

    1. 用户画像
      • 用户id:在召回、排序中做embedding:通常32|64维
      • 人口统计学属性:性别、年龄
      • 账户信息:新老用户、活跃度等
      • 感兴趣的类目、关键词、品牌:用户填写|算法提取
    2. 物品画像:
      • 物品id
      • 发布时间|年龄
      • GeoHash经纬度编码|所在城市
      • 标题、类目、关键字、品牌等
      • 字数、图片数、视频清晰度、标签数。。。
    3. 用户统计特征:
      • 用户最近30天(7天、1天、1小时)的曝光量、点击数、点赞数、收藏数 (表示用户的长短期兴趣和实时兴趣)
      • 按照笔记图文、视频分桶(比如用户最近7天,该用户对图文笔记的点击率、对视频笔记的点击率)
      • 按照笔记类目分桶(比如最近30天,用户对美妆笔记的点击率、对美食笔记的点击率等)
    4. 专辑统计特征
      • 专辑最近30天(7天、1天、1小时)的曝光量、点击率、点赞数、收藏数(表示专辑的受欢迎程度,不同的时间粒度表示时效性)
      • 按照用户性别分桶、按照用户年龄分桶(例如:男性的点击率)
      • 作者特征:发布笔记数、粉丝数、消费指标(曝光数、点赞数、收藏数等)(反映作者的受欢迎程度和作品的质量高低)
    5. 场景特征context:
      • 用户定位、城市
      • 当前时刻(分段,做embedding)
      • 是否是周末、是否是节假日
      • 手机品牌、型号、操作系统
    6. 特征处理
      • 离散特征:用户id,笔记id,作者id, 类目、关键词、城市、手机品牌做embedding
      • 连续特征:
        • 做分桶、变成离散特征:年龄、笔记数、视频长度
        • 曝光数、点击数、点赞数等数值做log(1+x)| 转化为点击率、点赞率等值,并做平滑

    关注特征覆盖率,默认缺失值处理。

    2.2.1 视频播放时长建模

    • 图文笔记排序的主要依据: 点击、点赞、收藏、转发、评论…

    • 视频排序的依据还有播放时长和完播:

      • 直接用回归拟合播放时长效果不好,建议用YouTube的时长建模 Deep Neural Networks for YouTube Recommendations
      • 视频完播建模:
        回归模型: 使用交叉熵损失函数
        例: 视频时长10分钟,实际播放4分钟,则实际播放率为y=0.4
        让预估播放率p拟合y: loss = y* logp + (1-y)log(1-p)
        二元分类方法
        定义完播指标:比如完播80%,例如:视频时长10分钟,播放>=8min的作为正样本,播放时长<8min作为负样本.
        在这里插入图片描述
        线上预估完播率,然后做调整:
        在这里插入图片描述

    2.3 粗排

    2.3.1 粗排 vs 精排

    粗排精排
    给几千篇笔记打分给几百篇笔记打分
    单次推理代价必须小单次推理代价很大
    预估的准确性不高预估的准确性更高

    精排模型

    • 前期融合:先对所有的特征做concatenation,再输入神经网络.
    • 线上推理代价大:如果有n篇候选笔记,整个大模型要做n次推理

    在这里插入图片描述
    双塔模型

    • 后期融合: 把用户、物品特征分别输入不同的神经网络,不对用户、物品特征做融合.

    • 线上计算量小:

      • 用户塔只需要做一次线上推理,计算用户表征a
      • 物品表征b事先储存在向量数据库中,物品塔在线上不做推理.
    • 预估准确性不如精排模型

    在这里插入图片描述

    参考资料

    • 代码实现

    • 模型讲解

      • 阿里CVR预估模型之ESMM
      • 推荐系统中的多目标学习
      • 基于ESMM模型的多目标优化实践——蘑菇街商城篇
      • MMOE模型原理及代码实现
  • 相关阅读:
    Security RBAC 表结构+权限查询sql
    Camera HAL 下的SprdCamera3HWI.cpp 内容介绍
    文件系统相关知识与IO
    得帆信息副总裁——孔金:低代码在医药行业的应用实践
    关于UIScreen.main.bounds.height的值发生了变化的原因和解决方案
    Linux安装Tomcat
    .Net7配置swagger进行添加接口注释
    CentosLinux 6.5安装教程
    Win11如何开启剪贴板自动复制?Win11开启剪贴板自动复制的方法
    Docker技术入门| Part02:Docker基础用法(Docker镜像使用、操作容器、数据管理)
  • 原文地址:https://blog.csdn.net/qq_43283527/article/details/126392047
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号