文章目录
  1. 1. 排序学习简介
  2. 2. 个性化推荐中应用排序学习
  3. 3. 基于排序学习的推荐方法
    1. 3.1. Point-wise
    2. 3.2. Pair-wise
    3. 3.3. List-wise
  4. 4. 参考文献

排序学习简介


排序学习是信息检索领域应用较为广泛的一种方法,传统的检索模型靠人工拟合排序公式,所考虑的因素并不多,主要是利用词频、逆文档频率和文档长度这几个因子来人工拟合排序公式。并通过不断的实验确定最佳的参数组合,以此来形成相关性打分函数。排序学习则与此思路不同,最合理的排序公式由机器自动学习获得,而人则需要给机器学习提供训练数据。就是说排序学习是使用机器学习的方法直接优化排序列表,得到一个排序函数,从来对特定查询的相关文档进行排序,其目的是为了得到一个最优的文档排序。

个性化推荐中应用排序学习


目前推荐系统的研究主要分为两大方向,其中一类为评分预测问题;另一类为Top-K推荐问题。传统基于记忆的方法(User-CF,Item-CF),基于模型的方法(基本矩阵分解,带偏置矩阵分解,概率矩阵分解)等都是解决评分预测问题,大多都通过优化评分误差(均方根误差,RMSE)来训练模型。如果要进行Top-K列表推荐则只能通过预测评分降序排列得到Top-K列表,但是我们很容易知道,好的评分准确率并不一定能产生一个好的排序列表,因而这些方法并不能得到一个好的排序。Top-K推荐其实更加贴近用户需求,因为用户关注的往往是一个列表,尤其是排序在最前面的Item列表,通过直接优化Top-K列表往往能使推荐系统得到更好的用户体验。

信息检索领域中的排序学习方法以查询-文档特征对作为输入,通过学习一个排序函数对新的查询-文档对进行相关性预测,针对特定查询得到一个排序好的文档列表,其流程图如下图所示。类似地,在个性化推荐领域中,目的是为给特定用户提供一个感兴趣的Item列表,用户关注的往往是排在前几位的Item,因此这也是一个排序问题,将查询-文档对类似为User-Item对,可以借鉴排序学习的思想直接优化Item的排序。

排序学习在推荐中的应用示意图

基于排序学习的推荐方法


信息检索中的排序学习方法需要输入显性的文档特征,而个性化推荐中不论是User还是Item都没有显性特征作为输入,输入特征较为简单,一般都只有User-Item评分记录。因此在个性化推荐领域应用的排序学习方法和信息检索领域的排序学习还是有一定区别的,需要另辟蹊径。和基本排序学习类似,基于排序学习的推荐方法也主要分为三大类,分别是Point-wise,Pair-wise和List-wise,下面对这三种方法分别作简单介绍。

Point-wise

传统的协同过滤,矩阵分解(了解更多关于矩阵分解)等推荐方法都是基于Point-wise的方法,即只考虑单个Item的评分预测准确率,先进行评分预测再根据预测出来的评分降序排列得到一个推荐列表。这种方法没有明显考虑Item和Item之间的排序关系,因此并没有直接优化Item的排序,评分预测实际上是一个回归问题。

Pair-wise

优化Item-Item偏序关系,预测时得到一个偏序矩阵,再将偏序矩阵转化成一个完整的排序列表。其示意图如下所示,图中“+”号表示用户对该行的Item喜好程度高于该列所代表的Item,最后将Item之间的偏序关系按照某种方法转化为一个完整的Item排序列表。

Pair-wise排序学习在推荐中的应用示意图

List-wise

List-wise方法选择直接优化整个排序列表,如直接优化衡量排序的指标NDCG等等,代表性的有Markus Weimer等提出的COFI-RANK,详见参考文献1,其示意图如下所示。训练出来的函数可直接对整个Item排序。

List-wise排序学习在推荐中的应用示意图

参考文献


1.Maximum Margin Matrix Factorization for Collaborative Ranking
2.Learning to Rank for Recommender System

文章目录
  1. 1. 排序学习简介
  2. 2. 个性化推荐中应用排序学习
  3. 3. 基于排序学习的推荐方法
    1. 3.1. Point-wise
    2. 3.2. Pair-wise
    3. 3.3. List-wise
  4. 4. 参考文献