一文读懂Bayesian Personalized Ranking算法

作者: 汪昊 2019-03-27 09:00:00

一文读懂Bayesian Personalized Ranking算法

【51CTO.com原创稿件】就像哲学有不同的流派一样,推荐系统的算法设计思路也可以分为不同的流派。排序学习恰恰就是其中的一种流派。熟悉 RecSys 等推荐系统国际会议的从业者可能会发现,自 2010 年以后的若干年内,陆续出现了许多基于排序学习的推荐系统算法。从 Bayesian Personalized Ranking (BPR) 到后续的 Collaborative Less is More Filtering (CLiMF) 以及 GapFM 和 XCLiMF 等算法,在推荐系统领域出现了百家争鸣,百花齐放的局面。

排序学习的设计思想与协同过滤和矩阵分解以及随后出现的深度学习的主要不同在于排序学习把推荐系统看成是一个排序的问题。也就是如何给用户推荐商品的问题变成了如何在用户有可能喜欢的物品集合中对物品排序的问题。这个过程中算法不纠结于对于用户喜欢的物品的评分进行准确预测,而是把物品之间的顺序关系作为优化的目标。

排序学习的英文名称是 Learning to Rank ,根据优化目标的不同,共分为三类:基于点的排序学习 ( Point-wise Learning to Rank ) ,基于关系对的排序学习 ( Pair-wise Learning to Rank ),以及基于列表的排序学习( List-wise Learning to Rank )。基于点的排序学习本质上就是传统的分类算法,例如 SVM ,逻辑回归等都属于基于点的排序学习,这类排序学习通常被认为是排序学习的退化形式;基于关系对的排序学习强调的是物品集合中物品两两之间的关系,本章将要展开讨论的 Bayesian Personalized Ranking 算法就属于这一类算法;基于列表的排序学习强调的是物品集合中物品列表的整体排序关系,后续章节中将要展开讨论的 Collaborative Less is More Filtering 算法属于这个范畴,这类算法将物品集合中物品评分的整体排序关系作为最终的优化目标。

Bayesian Personalized Ranking 的整体思路如下:假设我们现在有 N 个视频,每个视频有两种用户行为:被用户点击,没有被用户点击。现在设定用户给物品的评分如下:被用户点击过的视频得分 +1 ,从没有被用户点击过的视频中进行采样得到一部分视频,这部分视频被认为是用户不喜欢的视频,得分 -1 。

Bayesian Personalized Ranking 首先假设用户对物品的评分背后的模型是某个常见模型,比如矩阵分解模型,也就是用户对物品的评分 R = U’ * V ,其中 U 是用户向量,而 V 是物品向量。算法假定所有得分 +1 的物品和所有得分 -1 的物品,如果用评分矩阵 R 重新对物品进行打分,原本得分 +1 的物品的新得分将高于原本得分 -1 的物品的新得分。

算法的本质诉求是在***可能的满足原有的 +1 物品得分高于 -1 物品得分的排序对成立的情况下,倒推出 R 评分分解后的 U 和 V 向量。***通过计算 U和 V 的乘积,得到用户对物品的完整评分矩阵,完成整个算法过程。下面我们详细的展开算法进行讨论:

首先定义有序关系,如果用户喜欢物品 I1 而不喜欢物品 I2 ,则存在有序关系 I1 >u I2 。定义评分矩阵为参数 theta, 建立需要被优化的贝叶斯模型。用 u 表示有序对 ( I1 , I2 ),建立***似然函数求解公式如下:,其中,而是 sigmoid 函数。这里定义的贝叶斯模型是一个一般性的框架,具体的算法模型实现由的计算方式而定。

Bayesian Personalized Ranking 优化的指标是 AUC 函数。AUC 函数在 Bayesian Personalized Ranking 问题中被归约为以下形式:

其中

采用随机梯度下降求解参数 得到:

可以看到就是用户 u 对物品 i 和物品 j 的评分之差。我们已经得到了随机梯度下降过程中的参数计算方法,在实际应用中只需要将用具体的模型替代即可,比如协同过滤,或者矩阵分解。我们给他们分别用代号 BPR-CF 和 BPR-MF 等表示。

