排序学习PointWise、PairWise、ListWise

…衆ロ難τιáo~ 提交于 2019-12-28 04:49:37

视频没有讲清楚,后面写的不好,还是贴上别人的博客吧,讲的很清楚:
https://blog.csdn.net/anshuai_aw1/article/details/86018105
方便以后自己查阅

排序学习 —— 通过机器学习的方法帮助排序
最早用于信息检索,比如给定搜索的内容,返回相应的文档,那么如何决定返回文档的顺序呢?这就需要排序学习~
常用的排序学习可以分为三种类型:**PointWise**、**PairWise**、**ListWise**
在这里插入图片描述

PointWise:

在PointWise方法下,每个item对应于一个类别,排序问题就可以被看成是一个分类问题。

一般来说,每个item会被转化成特征向量,向量里包含一些特征,比如PageRank分数,关键字出现次数等信息,将特征向量输入分类器(如SVM、逻辑回归、感知机等),就能得到一个分数,通过分数就能得到最终的排序列表。

优势:在于其直接支持已有的回归或者分类的理论和算法。
缺点:由于是分类问题,被分为同一类的文档会丢失次序信息。

例子:例子中使用了均方误差作为损失函数,实际中还可以使用交叉熵等其他loss。
在这里插入图片描述

PairWise:

核心思想:如果知道文档的相对次序,那么最终就能恢复出整个排列。比如对于文档(a,b,c),如果知道a和b、b和c、a和c之间的相对次序,那么也就知道了最终的排序。
在这里插入图片描述
下面是PointWise和PairWise的对比:
在这里插入图片描述
PairWise的缺陷在于,由于推导出来的是两两之间的顺序,因此很难推导出item的整体顺序。
举个例子:

ListWise:

最复杂也是最完善的方式。
基本思想和上面两种不大一样,每一个训练样例都对应于一个item列表(所有的查询结果),根据训练样例可以得到评分函数F。对于新的item,使用评分函数打分,对分数进行排序,就可以得到最终的排序结果。

排序的评价指标:

在这里插入图片描述
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!