Learn to Rank

参考http://blog.csdn.net/nanjunxiao/article/details/8976195
http://www.cnblogs.com/kemaswill/archive/2013/06/01/3109497.html
learn to rank学习排序是一种监督学习的排序方法。主要应用于信息检索,协同过滤,推荐系统等领域。之前已有的排序模型主要分为相关度排序模型(relevance ranking model)和重要性排序模型(importance ranking model)。
相关度排序模型通过query和doc之间的相似度对文档进行排序。常用的有BM25,向量空间模型,布尔模型,隐语义分析,LMIR等。
重要性排序模型不考虑查询,仅根据doc之间的图结构判断文档的权威程度。常用模型包括Pagerank,HITS,HillTop,TrustRank。
这些传统模型融合信息能力有限,因此用机器学习解决这一问题,融合多特征,迭代优化参数,learn to rank。
排序学习用到的特征即包含文档doc本身的特征(内链外链),也包括文档doc和查询query之间的相关度(tfidf,bm25),以及doc在网络上的重要性(比如pagerank值),因此我们可以用相关性排序模型和重要性排序模型的输出作为特征。
LTR算法主要有三种类别。pointwise,pairwise,listwise。
pointwise处理对象是单一文档,主要是将排序问题转化为分类或者回归问题。可以采用解决多分类的算法如svm或者最大熵等算法。pointwise没有考虑文档之间的相对顺序。
pairwise相对pointwise,将重点转向文档顺序关系。将排序问题转化为分类问题。可以用的机器学习方法很多,比如nn,svm,boost等。对于同一个query的doc中,预测时根据所有pair进行分类可以得到所有doc的偏序关系,实现排序。依然存在的问题是,1.只考虑两个文档的相对顺序,没有考虑在列表中的为位置。2.不同query对应的doc数量差异可能很大。评价效果会带来偏置。
pairwise的实现有ranking svm,ranknet,rankboost等。对于pairwise模型来说,常采用的是Ranksvm和GBRank。
RankSvm是线性模型,需要对特征做预处理,目标函数容易理解,方便debug。
GBRank是非线性模型,不需要过多预处理,模型效果可能更好,但debug复杂。
listwise与前两种不同,他将每个query对应的搜索结果列表当做一个训练样例。

评价指标有MAP,NDCG等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值