Denoising Implicit Feedback for Recommendation!

本篇内容细节会涉及的更多一些,大家可以再次温故一遍,个人觉得非常有意思的一篇工作。

现实推荐问题的建模中,我们会使用大量的隐反馈来缓解了数据稀疏的问题,不过缺点也非常明显:

  • 隐反馈在反映用户的实际满意度方面不够清晰。

例如,在电子商务中,很大一部分点击并不能转化为购买,许多购买最终都会得到负面评价。

隐反馈的噪声特性目前研究的工作相对较少。本文则探讨了去噪内隐反馈推荐训练。我们发现:

  • 含噪声的内隐反馈会产生严重的负面影响,即拟合含噪声的数据会阻碍推荐者学习实际的用户偏好。

我们的目标是识别和剪枝噪声交互,提高推荐训练的有效性。通过观察正常的推荐器训练过程,我们发现噪声反馈在早期阶段通常具有较大的损失值。受此启发,我们提出了一种新的训练策略,称为自适应去噪训练(ADT),它能自适应地剪除训练过程中的噪声干扰。具体来说,我们设计了两种自适应损失公式:

  1. 截断损失,即在每次迭代中丢弃具有动态阈值的大损失样本;
  2. 加权损失,自适应地降低大损失样本的权重。

我们在广泛使用的binary cross-entropy loss使用,并在三个有代表性的推荐器上测试了所提出的ADT策略,并取得了很好的的效果。

我们令:

实践中,因为噪音交互的存在,将会误导模型对于用户喜好的学习。为了能更好的学习,我们需要尽可能去降低隐式反馈的影响。

此处我们已经训练了loss提出了ADT来预估,为了减少FP交互的影响,ADT动态的剪枝硬交互,(大损失),在训练的时候,特别地,ADT选择对大的loss进行丢弃或者重新加权的方式来减少训练目标的影响。本文设计两种方法来构建损失函数来降噪训练。

  • Truncated Loss:这是用动态阈值函数将硬交互的损失值截断为0;
  • Reweighted Loss:在训练过程中,它自适应地分配与较小权重的硬交互。

1.Truncated Cross-Entropy Loss

T是预定义的阈值, T-CE损失从训练中移除了一些正向的交互。在实践中,当我们固定的时候,训练效果并不是非常好,因为随着训练的增加,我们是损失会不断下降。

最终,我们的drop rate函数如下:

2. Reweighted Cross-Entropy Loss

  • 在训练的时候动态调整权重;
  • 该函数应当可以减少硬交互的影响;
  • 权重减少的程度可以轻易调整适用于拟合不同的模型和数据集;

此处我们将权重定义为:

  • 在训练的时候能生成动态权重;
  • 非常大的CE损失乘上小的权重会被降低;

超参数β动态控制hard和easy交互的权重gap。

为了避免大损失值的负相互作用对优化的影响,权重函数被修正为:

这样,就可以降低false-negative交互的影响。

由于完全依赖推荐系统来识别FP交互作用,ADT的可靠性可能会受到质疑。

目前已有的许多工作已经指出了大损失和噪声相互作用之间的联系,并解释了潜在的因果关系:

  • 深度模型的“记忆”效应。也就是说,深度模型将首先在初始训练阶段学习简单而干净的模式,然后逐渐记住所有交互,包括嘈杂的交互。因此,在早期阶段丢失深层模型有助于滤除噪声交互。

另一个问题是,放弃硬交互会限制模型的学习能力,因为有些硬交互可能比简单交互更具信息量。事实上,正如先前关于课程学习的研究[2]中所讨论的,噪声数据中的硬交互可能会混淆模型,而不是帮助模型建立正确的决策面。因此,它们可能导致较差的泛化。它实际上是去噪和学习之间的折衷。

1.试验效果

由于ADT在训练过程中删减了许多交互,因此我们探讨了ADT是否会因为交互商品稀疏而影响非活动用户的偏好学习。

  • 我们可以观察到,在所有情况下,所提出的ADT策略都比正常训练获得了稳定的性能增益,验证了ADT对非活跃用户也是有效的。

2.深度分析

  • False-positive交互作用的CE损失值逐渐增加,而总体训练损失逐渐稳定下降。增加的Loss表明推荐参数没有在False-positive交互作用上得到优化;
  • T-CE识别和丢弃这种交互作用的能力,False Positive交互作用的CE损失也呈现下降趋势,表明推荐系统仍然适合这种交互作用。
  • 它们的损失值仍然大于真实的训练损失,这表明用R-CE损失分配较小权重的假阳性交互是有效的。它会阻止模型快速拟合它们。

我们可以得出这样的结论:

  • 两种方式都减少了false-positive交互作用对推荐模型训练的影响,这也解释它们比正常训练的好的原因。

本文探讨了去为推荐模型训练去除隐式反馈的方法。我们发现了噪声隐式反馈的负面影响,并提出了自适应去噪训练策略来降低其影响。本文描述了两种损失函数:

  • 截断损失;
  • 重新加权损失。

