在推荐系统的实现中,几乎总会遇到从较多候选集中为用户选取特定的少数几个物品进行推荐,这本质上是一个Ranking问题。
在推荐场景中用户更缺乏耐性,对推荐结果的消费也十分有限。因此,排序的好坏直接决定了用户对一个准确率为90%的推荐候选集的满意度是否真的有90%。
这里我们为大家介绍一种“基于贝叶斯后验优化的个性化排序算法”:Bayesian Personalized Ranking。
其本身并不优化用户对物品的评分,而只藉由评分来优化用户对物品的排序。按照论文的说法:it is a real ranking algorithm.
BPR算法过程详解:
数据pair化预处理:
BPR算法将用户对物品的评分(显示反馈“1”,隐式反馈“0”)处理为一个pair对的集合<i,j>,其中i为评分为1的物品,j为评分为0的物品。假设某用户有M个“1”的评分,N个“0”的评分,则该用户共有M*N个pair对。
这样数据集就由三元组 <u,i,j>表示,该三元组的物理含义为:相对于物品“j”,用户“u”更喜欢物品“i”。
数据假设:
- 每个用户之间的偏好行为相互独立
- 同一用户对不同物品的偏序相互独立
则优化问题为极大化如下目标:
其中theta为所求模型,具体包括:表示用户的隐含因子矩阵P,及表达物品的隐含因子矩阵Q。
其中关于似然部分:
我们假设先验服从如下分布:
则先验的概率密度函数为:
基于上述假设,优化目标进一步展开得到:
对应的最小化问题为:——其中 λθ 为正则系数"model specic regularization parameters"。
采用SGD求解上述最小化问题,分别针对pu qi qj求偏导如下:
偏导即为梯度下降方向,模型迭代求解的公式如下:
其中α为学习速率。
关于偏序关系构造的问题:
论文中将用户有过反馈(如点击、浏览、购买等)的物品标记为“1”,而将矩阵中剩余其他所有的物品都标记为“0”。
论文作者认为:
基于pair-wise的偏序优化,可以避免point-wise模型在对feature-item进行预测时失效(因为feature-item在训练时全被标记为“0”)的问题。
而且feature-item包括两类:1,用户真正讨厌的;2,用户missing的。
对于某个用户来说,在训练时都被标为"0"的item,在预测时的评分也可以排序,因此不影响ranking任务的完成。
我认为:
即使用pair-wise的优化方式,可以对训练时标记为“0”的item在预测时进行ranking。
但这本身是“矬子里面拔高个”,且训练数据与用户的实际偏好不符。而且,从数据量考虑,也很不经济。
合理的做法:
一般推荐业务场景,都是将一个有限的物品集合(全部物品的子集,通常很小)提供给用户。
我们只将提供给用户,但用户未有反馈的物品标记为“0”。对“未知”给与足够的尊重。
而且,将数据pair化过程限制在某次交互(或某个session)内。
如下图示: ——用户U1同有两次交互,共10个item
则pair化后的数据为:
相关推荐
BPR-Bayesian Personalized Ranking from Implicit Feedback 数据收集及随机抽取方面的资料
个人化推荐系统算法BPR实现,上面有具体的实现代码
1.2 BPR建模思路贝叶斯个性化排序(Bayesian Personalized Ranking, 以下简称BPR),为用户进行个性化推荐需要实现一种排序的机
人工智能-项目实践-推荐算法-基于implicit库的常用协同过滤推荐算法实现 ...BRP(Bayesian Personalized Ranking),贝叶斯个性化排序 Logistic Matrix Factorization 使用Cosine, TF-IDF 或 BM25的近邻模型
FrankWolfe_BPR配流算法,用于基于BPR函数的配流方法
最后通过在贝叶斯排序模型(Bayesian personalized ranking,BPR)中引入重新构建的信任模型及用户特征得到优化的模型参数并生成最终的项目排序列表。通过实验仿真,证明了TSBPR模型可以提高推荐性能和有效解决冷...
基于供应链的BPR在订货配送物流中的应用模式研究zip,基于供应链的BPR在订货配送物流中的应用模式研究
ERP和BPR在物资管理中的综合应用rar,ERP,BPR,物资管理
BPR业务计划流程重组经典应用课程
改进的基于过程代数的BPR方法及应用研究,蒋忠中,汪定伟,针对基于过程代数的BPR方法在描述和分析复杂业务流程时存在的不足,提出了改进的基于过程代数的BPR方法,并应用该方法描述和分析传
反之 ,信息技术的应用也只有在 BPR思想的指导下 ,才能避免误入“黑洞”,打破信息弧岛、真正实现资源的共享 .惟有先进的信息技术与 BPR思想相结合 ,双向驱动、相辅相成 ,才能达到再造运作流程、优化企业经营模式、...
BPR贝叶斯个性化推荐算法—推荐系统基础算法(含python代码实现以及详细例子讲解).zip
BPR业务流程重组经典应用课程.doc
To pursue more success or to be outstanding, many companies apply BPR to breakthrough big issues, to increase efficiency, quality and reduce cost. This paper first introduce what is BPR, the ...
erp&bpr培训教材.
业务流程重组(BPR)业务流程重组(BPR)业务流程重组(BPR)业务流程重组(BPR)
ERP系统信息化资料:ERP之BPR流程图(以此强化TOMY‘S BPR).doc
某公司BPR与ERP应用研讨.pptx
BPR算法数据集 train.txt和test.txt