双塔模型2之如何选择正确的正负样本

news2025/4/3 17:16:31

双塔模型:正负样本

选对正负样本的作用 > 改进模型的结构

正样本

什么是正样本?答:曝光且有点击的 “用户-物品” 二元组

  • 存在的问题:存在28法则,即少部分物品(比如热门物品)占大部分点击,导致正样本大多数是热门物品

  • 解决方案:过采样冷门物品,或降采样热门物品

如何选择负样本

  1. 召回阶段没有被召回的可以当负样本
  2. 粗排,精排阶段被筛除的可以当负样本
  3. 展示给用户曝光但没有被用户点击的可以当负样本(但这类不适应于做召回的负样本)

image-20250326083242570

简单负样本

简单负样本是指未被召回的物品。

  1. 未被召回的物品,大概率是用户不感兴趣的。

  2. 未被召回的物品 ≈ 全体物品 (因为几亿个物品里只召回了几千个)。

  3. 根据2,只需从全体物品中做抽样,作为负样本。

  4. 如何做抽样?均匀抽样 or 非均匀抽样

全体物品负样本

均匀随机抽样: 对冷门物品不公平。

  • 因为少部分物品占据大部分点击,正样本大多是热门物品。

  • 若均匀抽样,产生的负样本大多是冷门物品。

总拿热门物品做正样本,冷门物品做负样本,这对冷门物品不公平,会导致热门物品更热冷门物品更冷,故需要非均匀抽样。

非均匀随机抽样:目的是打压热门物品。

  • 负样本抽样概率与热门程度(点击次数)正相关。
  • 抽样概率正比于点击次数^0.75 ,0.75是一个经验值。

Batch内负样本

image-20250326084811752

image-20250326085257077

解决对热门物品过度打压思路

image-20250326085618898

困难负样本

困难负样本是被召回但是被排序淘汰的物品。这些物品被召回说明其跟用户的兴趣多少有点关系,被排序淘汰说明用户对该物品的兴趣不够强。对正负样本做二元分类时,这些物品容易被分错集容易被误判为正样品。

训练双塔模型是个二元分类任务,让模型区分正负样本:

  • 全体物品(简单)分类准确率高
  • 被粗排淘汰的物品(比较困难)因跟正样本有些相似,容易分错
  • 精排分数靠后的物品(非常困难)因跟正样本很相似,更容易分错

工业界常见做法——混合简单,困难负样本作为训练数据

image-20250327082105555

常见错误

如果你把曝光但未被点击的物品作为负样本来训练双塔模型,那么恭喜你踩雷了。

为什么不能把已曝光未点击的物品当作召回的负样本?从选择负样本的原理出发。

image-20250327083256905

召回的任务是区分用户不感兴趣的物品和可能感兴趣的物品。

排序的任务是区分比较感兴趣的和非常感兴趣的。

有曝光没点击:物品可以通过精排模型曝光给用户,说明该物品已经非常匹配用户的兴趣点了,每次给用户展示几十个物品,用户不可能每个都点击,没有点击不代表对该物品不感兴趣,可能是碰巧没有点击或者可能是用户对别的物品更感兴趣。

故有曝光没点击的物品已经算是非常匹配用户的兴趣了,只是可能不是非常感兴趣,这可以作为排序的负样本,甚至可以作为召回的正样本但不应该把这类当作召回的负样本。

小结,曝光没点击的物品只适合于训练排序模型,不适用于训练召回模型(工业界的共识,反复做实验得出的结论)。

总结

  1. 正样本:曝光且有点击

  2. 简单负样本:

    • 全体物品
    • batch内负样本
  3. 困难负样本:被召回,但被排序淘汰

  4. 曝光且未点击的物品不能做召回的负样本,可以做排序的负样本

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2325360.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《八大排序算法》

相关概念 排序:使一串记录,按照其中某个或某些关键字的大小,递增或递减的排列起来。稳定性:它描述了在排序过程中,相等元素的相对顺序是否保持不变。假设在待排序的序列中,有两个元素a和b,它们…

零基础使用AI从0到1开发一个微信小程序

零基础使用AI从0到1开发一个微信小程序 准备操作记录 准备 想多尝试一些新的交互方式,但我没有相关的开发经验,html,JavaScript 等都不了解,看了一些使用AI做微信小程序的视频教程,觉得自己也行…

基于Spring Boot的社区互助平台的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

【Elasticsearch入门到落地】10、初始化RestClient

接上篇《9、hotel数据结构分析》 上一篇我们讲解了导入的宾馆数据库tb_hotel表结构的具体含义,并分析如何建立其索引库。本篇我们来正式进入链接Elasticsearch的Java代码的编写阶段,先进行RestClient的初始化。 RestClient的初始化分为三步,…

【AI大模型系列】DeepSeek V3的混合专家模型机制-MoE架构(八)

一、什么是MoE架构 MoE架构的核心思想是将输入数据分配给不同的专家子模型,然后将所有子模型的输出进行合并,以生成最终结果。这种分配可以根据输入数据的特征进行动态调整,确保每个专家处理其最擅长的数据类型或任务方面,从而实…

HTML5贪吃蛇游戏开发经验分享

