作者:一元,公众号:炼丹笔记

最近推荐相关的研究主要集中在探索神经网络的结构等,然后采用负采样对模型进行高效的学习。然而,这么做会导致有两方面的问题没有被考虑仔细:

  • 负采样会带来较大的波动;基于采样的方法很难获得最优的排序结果;
  • 尽管heterogeneous的反馈在许多在线系统中被广泛使用,(例如view,click,purchase),大多数现有的方案只会使用用户的一种反馈,例如购买等;

本文提出了一个新的非采样的迁移学习解决方案,我们称其为 Efficient Heterogeneous Collaborative Filtering(EHCF)的Top-N推荐。它不仅可以对细粒度的用户项关系进行建模,而且能够以较低的时间复杂度从整个异构数据(包括所有未标记数据)中高效地学习模型参数。

在三个实际数据集上的大量实验表明,EHCF在传统(单一行为)和异构场景中都显著优于最先进的推荐方法。此外,EHCF在训练效率上有显著提高,使其更适用于实际的大型系统。

在之前的许多工作当中,有两个重要的问题还没有非充分考虑,

  1. 很多神经网络为了提升模型的训练效率,采用负采样,但是这么做会出现模型训练不稳定,对于采样的分布以及采样的比例较为敏感。
  2. 之前的工作缺乏用户行为之间的关系的深度探索,每个行为都会有自己对应的上下文以及非常强的迁移关系。

问题定义

模型一览

模型整体框架如下:

用户和商品会先被投影为一个dense向量表示,user-item的对(u,v),我们使用用户以及他对应的商品交互作为输入,此外,这边我们不进行采样,使用一种高效的优化方法。

对于每一个user-item的实例(u,v),映射函数可以定义为:

1. Transfer-based Multi-behavior Prediction

不同的行为之间是存在转化关系的,两个行为之间的关系可以通过下面的方式来定义:

其中t表示第k个行为之前的行为,初始的行为是随机初始化的(在推荐里面就是view)。

2. Efficient Optimization without Sampling

此处我们使用加权的regression loss

基于内积乘法操作的decouple的操作,

我们将上式代入得到:

最终对于单个第k个行为的整个数据集的loss就是:

3. Multi-Task Learning

讨论

1. 效果比较

  • 使用异质反馈的方法通常优于仅利用购买行为的方法,这表明了用户异质反馈的互补性;
  • 使用全数据学习策略的方法通常比基于样本的方法表现更好;

2. 解耦实验

  • 将View数据和购物车数据添加到我们的模型中都会带来改进,从而验证了辅助行为对用户偏好建模的有效性。
  • 我们的方法的显著改进也表明了应用非抽样策略从异质反馈中学习的必要性。此外,没有迁移和没有MTL的变体的性能都比完整的EHCF模型差,这验证了所提出的基于迁移的预测层和多任务训练组件的有效性;

3. 效率分析

  • EHCF比NCF和NMTR在单个行为数据以及heterogeneous数据上的效果都好;

4. 解决数据稀疏问题

  • 使用其它的信息可以缓解数据标签稀疏的问题(例如购买等);

5. 参数的影响

本文提出了一种新的端到端推荐模型EHCF。所提出的EHCF具有两个关键特性:

  • 采用新设计的优化方法进行高效的基于全数据的模型学习;
  • 通过传递方式关联每个行为的预测,捕捉不同行为之间的复杂关系。

在三个真实数据集上的大量实验表明,EHCF不仅比现有的推荐模型有很大的提高,而且训练过程也相当快。这项工作补充了主流的基于样本的神经网络推荐模型和隐式反馈,为神经推荐模型的研究开辟了一条新的途径。所设计的高效的基于整体数据的策略有可能使许多人受益只观察到正面数据的任务。未来的工作包括在网络嵌入和多标签分类等其他相关任务中探索我们的EHCF模型。我们还将尝试扩展我们的优化方法,使它适用于学习非线性模型。

参考文献

1、看了很多负采样的论文,最后我选择不采样了。

2、Efficient Heterogeneous Collaborative Filtering without Negative Sampling for Recommendation:http://www.thuir.cn/group/~mzhang/publications/AAAI2020-Chenchong.pdf

3、https://github.com/chenchongthu/EHCF/blob/master/code/EHCF.py

更多干货,请关注微信公众号:炼丹笔记

