Bayesian Personalized Ranking 算法剖析及Python完成,似然


玖富娱乐是一家为代理招商,直属主管信息发布为主的资讯网站,同时也兼顾玖富娱乐代理注册登录地址。

1. Learning to Rank 

1.1 甚么是排序算法

 为什么google搜刮 ”idiot“ 后,会涌现特朗普的照片?

 

“我们已爬取和存储了数十亿的网页拷贝在我们响应的索引地位。因此,你输入一个关键字,我们将关键词与网页举行婚配,并依据200多个因子对其举行排名,这些因子包孕相干性、新鲜度、盛行度、PageRank值、查询和文档婚配的单词个数、网页URL链接地点长度和其他人对排序结果的满意度等。在此基础上,在任何给定的时候,我们实验为该查询排序并找到最好结果。”

                                                —— GoogleCEO: 桑达尔·皮查伊 

1.2 排序算法的生长

1.2.1 初期排序手艺

最早主若是应用词频、逆文档频次和文档长度这几个因子来人工拟合排序公式因为斟酌要素未几,由人工举行公式拟合是完整可行的,此时机械进修并不能派上很大用处,因为机械学习更适合接纳许多特性来举行公式拟合。别的,关于有监视机械进修来讲,起首须要大批的练习数据,在此基础上才可以或许自动进修排序模子,单靠人工标注大批的练习数据不太现实。

1.2.2 基于机械进修的排序手艺

关于搜刮引擎来讲,只管没法靠人工来标注大批练习数据,然则用户点击纪录是可以或许当作机械进修要领练习数据的一个替代品,好比用户发出一个查询,搜刮引擎返回搜刮结果,用户会点击个中某些网页,可以或许假定用户点击的网页是和用户查询越发相干的页面。

1.3 Learning to RankLTR

机械进修排序体系由4个步调构成:

  1. 人工标注练习数据
  2. 文档特性抽取
  3. 进修分类函数
  4. 在现实搜刮体系中接纳机械进修模子

 

2. PointWise Approach

界说:单文档要领的处置惩罚对象是零丁的一篇文档,将文档转换为特性向量后,机械进修体系依据从练习数据中进修到的分类或许回归函数对文档打分,打分结果即是搜刮结果。

ScoreQD)=a×CSb×PMc×PR

 关于某个新的查询Q和文档D,体系起首取得其文档D对应的3个特性的特性值,以后应用进修到的参数组合盘算二者得分,当得分大于设定的阈值,便可推断文档是相干文档,不然推断为不相干文档。 

3. PairWise Approach 

关于左、右两张图,依照pointwise的头脑,则认为这两条样本 i 和 j 都被点击,因而label都是1。但在右图包罗更主要的信息 :用户只点了红框内的旅店,而没有点黄框内的旅店(右图黄框内的旅店和左图点击红框的旅店一致)。这说明样本 j 的 label应当比样本 i 的label大(样本 j 排名比样本 i 更靠前),很显然,pointwise并没有应用到这个信息。

关于搜刮义务来讲,体系接收到用户查询后,返回相干文档列表,以是题目的关键是肯定文档之间的前后递次干系。

单文档要领(PointWise Approach)完整从单个文档的分类得分角度盘算,没有斟酌文档之间的递次干系。

文档对要领(PairWise Approach)则将重点转向了对文档递次干系是不是公道举行推断。之以是被称为文档对要领,是因为这类机械进修要领的练习历程和练习目的,是推断恣意两个文档构成的文档对<Doc1,Doc2>是不是知足递次干系,即推断是不是Doc1应当排在Doc2的前面。

依据转换后的练习实例,就可以或许应用机械进修要领举行分类函数的进修: 输入一个查询和文档对<Doc1,Doc2>,机械进修排序可以或许推断这类递次干系是不是建立,若是建立,那末在搜刮结果中Doc1应当排在Doc2前面,不然Doc2应当排在Doc1前面。经由过程这类体式格局,就完成搜刮结果的排序义务。

  1. 文档对要领(PairWise Approach)只斟酌了两个文档对的相对前后递次,却没有斟酌文档涌现在搜索列表中的地位。排在搜刮结果前线的文档更为主要,若是前线文档涌现推断毛病,价值显着高于排在后面的文档。
  2. 分歧的查询,其相干文档数目差别很大,以是转换为只要十几个对应的文档对,这对机械进修体系的结果评价形成难题。

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散度等。

5. Bayesian Personalized Ranking

5.1 BPR引见

  • 在引荐体系中,分为召回和排序两个阶段。
  • 贝叶斯个性化排序属于Pairwise Approach。

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

  • 每一个⽤户之间的偏好⾏为互相独⽴
  • 同⼀⽤户对分歧物品的偏序,即排序干系互相独⽴
  • 表⽰⽤户u对 I 的偏好⼤于对 j 的偏好
  • 满⾜完整性,反对称性和传递性
  • 接纳最⼤后验预计盘算参数

 个中,完整性,反对称性和传递性的界说以下:

5.2 BPR参数

在引荐体系中,排序算法一般完成对候选商品的二次挑选,也叫Reranking。这里的BPR算法自创了召回步调中协同过滤算法的头脑: 矩阵剖析 。

关于用户u:

-玖富娱乐是一家为代理招商,直属主管信息发布为主的资讯网站,同时也兼顾玖富娱乐代理注册登录地址。-

关于一切用户:

个中用户矩阵W:

物品矩阵H:

5.3 BPR参数盘算要领

BPR算法接纳的是最大化后验几率来预计参数(关于甚么是最大化后验几率,可移步我的别的一篇文章:似然与几率的异同),因而,这里用到了贝叶斯公式。

之前已假定每一个用户之间的偏好行动互相自力,统一用户对分歧物品的偏序互相自力,以是:

δ(b)函数返回1 若是前提b建立, 不然返回0。D为练习集, (u,i,j) 透露表现干系,即相对j,用户u更喜欢 i 。

因为知足完整性和反对称性,以是上式可简化为:

个中,δ()为sigmod函数,用户 u 比拟于 j 更喜欢 i 经由过程借助用户 u 对 i 的喜欢水平与对 j 的喜欢水平的差举行器量。

因而, 可透露表现为:

目的是求解θ。 因为接纳最大后验预计来进修参数,以是假定θ恪守正态散布:

依据几率密度函数,求得:

关于这个等式的推导,笔者实验将几率散布带入到几率密度函数中,发明并不能推导出来,然则因为存在正比干系,以是可以或许近似即是。

以是,终究的后验几率预计函数为:

经由过程最大化这个函数,可以或许求出参数W和H。 

6. Bayesian Personalized Ranking算法完成

网上开源的BPR代码有许多,这里偏重表达一下用户embedding矩阵和物品embedding矩阵,和丧失函数的组织。个中丧失函数为最小化上一小节的最大后验几率函数。 

 7. 总结

回忆Bayesian Personalized Ranking 算法,有以下三点值得回味:

1. θ的正态散布(先验)情势:

之以是如许设想,笔者认为有两点:一是轻易取对数、二是能与正则化联系起来。

2. 用户 u 比拟于 j 更喜欢 i 经由过程借助用户 u 对 i 的喜欢水平与对 j 的喜欢水平的差举行器量。这固然是最直观的透露表现要领,固然也可以或许加以改进。

3. 万物皆可embedding !经由过程对用户和物品离别组织embedding向量,从而完成用户对物品喜欢水平的盘算。

 

-玖富娱乐是一家为代理招商,直属主管信息发布为主的资讯网站,同时也兼顾玖富娱乐代理注册登录地址。