现在假定是由矩阵分解模型计算得到的。也就是= U’V =,带入随机梯度下降公式计算可得到:

类似的,我们可以得到基于协同过滤的 BPR 的梯度下降公式。

BPR 因为是计算两两有序对之间的关系,所以在实际的计算过程中涉及到的数据量可能非常庞大。另外,在***进行评分预测时需要进行庞大的矩阵运算。通常在实际的计算过程中采取了抽样等方法来降低计算量,而不是采用全量数据进行计算。

BPR 是推荐系统中基于对的排序学习中的比较重要的一类方法,广泛应用在推荐系统的各种实践之中。

汪昊, 区块链公司科学家,美国犹他大学本科/硕士,对外经贸大学在职 MBA,在百度、新浪、网易、豆瓣等公司有超过8年的技术研发经验,曾担任恒昌利通大数据部总监。擅长机器学习、数据挖掘、计算机图形学和科学可视化等技术。在 TVCG 和 ASONAM 等国际会议和期刊发表论文 10 篇。本科毕业论文获国际会议 IEEE SMI 2008 ***论文奖。

【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】

人工智能 AI 算法
上一篇:ACM 宣布三位深度学习之父共同获得 2018 年图灵奖 下一篇:无论你喜不喜欢,AI云运维迎面而来
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

AI人工智能正在悄悄的操控着我们的所见所想

在日常生活中大家现在已经越来越依赖手机上各种形形色色的app了,无论我们是出门吃饭时寻找餐厅,还是在视频语音聊天,刷视频,或是网上购物shopping,无时无刻我们都离不开手机APP。

软件说明 ·  14h前
AI 崛起的第九个年头,还有哪些大有可为的地方?

2020年还剩下10个月的时间,让我们去预期,人工智能会有哪些重要的趋势呢? CB insights曾就此问题做了一个判断,并给出人工智能的九个重要研究和应用趋势。AI 科技评论在一定程度上认同这些判断,针对这 9 个趋势,我们将做以下分析。

蒋宝尚 ·  14h前
AI芯片为啥至今都没有出现“爆款”?

“AI芯片”这个新鲜的概念在过去一年间逐渐走过了普及的阶段,越来越被大众所熟知。在行业走过野蛮生长,开始加速落地、加速整合的过程中,也有更多的AI芯片公司也开始走出属于自己的差异化路线。

佚名 ·  14h前
拥有30亿张照片库的人脸识别初创公司遭黑客攻击!600多家执法机构和银行信息被盗

Clearview AI是美国纽约的一家AI面部识别创业公司Clearview设计的一款突破性的面部识别应用工具,通过拍摄陌生人的照片,然后将其上传,就可以轻松查看该人的公开照片,以及指向这些照片出现位置的链接和具体内容。

张佳、王汐 ·  14h前
数据机器学习在故障检测中的应用

本文将简要介绍几种在故障诊断领域广泛应用的机器学习技术及其各自的应用方向,并对每种技术的优缺点进行简单分析。包括:贝叶斯网络(BN),人工神经网络(ANN),支持向量机(SVM)和隐马尔可夫模型(HMM)技术。

交能网 ·  15h前
人工智能如何改造旅游业

旅游业正在慢慢地将人工智能融入到行业当中,并为游客提供个性化定制体验。在人工智能的帮助下,旅游业的业务流程和客户服务都发生了改变。

佚名 ·  20h前
人工智能技术如何将人们从深度伪造的世界中拯救出来

如今,采用深度伪造(Deepfake)生成的视频和音频,人工智能生成的文本、诗歌和歌词,假网站和假新闻进入人们的世界。人们的生活还会真实吗?

Mike Elgan ·  20h前
四种使用物联网和人工智能加速获取价值的有效方法

最近,话题转向企业如何才能更快,更有效地获取和利用物联网计划的见解。物联网和人工智能的结合为企业实现这一预期成果提供了途径。实际上,这两种技术是相辅相成的,应该紧密相连。

佚名 ·  1天前
Copyright©2005-2020 51CTO.COM 版权所有 未经许可 请勿转载