learning to rank

排序函数学习算法研究的目标是结合机器学习算法,根据反馈信息自动优化排序模型的参数,最小化排序损失(ranking loss)。排序损失是对排序模型的错误排序的惩罚度量。根据模型的工作方式和排序损失的度量方式,排序函数学习算法大体上可以分为传统型、pointwise型,pairwise型和listwise型等四种机器学习方式,下面将分别介绍每种学习方式目前国内外的热门的研究成果。

排序函数学习基本框架

1.1 基于传统机器学习的学习算法

最初只是直接将分类、回归等经典的机器学习方式用来解决排序问题。也就是把排序问题形式化成分类或回归问题。如将文档与查询的相关度分为两个类别(相关与不相关)或多个离散值(非常相关,部分相关,不相关等不同程度的相关类别),然后用传统的机器学习技术来训练这样一个模型。

1.2基于pointwise的学习算法

Pointwise型的排序函数学习算法又被称为顺序回归算法,这种学习方法对每一个文档样本都独立地预测其分类,预测结果可以是二分类(相关或不相关),也可以是多个离散值,例如:非常相关,比较相关,可能相关,不相关等。显然,Pointwise型的学习模型既不是分类模型也不是 回归模型,他将每个文档样本映射到一个离散值或者有顺序的类别上,而我们知道回归模型将样本映射到一个实数值上,分类模型则映射到一个独立的类别上,因此顺序回归模型可以认为是介于两者之间的一种模型。

1.3基于pairwise的学习算法

pairwise型的算法又称为偏好关系学习,这种学习算法把由两个样本构成的样本对作为一个单独的训练样本,训练的模型用于判断样本对中的两个样本的相对排序(例如样本对(x0,x1)映射到+1表示模型判断样本x1排在样本x0前面,-1则相反),这种相对关系被称为偏好关系。

RankNet,RankingSVM和RankBoost是基于pairwise的排序函数学习算法中当前最好的三种学习算法,分别应用三种经典的机器学习技术。

1.4基于listwise的学习算法

把同一个查询对应的所有文档作为一个学习样本看待,而每个学习样本将被映射到一种排序结果上。因此listwise型的学习算法的输入数据空间是以查询为单位划分的文档集,而输出空间是每个查询对应的文档的所有可能排序。试验阶段,比较新,不够成熟。

1.5 boosting机器学习介绍

Boosting最早起源于二分类问题的研究。二分类问题的任务是基于对现有已知的数据去寻找一个规则或者假说,能将一个未知目标分配到预定义的二个分类之一。把目标样本所属的输入空间定义为X,再把假说的所有可能输出结果的空间定义为Y,那么二分类问题就可以表示:用一个未知分布P(x,y)下独立随机生成并且以(输入,输出)构成的数据对作为训练集。迭代地调整训练样本的权值是Boosting算法的本质。

1.6 RankBoost

RankBoost算法是当前最好的pairwise型的排序学习算法之一。概括来说,RankBoost框架下的学习目标就是通过结合多个存在的线性排序(称作排序特征,ranking feature),构成一个唯一的排序结果。它以训练样本集中两两样本之间的相对排序作为反馈信息,通过迭代学习来达到让样本对的错误排序情况相对于反馈信息尽可能少。为了增强模型的弹性,RankBoost算法忽略了排序中相同优先级的样本关系。

results matching ""

    No results matching ""