当前位置: 首页 > 科技观察

阅读贝叶斯个性化排名算法_0

时间:2023-03-22 17:17:48 科技观察

【.com原稿】正如哲学有不同的流派一样,推荐系统的算法设计思路也有不同的流派。学习排名恰好是其中一种类型。熟悉RecSys等推荐系统国际会议的从业者可能会发现,从2010年开始的几年里,出现了很多基于排序学习的推荐系统算法。从BayesianPersonalizedRanking(BPR)到后来的CollaborativeLessisMoreFiltering(CLiMF)以及GapFM、XCLiMF等算法,推荐系统领域百家争鸣,百花齐放。排序学习和协同过滤及矩阵分解的设计思路与后续的深度学习的主要区别在于,排序学习将推荐系统视为一个排序问题。也就是说,如何向用户推荐产品的问题变成了如何对用户可能喜欢的项目集合中的项目进行排序的问题。在这个过程中,算法并不着眼于准确预测用户喜欢的物品的评分,而是以物品之间的顺序关系为优化目标。排名学习的英文名称是LearningtoRank。根据不同的优化目标,可以分为三类:Point-wiseLearningtoRankbasedonpoints和Pair-wiseLearningtoRankbasedonrelationshippairs。和列表学习排名。基于点的排序学习本质上是一种传统的分类算法,如SVM、逻辑回归等,都属于基于点的排序学习。项目集合中两个项目之间的关系。本章将要讨论的贝叶斯个性化排名算法属于此类算法;list-basedrankinglearning强调的是itemlist在itemcollection中的整体排序关系,后续章节会展开讨论的CollaborativeLessisMoreFiltering算法就属于这一类。这类算法以项目集合中项目评分的整体排序关系作为最终的优化目标。BayesianPersonalizedRanking的整体思路是这样的:假设我们现在有N个视频,每个视频有两种用户行为:被用户点击和没有被用户点击。现在设置用户对item的评分如下:用户点击过的视频评分+1,视频的一部分是从用户没有点击过的视频中采样的。这部分视频被认为是用户不喜欢的视频,评分为-1。.BayesianPersonalizedRanking首先假设用户对item的评分背后的模型是一个普通的模型,比如矩阵分解模型,即用户对item的评分R=U'*V,其中U为用户向量,V是项目向量。该算法假设所有得分为+1的项目和所有得分为-1的项目,如果使用评分矩阵R对项目重新评分,则原始+1项目的新分数将高于原始-1项目的新分数。该算法的本质诉求是在建立满足原始+1项得分高于-1项得分的最可能排序对时,推导R得分分解后的U和V向量。***通过计算U和V的乘积,得到用户对物品的完整评分矩阵,完成整个算法过程。下面详细讨论扩展算法:首先定义排序关系,如果用户喜欢项目I1而不喜欢项目I2,则存在排序关系I1>uI2。将评分矩阵定义为参数theta,建立需要优化的贝叶斯模型。用u表示有序对(I1,I2),建立***似然函数的求解公式如下:,其中,为sigmoid函数,这里定义的贝叶斯模型是一个通用框架,具体算法模型的实现取决于计算方法。贝叶斯个性化排名优化的指标是AUC函数。BayesianPersonalizedRanking问题中AUC函数简化为如下形式:其中使用随机梯度下降求解参数:,可以看出是用户u对itemi和itemj的评分之差。我们得到了随机梯度下降过程中的参数计算方法。在实际应用中,我们只需要将其替换为特定的模型,例如协同过滤或矩阵分解。我们分别给他们代码BPR-CF和BPR-MF。现在假设是通过矩阵分解模型计算的。即=U’V=,加上随机梯度下降公式即可计算:同理,我们可以得到基于协同过滤的BPR的梯度下降公式。因为BPR是计算两个有序对之间的关??系,实际计算过程中涉及的数据量可能非常大。另外,***中的评分预测需要庞大的矩阵运算。通常在实际计算过程中,采用抽样等方法来减少计算量,而不是使用全量数据进行计算。BPR是推荐系统中pair-basedrankinglearning中一类重要的方法,广泛应用于推荐系统的各种实践中。王浩,区块链公司科学家,犹他大学本科/硕士,对外经济贸易大学在职MBA,在百度、新浪、网易、豆瓣拥有超过8年的技术研发经验等公司,曾任恒昌利通大数据部总监。擅长机器学习、数据挖掘、计算机图形学和科学可视化等技术。在TVCG、ASONAM等国际会议和期刊发表论文10篇。本科毕业论文获得IEEESMI2008国际会议最佳论文奖。【原创稿件,合作网站转载请注明原作者及出处.com】