AAAI 2020|SetRank: 一种针对推荐系统隐式反馈的贝叶斯协同排序算法

你和“懂AI”之间,只差了一篇论文

很多读者给芯君后台留言,说看多了相对简单的AI科普和AI方法论,想看点有深度、有厚度、有眼界……以及重口味的专业论文。

为此,在多位AI领域的专家学者的帮助下,我们解读翻译了一组顶会论文。每一篇论文翻译校对完成,芯君和编辑部的老师们都会一起笑到崩溃,当然有的论文我们看得抱头痛哭。

同学们现在看不看得懂没关系,但芯君敢保证,你终有一天会因此爱上一个AI的新世界。

读芯术读者论文交流群,请加小编微信号:zhizhizhuji。等你。

这是读芯术解读的第149篇论文


AAAI 2020

SetRank:一种针对推荐系统隐式反馈的贝叶斯协同排序算法

SetRank: A Setwise Bayesian Approach for Collaborative Ranking

from Implicit Feedback

中国科学技术大学、百度

原文
Chao Wang, Hengshu Zhu, Chen Zhu, Chuan Qin, Hui Xiong, SetRank: A Setwise Bayesian Approach for Collaborative Ranking from Implicit Feedback, In Proceedings of the 34th AAAI Conference on Artificial Intelligence (AAAI 2020), New York, USA

本文是中国科学技术大学和百度TIC联合发表于AAAI2020的工作,文章提出一种新颖的针对推荐系统隐式反馈的贝叶斯协同排序算法SetRank。相比传统方法,SetRank能够更好地贴合推荐系统中隐式反馈的特点,以提供更好的排序结果。具体地,SetRank旨在最大程度地提高setwise偏好结构的后验概率,本文提供了矩阵分解和神经网络两种SetRank的实现方法。理论分析和实验结果都表明我们的方法可以有效地提高隐式反馈的推荐效果。

1.引言

推荐系统已广泛部署在许多流行的在线服务中,以增强用户体验和业务收入。作为个性化推荐的一项代表性任务,协同排序旨在根据用户从历史反馈中学到的偏好为用户提供备选物品的排名。用户反馈可以分为两种主要类型,一是显式反馈,二是隐式反馈。显式反馈指的是拥有明确的评分标准的数值反馈,例如豆瓣电影的五星制评分。与显式评分不同,隐式反馈仅包含正样本和未观测样本,而不是已分级的用户偏好。常见的隐式反馈包括点击记录,购买记录,点赞记录等等。在日常生活中,大多数用户的反馈都是隐式的,而非显式的。这为构建推荐系统带来了新的研究挑战,因为隐式反馈中并没有明确的未观测样本,而只有未观测样本。因此,近年来,基于隐式反馈的协同排序任务越来越引起人们的关注。

传统的协同排序方法以pairwise和listwise方法为代表,目前已有很多的相关研究工作,也取得了很好的实践效果,但这些方法仍然存在一些关键性的挑战。图1展示了不同的协同排序方法的大体思路。pairwise方法通常以一个正反馈物品和一个未观测物品组成的物品对作为基础,对隐式反馈中的偏好结构进行建模,这种做法容易出现假设与实现上的独立性不一致问题。例如,目前使用最广泛的pairwise方法中的贝叶斯个性化排序(BPR)方法试图最大化正反馈和未观测反馈之间的成对比较概率。这种处理要求严格假设两个物品具有独立的成对偏好,以此作为构建损失函数的基础。但是,如图1所示,如果用户1存在的偏好对A>B和C>D,则由于隐式反馈是0/1数值的,因此用户1也必须存在偏好对A>D和C>B。换句话说,在实际的偏好对构建过程中,我们有。因此偏好对之间的独立性无法保障,从而影响了pairwise损失函数的优化结果。一些后续的pairwise研究选择通过考虑用户和物品的组信息来放松独立性假设。例如,GBPR引入了更丰富的用户组信息,而Cofiset则定义了用户对物品组的偏好。但是,独立性不一致的问题仍然存在 。

图1.不同协同排序方法对比

