AI内参_18_017_The_Web_2018论文精读如何改进经典的推荐算法BPR
你好,我是洪亮杰。
今天我和你分享的主题是the web二零一八论文精读如何改进经典的推荐算法BPR.今天我们来看外维网大会上的一篇优秀短论文。
在外维网大会上主要发表两类论文,短论是十页的长论文,一类是两页的短论文,或称作展板论文。
短论文主要是发表短小的成果,或者是还在研究过程中的重要成果。
每一届的外围网大会都会评选出一篇最佳短论文奖。
今天我和你分享的论文题目是利用查看数据贝叶斯个性化排序的一种改进的取样器。
这篇论文也有六位作者和我们这小的上一篇论文一样,都来自清华大学和新加坡国立大学。
要想理解这篇论文的内容,我们必须要先讲一讲什么是贝叶斯个性化排序,或者简称BPR有关BPR的详细介绍。
我在文末给你列了一个参考文献,我们在这里仅对BPR进行一个高维度的总结。
简单来说啊,BPR是推荐信系统中的一个配对排序学习算法。
在我们前面介绍搜索算法的时候,曾经提到了各种配对排序学习算法。
配对排序。
学习不是针对每一个数据实例来学习其标签或者响应变量,而是学习一个相对的顺序。
希望能够把所有的正例都排列到负利之前。
也就是说,对于配对排序来说,每一个数据实例的预测值本身并不重要。
排序算法在意的是,对于一正一负的一个配对来说,是否能够把正例给准确的排列到负利之上。
这其实就要求BPR在数值上对正例的预测值能够比负利的预测值高。
Ppr主要是解决了在推荐系统中,长期以来只对单个数据中进行预测。
比如需要对用户物品的喜好,矩阵建模的时候,之前的大多数算法都无法有效的对没有观测到的数据进行建模。
而BPR是配对算法。
因此,我们只需要关注观测的数据以及它们之间的关系,从而能够对用户的喜好,特别是有隐反馈数据的时候取得更加明显的效果。
这里的隐反馈指的并不是用户告诉系统其对每一个物品的喜好程度,而是用户在和系统的交互过程中,通过一些行为表达出的喜好。
这些用户的行为往往并不全面,因此需要算为和模型能够对这些行为进行有效建模。
了解了BBR大概是怎么回事?以后我们来看一看这篇论文的主要贡献和核心方法。
首先我们刚才讲到BPR的核心是学习一个负对的排序问题。
然么在训练的时候,我们需要对一个正例和一个复利的配对进行学习更新参数。
然而,在一个自然的用户隐反馈数据集理正例相对来说往往是少数,复例则是绝大多数。
因此一个传统的方法就是在组成一个配对的时候,相对于一个正例来说,我们都均匀的选取负样本来组成配对。
这篇过程有时候也叫做采样。
这篇论文主要有两个贡献啊,第一个贡献是作者们发现,如果在全局均匀的采样副样本,第一没有必要,第二可能反而会影响最后学习的效果。
第二个贡献是针对电子商务的应用。
作者们发明了一种副样本采样的方法,使得学习算法可以利用更多的用户浏览信息,从而能够对算法的整体训练效果有大幅度的提升。
那么,这篇论文提出方法的实验效果是怎样的呢?论文的数据集分别使用了母婴产品贝贝网和天猫的数据。
其中,贝贝网有约十六万用户十二万商品二百六十万次购买和四千六百万次。
浏览天猫的数据则有三万用户三万多商品四十六万次购买和一百五十多万次。
浏览两个数据集都呈现了大于百分之九十九的稀疏度。
首先,作者们实验了不从全局中选取副样本,而仅仅采样一部分,而且是相比于原来的空间非常小的样本,比如仅仅几百个副样本,而不是几万个的情况。
实验效果在贝贝网上,不仅没有影响算法的精确度,算法的精确度反而还有提升。
而在天猫的数据集上,算法效果没有提升,而有一些小幅度的下降。
但是作者们认为这样的代价还是值得的。
因为数据集的减少,算法的训练时间会大幅度降低。
从这个实验中,作者们得出了不需要从全局进行采样的结论。
紧接着,作者们提出了一个新的概念,那就是对用户的数据集合进行划分。
把用户的行为分为购买集c一浏览,但没有购买集c二,剩下的数据c三这三个集合。
作者们提出BPR要想能够达到最好的效果,需要对这三种数据集进行采样。
也就是说我们需要组成c一和c二、c一和c三以及c二和c三的配对来学习。
具体来说,用户在贝贝网和天猫的数据中尝试了不同的比例来对这三种集合进行采样。
总体的经验都是c三中采样的,数据要大于c二中的,然后要大于c一中的这其实就是说训练算法要更好的学习到用户不喜欢某件东西的偏好。
采用这样的采样方式,作者们展示了模型的效果,比传统的BPR或仅仅使用最流行的物品作为推荐,结果要好百分之六十左右。
今天我为你讲了今年万维网大会的一篇优秀短论文。
文章介绍了如何对一个经典的推荐算法BPR进行效果,从而提高效率,并且大幅度提升算法的有效度。
我们一起来回顾一下要点。
第一,我们从高维度介绍了BPR的含义。
第二,我们简要介绍了论文的主要贡献和思路。
第三,我们简单分享了论文的实验效果。
最后给你留一个思考题。
除了这篇论文提出的组成正例和复例的配对思路以外,你能不能想到在用户浏览网站的时候,还有哪些信息可以帮助我们组成更多的配对呢?欢迎你给我留言,和我一起讨论。