推荐算法炼丹笔记:非采样的负样本相关推荐

  1. 推荐算法炼丹笔记:推荐系统采样评估指标及线上线下一致性问题

    本文对于推荐系统中的采样评估指标进行了讨论,内容略多, 还有一些数学推导, 有兴趣的可以去阅读文末给出的原始论文链接, 此处直接列出核心观点: 在评估推荐算法的效果时,能不采样就不采样! 除了AUC, ...

  2. 推荐算法炼丹笔记:排序模型CTR点击率预估系列

    微信公众号:炼丹笔记 ​CTR点击率预估系列家谱 炼丹之前,先放一张CTR预估系列的家谱,让脉络更加清晰. (一)FiBiNET:结合特征重要性和双线性特征交互进行CTR预估 1.1 背景 本文发表在 ...

  3. 推荐算法炼丹笔记:CTR点击率预估系列入门手册

    ​CTR点击率预估系列家谱 炼丹之前,先放一张CTR预估系列的家谱,让脉络更加清晰. (一)FiBiNET:结合特征重要性和双线性特征交互进行CTR预估 1.1 背景 本文发表在RecSys 2019 ...

  4. 推荐算法炼丹笔记:如何让你的推荐系统具有可解释性?

    作者:一元, 公众号:炼丹笔记 可解释性和有效性是构建推荐系统的两大关键成份,之前的工作主要关注通过引入辅助信息来获得更好的推荐效果.但这些方法会存在下面的两个问题: 基于神经网络的embedding ...

  5. 推荐算法炼丹笔记:科学调参在模型优化中的意义

    作者:九羽 ,公众号:炼丹笔记 基于Embedding的推荐算法模型一直是近几年研究的热门,在各大国际会议期刊都能看到来自工业界研究与实践的成果.MF(Matrix Factorization)作为传 ...

  6. 推荐算法炼丹笔记:序列化推荐系统

    作者:一元 公众号:炼丹笔记 特约审稿:杰少 背景 序列推荐系统(SRS)不同于传统推荐系统(RSs)包括协同过滤和基于内容的过滤,SRSs试图理解和建模用户的连续行为.用户与物品之间的交互作用以及用 ...

  7. 推荐算法炼丹笔记:阿里序列化推荐算法ComiRec

    作者:十方 公众号:炼丹笔记 Controllable Multi-Interest Framework for Recommendation 1.ComiRec与众不同之处 该论文是阿里在2020年 ...

  8. 推荐算法炼丹笔记:做向量召回 All You Need is 双塔

    作者:十方,公众号:炼丹笔记 对于基于向量召回,那就不得不提到双塔.为什么双塔在工业界这么常用?双塔上线有多方便,真的是谁用谁知道,user塔做在线serving,item塔离线计算embeding建 ...

  9. 推荐算法炼丹笔记:Deep Bayesian的多目标推荐

    作者:一元 公众号「炼丹笔记」 背景 本文的算法十分通用,在周围朋友诸多的实践中,基本都取得了一定的提升.虽然该论文未能发表,但是实践意义巨大,估价一个亿!废话不多说,直接学习! 电商平台的发展, 评 ...

最新文章

  1. C#基础篇--文件(流)
  2. 51nod 1115 最大M子段和 V3
  3. 引用数据类型的深拷贝
  4. java异步调用数据库存储过程详解,java中如何调用存储过程
  5. 《编译原理》实验预习报告——基于YACC的TINY语法分析器的构建
  6. 43 | 套路篇:网络性能优化的几个思路(上)
  7. oracle chr()和字符连接
  8. 查找一个类的好方法,可节省做很多层的传递
  9. 没有找到dllregisterserver输入点_Excel教程:框内打的几种输入方法,值得收藏
  10. _blank开新窗口不符合标准?
  11. (实用软件分享)屏幕取色器ColorPix
  12. gson 不忽略空_仅在不为null或不为空的情况下,Gson序列化字段
  13. 【日常水题——快速幂系列】
  14. Hyperscan Windows 编译指南
  15. 字节跳动的外包,值得去吗?
  16. CNCC——多模态会议
  17. C语言 FlappyBird×马里奥
  18. Windows 10正式版的历史版本
  19. h5 app跳转客服咨询 临时会话 (没有开通在线咨询、无法会话)
  20. 计算机如何接6块显卡,双显卡怎么切换到独立显卡 5步轻松搞定【图文教程】

热门文章

  1. 八:MVC初始化数据库
  2. Js 变量声明提升和函数声明提升
  3. ORB-SLAM(四)追踪
  4. [libjingle学习笔记]编译注意事项
  5. windows winrar 指令_【转】winrar命令行详解
  6. C++之 static 关键字
  7. 原核表达常见问题解答
  8. JavaSE(十六)——反射
  9. 人工智能 | 人工智能的发展历程
  10. matlab simulink 视频,使用 MATLAB 和 Simulink 让控制系统的开发更轻松