【论文精读】Aiming at the Target: Filter Collaborative Information for Cross-Domain Recommendation

会议:SIGIR 2024

论文https://dl.acm.org/doi/10.1145/3626772.3657713

代码https://github.com/Adamli12/CUT_24

摘要

研究背景

        随着推荐系统在各种场景中的广泛应用,跨域推荐系统(CDR)被提出来通过利用其他相关源域的数据来提升目标域的性能。然而,源域中的不相关信息可能会降低目标域的性能,这被称为负迁移问题

现有方法的局限性

        大多数现有的解决方法主要集中在为重叠用户设计自适应表示。这些方法依赖于模型学习到的表示,缺乏明确的约束来过滤目标域中不相关的源域协作信息,这限制了它们的跨域迁移能力。

提出的解决方案

        在本文中,我们提出了一种新的协作信息正则化用户转换(CUT)框架,通过直接过滤用户的协作信息来解决负迁移问题。在CUT中,目标域的用户相似性被用作用户转换的约束,以过滤源域的用户协作信息。首先,CUT从目标域学习用户相似性关系。然后,基于用户相似性的源-目标信息转移被用来指导用户转换层学习目标域的用户表示,并设计一个对比损失来监督用户协作信息的转移。

CUT框架的优势

        作为一种灵活且轻量级的框架,CUT可以应用于各种单域推荐系统作为基础模型,并将它们扩展到多域任务。在两个真实世界数据集上的实证研究表明,CUT有效地缓解了负迁移问题,并显著优于其他最先进的单域和跨域方法。

1 Introduction

1.1 用户相似性扭曲

        用户在源领域和目标领域之间的相似性扭曲是负迁移的主要原因之一。例如,用户在源领域可能有相似的偏好,但在目标领域有不同的偏好,这会导致负迁移。

用户相似性扭曲在跨域推荐中的影响

         如图所示,假设我们旨在从具有相似偏好的已知用户中学习目标用户 u 的用户画像。单领域方法仅利用目标领域相似用户 u_1​ 和 u_3​ 的信息。大多数以前的跨域方法还会考虑来自 u_1​ 和 u_2​ 的源领域信息。然而,uu_2​ 在源领域的相似性与目标领域相冲突,这引入了不相关的源信息,阻碍了用户 u 的跨域用户画像。

1.2 提出的解决方案:CUT框架

        提出了一种灵活且轻量级的协作信息正则化用户转换(CUT)框架通过正则化用户对的相似性来缓解负迁移问题。CUT框架包括两个主要阶段:用户相似性学习(TARGET)阶段和源-目标信息转移(TRANSFER)阶段。

        CUT框架可以无缝应用于各种单领域基础模型,而无需修改其模型结构和损失项,将其扩展到跨域任务,几乎不需要额外的参数和训练成本。

1.3 主要贡献

  • 提供了跨域推荐中负迁移发生的新视角,即用户相似性关系的扭曲。

  • 提出了协作信息正则化用户转换(CUT)框架,通过添加约束来过滤不相关的用户协作信息,从而缓解负迁移。

  • CUT是第一个扩展单领域推荐器用于多领域任务而无需修改基础模型结构和损失项的跨域框架。

  • 广泛实验表明,CUT增强的单领域基础模型在跨域任务上的表现显著优于最先进的跨域和单领域模型。

2 Related Work

2.1 跨域推荐(CDR)

        跨域推荐(CDR)旨在通过利用其他相关领域的数据来提升目标领域的性能。根据用户/物品重叠模式和跨/内领域任务,先前的工作可以分为以下几类:

  • 无重叠情况:当两个领域之间没有用户和物品重叠时,研究人员主要依赖于提取隐式聚类级模式或显式标签相关性来利用源领域的交互数据并捕捉跨域类比。

The Network Simulator, Version 3 -------------------------------- Table of Contents: ------------------ 1) An overview 2) Building ns-3 3) Running ns-3 4) Getting access to the ns-3 documentation 5) Working with the development version of ns-3 Note: Much more substantial information about ns-3 can be found at http://www.nsnam.org 1) An Open Source project ------------------------- ns-3 is a free open source project aiming to build a discrete-event network simulator targeted for simulation research and education. This is a collaborative project; we hope that the missing pieces of the models we have not yet implemented will be contributed by the community in an open collaboration process. The process of contributing to the ns-3 project varies with the people involved, the amount of time they can invest and the type of model they want to work on, but the current process that the project tries to follow is described here: http://www.nsnam.org/developers/contributing-code/ This README excerpts some details from a more extensive tutorial that is maintained at: http://www.nsnam.org/documentation/latest/ 2) Building ns-3 ---------------- The code for the framework and the default models provided by ns-3 is built as a set of libraries. User simulations are expected to be written as simple programs that make use of these ns-3 libraries. To build the set of default libraries and the example programs included in this package, you need to use the tool 'waf'. Detailed information on how use waf is included in the file doc/build.txt However, the real quick and dirty way to get started is to type the command ./waf configure --enable-examples followed by ./waf in the the directory which contains this README file. The files built will be copied in the build/ directory. The current codebase is expected to build and run on the set of platforms listed in the RELEASE_NOTES file. Other platforms may or may not work: we welcome patches to improve the portability of the code to these other platforms. 3) Running ns-3 --------------- On recent Linux systems, once you have built ns-3 (with examples enabled), it should be easy to run the sample programs with the following command, such as: ./waf --run simple-global-routing That program should generate a simple-global-routing.tr text trace file and a set of simple-global-routing-xx-xx.pcap binary pcap trace files, which can be read by tcpdump -tt -r filename.pcap The program source can be found in the examples/routing directory. 4) Getting access to the ns-3 documentation ------------------------------------------- Once you have verified that your build of ns-3 works by running the simple-point-to-point example as outlined in 4) above, it is quite likely that you will want to get started on reading some ns-3 documentation. All of that documentation should always be available from the ns-3 website: http:://www.nsnam.org/documentation/. This documentation includes: - a tutorial - a reference manual - models in the ns-3 model library - a wiki for user-contributed tips: http://www.nsnam.org/wiki/ - API documentation generated using doxygen: this is a reference manual, most likely not very well suited as introductory text: http://www.nsnam.org/doxygen/index.html 5) Working with the development version of ns-3 ----------------------------------------------- If you want to download and use the development version of ns-3, you need to use the tool 'mercurial'. A quick and dirty cheat sheet is included in doc/mercurial.txt but reading through the mercurial tutorials included on the mercurial website is usually a good idea if you are not familiar with it. If you have successfully installed mercurial, you can get a copy of the development version with the following command: "hg clone http://code.nsnam.org/ns-3-dev"
03-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值