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

FunPapers[2]:www‘24 「快手」连续特征单调性建模

Enhancing Interpretability and Effectiveness in Recommendation with Numerical Features via Learning to Contrast the Counterfactual samples

  • https://dl.acm.org/doi/pdf/10.1145/3589335.3648345,www 2024.

FunPapers系列第二篇,来看一下手子在www 2024上发表的CCSS,《Enhancing Interpretability and Effectiveness in Recommendation with Numerical Features via Learning to Contrast the Counterfactual samples 》。

核心思想

通过对比学习与反事实样本合成,专门建模连续特征的“单调性”,提升推荐系统中数值特征的可解释性和有效性。

论文内容概述

深度模型在当前工业推荐系统中引用广泛,数值特征则是深度模型输入的重中之重,但现有研究较少关注数值特征与模型输出之间的单调性关系,而这对于模型的可解释性和准确性具有重要意义,特别是在搜广推领域。

数值特征在深度模型中通常以两种方式输入,标量或离散化后向量化,如下图所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

针对该问题,论文提出了一种模型无关的对比学习框架CCSS(Contrastive learning framework with Counterfactual Samples Synthesizing),通过合成反事实样本和事实样本,并学习对比这些样本,以建模数值特征与模型输出之间的单调性关系,进而提升推荐系统的可解释性和有效性。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

方法介绍

论文提出的CCSS框架主要包含两个部分:反事实样本合成和对比学习目标函数,具体方法如下:

  • 反事实样本合成:首先计算每个数值特征的重要性,以此作为被扰动的概率。对于每个原始样本,选择一个数值特征进行扰动,生成一个反事实样本和一个事实样本,同时保持其他特征不变。
    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    合成过程如下:

    1. 对于正样本,反事实样本通过将数值特征扰动到左邻域桶的中心生成,事实样本通过扰动到右邻域桶的中心生成;
    2. 对于负样本则相反。此外,还考虑了边界条件,当数值特征位于最左侧或最右侧桶时,只生成一个反事实样本。
    3. 边界条件。边界是指样本的特征值位于离散化后的边界,这种情况只合成一个样本。
  • 对比学习目标函数:通过对比生成的样本与原始样本的模型输出,学习数值特征与模型输出之间的单调性关系。
    合成上来看,就是基于合成样本和原始样本之间的关系构建对比损失:
    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    • 对于正样本,期望事实样本的得分高于原始样本,原始样本的得分高于反事实样本;
    • 对于负样本则相反。为此,引入了成对损失函数,采用hinge损失,并通过超参数控制成对损失与点损失之间的权衡。

实验介绍

作者在常用的模型上尝试了CCSS,离线指标和线上实验都取得了非常显著的效果:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

离线的指标咱就不看了,看看论文中提出的衡量数值特征单调性的指标:

M o n o _ r a t e = # M o n o t o n e _ p a i r s ( D ) # C o m p a r a b l e _ p a i r s ( D ) Mono\_rate = \frac{\#Monotone\_pairs(D)} {\#Comparable\_pairs(D)} Mono_rate=#Comparable_pairs(D)#Monotone_pairs(D)

其中:

  • #Monotone_pairs(D):模型预测结果满足特征单调性样本对数量。
  • #Comparable_pairs(D):从标签和合成样本间关系来看,预期的单调样本数量。

从实验数据来看,增加CCSS后,头部特征的单调性有明显的提高,这点来看还是比较符合预期的。

总体来看,论文的思路比较简单、直接,有机会可以一试!

相关文章:

  • 【RocketMQ 存储】消息重放服务-ReputMessageService
  • Java与DeepSeek的完美结合:开启高效智能编程新时代 [特殊字符]
  • JavaSE:数组
  • Pygame中自定义事件处理的方法2-2
  • Linux-文件IO
  • 蓝桥杯篇---8位 ADC/DAC转换芯片 PCF8591
  • AtCoder Beginner Contest 393 —— E - GCD of Subset 补题 + 题解 python
  • 2025-02-16 学习记录--C/C++-PTA 7-21 求特殊方程的正整数解
  • 【css】超过文本显示省略号
  • nodejs:express + js-mdict 网页查询英汉词典,能显示图片
  • 线程池有哪几种状态?
  • AI与SEO协同:智能关键词挖掘与精准部署策略
  • 以若依移动端版为基础,实现uniapp的flowable流程管理
  • 【Spring Boot】SpringBoot自动装配-Import
  • TestHubo简介与安装
  • 让编程变成一种享受-明基RD320U显示器
  • 【中间件】Pulsar集群安装
  • 神经网络新手入门(4)Transformer的创世纪(2017)
  • 0x02递推与递归
  • HTML5 起步
  • 俄外长与美国务卿通电话,讨论俄美接触等问题
  • 上海公办小学验证今起开始,下周一和周二分区进行民办摇号
  • 武康大楼再开发:一栋楼火还不够,要带火街区“朋友圈”
  • 当智慧农场遇见绿色工厂:百事如何用科技留住春天的味道?
  • 首次公布!我国空间站内发现微生物新物种
  • 网易有道一季度净利润同比增长247%:有能力在今年实现更强劲的利润增长