Listwise方法的做法是在物品列表上定义偏好大小的概率关系。对于listwise方法,关键的挑战是由于要用到整个列表的排列熟悉怒,如何有效地处理具有相同评级值的项目是很重要的,特别是因为隐式反馈中没有明确的分级评分,而是0/1评分,这时会有大量的物品评分相同,如何指定这些物品的排序顺序是一个难题。此外,listwise方法常通过计算交叉熵来计算观测和预测列表中排名靠前的P项物品之间的差异性,这将导致关于P的指数计算复杂度,这就是为什么许多listwise方法通常将P 设置为1的原因。

为了避免现有协同排序方法的局限性,在本文中,我们提出了一种新颖的setwise贝叶斯协同排序方法,我们称其为SetRank。SetRank可以更好地贴合推荐系统中隐式反馈的特征。例如,与成对方法相比,我们独立性假设更弱,就不会出现独立性不一致的问题。SetRank方法将将原始的评分记录转换为每个正样本与一组未观测样本之间的偏好比较,即每个用户相对于未观测到的物品集合,都更喜欢正反馈物品,如图1所示。此外,由于原始数据中不包含未观测到的物品之间的偏好比较,也不包含正样本物品之间的偏好比较,因此可以不对未观测物品集合或者正样本物品集合内部进行排序,这就放宽了listwise方式中的排列限制。因此,SetRank能够以更贴合实际场景的方式对隐式反馈的数据进行建模,同时避免了pairwise和listwise排序方法的弊端。在本文中,我们从理论估计和实验验证两方面验证了SetRank模型的效果。一方面,我们给出了SetRank方法的理论误差风险上确界,另一方面大量实验结果证明了SetRank能够超过目前最先进的一些协同排序方法。

2. 模型框架

SetRank方法建立在深度理解用户隐式反馈数据含义的基础上设计和实现,总体上可以分为两个主要的部分:(1)偏好结构建模:通过利用用户的历史评分记录来对用户的偏好结构进行建模,发掘用户的真实偏好和需求,从而学习并预测出用户对不同物品的评分值,这里的评分值仅用于物品排序来为用户推荐评分高的物品,不对应用户的真实评分数据(在隐式反馈中真实评分是0/1数据);(2)评分建模:这一部分指的是建立一个机器学习预测模型来得到用户的评分预测结果。需要注意的是,这两个部分并不是分开的,评分建模需要在偏好结构建模的指导下才能学习到用户的真实偏好属性,从而给出更精准的评分预测结果。

2.1问题形式化定义

本文用来表示用户的学习记录矩阵,其中N为用户数量,M为物品数量,若用户i与物品l有交互记录,则记为1,反之则记

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
AAAI 2020的教程“可解释人工智能”将重点介绍可解释人工智能的概念、方法和应用。可解释人工智能是指人工智能系统能够以一种可理解的方式解释其决策和行为的能力。该教程将涵盖可解释人工智能的基本原则和方法,包括规则推理、可视化技术、模型解释和对抗性机器学习等。 在教程中,我们将首先介绍可解释人工智能的背景和意义,解释为什么可解释性对于人工智能的发展至关重要。然后,我们将深入探讨可解释人工智能的基本概念和技术,例如局部解释和全局解释。我们还将介绍一些关键的可解释性方法,如LIME(局部诠释模型)和SHAP(SHapley Additive exPlanations),并解释它们的原理和应用场景。 此外,我们还将探讨可解释人工智能在各个领域的具体应用,包括医疗诊断、金融风险管理和智能驾驶等。我们将分享一些成功的案例和实践经验,探讨可解释人工智能在实际应用中的挑战和解决方案。最后,我们还将讨论未来可解释人工智能的发展趋势和挑战,展望可解释性在人工智能领域的重要性和前景。 通过参加该教程,学习者将能够全面了解可解释人工智能的概念、方法和应用,理解其在实际应用中的重要性,掌握一些关键的可解释性技术和工具,并对可解释人工智能的未来发展有一个清晰的认识。希望通过这次教程,能够为学习者提供一个全面而深入的可解释人工智能学习和交流平台。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值