Bayesian Personalized Ranking 算法解析及Python实现 (4)

不同的查询,其相关文档数量差异很大,所以转换为只有十几个对应的文档对,这对机器学习系统的效果评价造成困难。

4. ListWise Approach

1. 单文档方法(PointWise Approach)将训练集里每一个文档当做一个训练实例。

2. 文档对方法(PairWise Approach)将同一个查询的搜索结果里任意两个文档对作为一个训练实例。

3. 文档列表方法(ListWise Approach)与上述两种表示方式不同,是将每一个查询对应的所有搜索结果列表整体作为一个训练实例,这也是为何称之为文档列表方法的原因。

4. 文档列表方法根据K个训练实例(一个查询及其对应的所有搜索结果评分作为一个实例)训练得到最优评分函数F。对于一个新的用户查询,函数F对每一个文档打分,之后按照得分顺序由高到低排序,就是对应的搜索结果。

对于某个评分函数 f 来说,对3个搜索结果文档的相关性打分,得到3个不同的相关度得分F(A)、 F(B)和F(C),根据这3个得分就可以计算6种排列组合情况各自的概率值。不同的评分函数,其6种搜索结果排列组合的概率分布是不一样的。所以可以通过不同的评分函数分布与实际分布比较得出最优的那个评分函数作为排序模型。如何判断 h 和 f 与虚拟的最优评分函数 g 更接近?一般可以用两个分布概率之间的距离远近来度量这种相似性,比如 KL散度等。

Bayesian Personalized Ranking 算法解析及Python实现

5. Bayesian Personalized Ranking 5.1 BPR介绍

在推荐系统中,分为召回和排序两个阶段。

贝叶斯个性化排序属于Pairwise Approach。

 BPR算法的五个核心知识点:

每个⽤户之间的偏好⾏为相互独⽴

同⼀⽤户对不同物品的偏序,即排序关系相互独⽴

表⽰⽤户u对 I 的偏好⼤于对 j 的偏好

满⾜完整性,反对称性和传递性

采用最⼤后验估计计算参数

 其中,完整性,反对称性和传递性的定义如下:

Bayesian Personalized Ranking 算法解析及Python实现

5.2 BPR参数

在推荐系统中,排序算法通常完成对候选商品的二次筛选,也叫Reranking。这里的BPR算法借鉴了召回步骤中协同过滤算法的思想: 矩阵分解 。

对于用户u:

Bayesian Personalized Ranking 算法解析及Python实现

对于所有用户:

Bayesian Personalized Ranking 算法解析及Python实现

其中用户矩阵W:

Bayesian Personalized Ranking 算法解析及Python实现

物品矩阵H:

Bayesian Personalized Ranking 算法解析及Python实现

5.3 BPR参数计算方法

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpfszx.html