这两种方式都是通用的,可以应用于不同的推荐损失函数、神经推荐器和优化器。在本文的工作中,我们将这两个方式应用于广泛使用的二元交叉熵损失,并在三个数据集进行了实验,这两个方式能有效地减少了噪声干扰隐式反馈,在三个数据集上都取得了非常好的效果。

一元@炼丹笔记

隐式反馈的去噪,模型取得巨大提升相关推荐

  1. 用隐式反馈做推荐模型,你做对了吗

    现在大家都习惯用隐式反馈来学习推荐模型,并作用于线上推荐系统(十方也不例外).大量的隐式反馈数据确实缓解了数据稀疏的问题,但是这些数据很多并没有反馈用户真正的需求.拿电商举例,大量的点击,并不会带来支 ...

  2. 用于推荐的隐式反馈去噪

    ** 用于推荐的隐式反馈去噪 ** 摘要 隐性反馈的普遍存在使得它们成为构建在线推荐系统的默认选择.虽然大量的隐式反馈缓解了数据稀疏问题,但缺点是它们在反映用户的实际满意度方面不够干净.例如,在电子商 ...

  3. 【矩阵分解六】处理隐式反馈-加权正则矩阵分解法WRMF (weighted regularized matrix factorization)

    改进点(跟前几篇的SVD比): 一句话总结:当数据样本只有隐式反馈时,以前的数据建模方式便不再适用.原因:1.隐式反馈中默认只有正样本(one-class问题):2.未观测到的样本默认为负样本(显然不 ...

  4. 类型转换:隐式转化(算数转换,整型提升,混合提升,赋值转换),强制转换【C语言】

    类型转换 隐式转化 算数转换 整型提升 混合提升 赋值转换 强制转换 编译器使用注意 小结 类型转换 隐式转化 不需要人为参与而产生的默认转称为隐式转化. 隐式转化,是计算机语言实现层面最难的,指针是 ...

  5. 《推荐系统实战》读书笔记——在隐式反馈系统中如何给商品打分

    之前看过的一本<pratical recommender systems>的读书笔记,这本书讲了很多网上看不到的,很实际的工程方面的考虑,规则为主,算法为辅.现在网上铺天盖地都是高大上的排 ...

  6. 隐式马可夫模型(hidden markov model,HMM)

    马可夫的有关知识整理 1.马可夫性 就是强调一个将来的状态和现在状态的一种无关性."将来"和"过去"无关的这种特性就是强马尔科夫性. 2.马可夫夫过程 既然上面 ...

  7. php 隐式路由,关于Laravel 7 的简单隐式路由模型绑定

    搜索热词 Laravel 的下一个主要发行版本 ,你可以直接在路由定义中自定义隐式路由模型绑定: Route::get('/posts/{post:slug}',function (Post $pos ...

  8. [转] 爱情的隐式马尔可夫模型(Love in the Hidden Markov Model)

    首先感谢原英文作者Tom Yeh的精彩描述,生动地讲述了HMM模型的原理,在此我斗胆用我自己的语言用中文修改描述一次. 感兴趣的可以点击这里下载latex生成的pdf 版本. 男生和女生分别是来自不同 ...

  9. laravel 模型里自定义属性_关于Laravel 7 的简单隐式路由模型绑定

    Laravel 的下一个主要发行版本 ,你可以直接在路由定义中自定义隐式路由模型绑定: Route::get('/posts/{post:slug}', function (Post $post) { ...

最新文章

  1. 2022-2028年中国塑料安瓿瓶行业市场研究及前瞻分析报告
  2. 为什么说机器学习是预防欺诈的最佳工具?
  3. java domain层_java框架中的controller层、dao层、domain层、service层、view层
  4. C++开发人脸性别识别教程(7)——搭建MFC框架之界面绘制
  5. 初级中级高级_初级职位,(半)高级职位
  6. android中viewpager+fragment,Android开发之ViewPager+Fragment
  7. php下载 微信头像图片_php 下载微信头像
  8. bootstrap使用
  9. python 函数参数的传递(参数带星号的说明) 元组传递 字典传递
  10. https 单向认证和双向认证配置
  11. weblogic安装部署 linuxs——wls1036版本
  12. WireShark下载:官网、源码
  13. 183.从不订购的客户
  14. 2022 华为软件精英挑战赛 复赛思路分享
  15. 微信小程序 转发 分享功能
  16. 周记20180413
  17. 台式计算机无线网络,台式电脑怎么设置无线网络?
  18. Arranging The Sheep(移动思维)
  19. Gradle For Android(三)Gradle优化与灵活的使用技巧
  20. QAC分析常用qacli命令

热门文章

  1. C# 调用WSDL接口及方法
  2. 160329(二)、web.xml配置详解
  3. 过滤选择器——可见性过滤选择器
  4. Hessian 初探
  5. 程序员该做的事 - 每天、每周、每月
  6. python新手最容易犯的错误_Python新手最容易犯的十大错误
  7. 接口也可以创建对象吗_面试时,一个小小的设计模式可以把你虐成渣
  8. java卡片布局显示效果_三十二、Java图形化界面设计——布局管理器之CardLayout(卡片布局)...
  9. 数学--线性代数--奇异值分解(SVD)
  10. 安装 | Visual Studio Community 2015与OpenCV的安装及下载链接