HTML5贪吃蛇游戏开发经验分享 这里写目录标题 HTML5贪吃蛇游戏开发经验分享项目介绍技术栈核心功能实现1. 游戏初始化2. 蛇的移动控制3. 碰撞检测4. 食物生成 开发心得项目收获后续优化方向结语 项目介绍 在这个项目中,我使用HTML5 Canvas和原生JavaScript实现了一…

QSettings用法实战(相机配置文件的写入和读取)

很多情况,在做项目开发的时候,将参数独立出来是比较好的方法 例如:相机的曝光次数、曝光时长等参数,独立成ini文件,用户可以在外面修改即可生效,无需在动代码重新编译等工作 QSettings便可以实现该功能 内…

机器学习——集成学习框架(GBDT、XGBoost、LightGBM、CatBoost)、调参方法

一、集成学习框架 对训练样本较少的结构化数据领域,Boosting算法仍然是常用项 XGBoost、CatBoost和LightGBM都是以决策树为基础的集成学习框架 三个学习框架的发展是:XGBoost是在GBDT的基础上优化而来,CatBoost和LightGBM是在XGBoost的基础上…

[蓝桥杯 2023 省 A] 网络稳定性

题目来自DOTCPP: 思路: ①由于题目没有告诉我们成树形结构,可能成环。因此,我们要自己构建树。 ②本体我们通过kruskal重构树,按边权从大到小排序,那么查询的两个点的最近公共祖先权值就是答案。 ③在通…

鸿蒙项目源码-天气预报app-原创!原创!原创!

鸿蒙天气预报项目源码包运行成功含文档ArkTS语言。 我半个月写的原创作品,请尊重原创。 原创作品,盗版必究!!!! 原创作品,盗版必究!!!! 原创作品…

一文聊聊接入钉钉H5微应用系统实现免登操作技术思路实现验证

一文聊聊接入钉钉H5微应用系统实现免登操作技术思路实现验证 如何创建钉钉应用实现H5端免登录创建钉钉内部应用1.进入钉钉开放平台,配置自己的应用信息2.配置应用相关信息(建议选择旧版,后续有一个token获取,新版会提示URL不安全&…

测试开发-定制化测试数据生成(Python+jmeter+Faker)

实现步骤 步骤一:使用pythonfaker随机生成测试数据 在python中开发脚本,随机生成所需要的数据。import json from faker import Faker faker Faker(locale"zh_CN")def generate_faker_user():return {"name" : faker.name(),&qu…

智能体开发平台与大模型关系图谱

架构层级分解(以飞速灵燕智能体平台为例)动态交互流程 3. 关键连接点说明 4. 典型数据流示例

LinuxTCP/UDP基础概念

TCP(传输控制协议) TCP 是一种面向连接的、可靠的、基于字节流的传输层通信协议。它的主要特点包括: 面向连接:在传输数据之前,需要通过“三次握手”建立连接;传输结束后,通过“四次挥手”断开…

【百日精通 JAVA | SQL篇 | 第一篇】初识数据库

一、数据库是什么? 数据库是一类软件,数据库的作用用于管理系统(这是一款成品软件,内部应用了很多数据结构)。 二、数据库分为两大类 1.关系型数据库 对于数据的要求比较严格 通常是以表格的方式来组织数据的。(和Excel差不多) 典型代表…

大数据Spark(五十六):Spark生态模块与运行模式

文章目录 Spark生态模块与运行模式 一、Spark生态模块 二、Spark运行模式 Spark生态模块与运行模式 一、Spark生态模块 Spark 生态模块包括:SparkCore、SparkSQL、SparkStreaming、StructuredStreaming、MLlib 和 GraphX。与 Hadoop 相关的整个技术生态如下所示…

Gossip协议:分布式系统中的“八卦”传播艺术

目录 一、 什么是Gossip协议?二、 Gossip协议的应用 💡三、 Gossip协议消息传播模式详解 📚四、 Gossip协议的优缺点五、 总结: 🌟我的其他文章也讲解的比较有趣😁,如果喜欢博主的讲解方式&…

Oracle初识:登录方法、导入dmp文件

目录 一、登录方法 以sys系统管理员的身份登录 ,无需账户和密码 以账户密码的用户身份登录 二、导入dmp文件 方法一:PLSQL导入dmp文件 一、登录方法 Oracle的登录方法有两种。 以sys系统管理员的身份登录 ,无需账户和密码 sqlplus / a…

微服务架构中的精妙设计:环境和工程搭建

一.前期准备 1.1开发环境安装 Oracle从JDK9开始每半年发布⼀个新版本, 新版本发布后, ⽼版本就不再进⾏维护. 但是会有⼏个⻓期维护的版本. ⽬前⻓期维护的版本有: JDK8, JDK11, JDK17, JDK21 在 JDK版本的选择上,尽量选择⻓期维护的版本. 为什么选择JDK17? S…

【Yolov8部署】 VS2019+opencv-dnn CPU环境下部署目标检测模型

文章目录 前言一、导出yolov8模型为onnx文件二、VS2019配置及opencv环境配置三、opencv部署总结 前言 本文主要研究场景为工业场景下,在工控机与工业相机环境中运行的视觉缺陷检测系统,因此本文主要目的为实现c环境下,将yolov8已训练好的检测…