百科问答小站 logo
百科问答小站 font logo



Learning To Rank的pair wise方法如何得到全局排序结果呢? 第1页

  

user avatar   civ-26 网友的相关建议: 
      

pairwise learning to rank 的方法可以分为两大类。

第一类是诸如ranknet这类方法,它们通过一些特殊的设计让模型依靠“样本对”的信息来学习得到每个样本的score。所以得到这类方法最后的全局排序结果很简单,就是用所有样本的score来排序即可。

另一类方法是基于优先函数的方法。这类方法的整个过程分为两个阶段,第一阶段是用机器学习模型来学习两个样本之间的优先关系,例如f(x1, x2)=1表示样本x1优先于x2(x1应该排在x2前面),f(x1, x2)=-1表示样本x2优先于x1(x1应该排在x2后面)。从题主的问题来看,可能问的是“当我们已经训练出了优先函数f之后,如何对所有样本进行排序,并且使该排序在最大程度上与f的结果一致”。这个问题在学界被称为Rank Aggregation(排列聚合)。

Rank Aggregation问题之所以存在是因为优先函数f是被训练出来的,它无法保证一定满足传递率这种对排序非常重要的性质。回想一下实数排序算法,它们其实依赖的是比较符(如小于符号)满足传递率。Rank Aggregation在1997年的“Learning to order things”这篇文章中已经被证明是NP困难的。因此后续的研究主要在针对性设计一些高效算法来寻找较优解,而不是最优解。

关于各种方法,我之前一篇文中有详细介绍,题主可以参考。

这里还是简单介绍一些。

“Learning to order things”这篇文章中的方法因为稍微复杂,所以不列举了,直接看那篇文章。

其它一些后续的方法一般比较“经验”,基本没太多理论的东西。例如,假设我们有x1,x2,...,xn个待排序样本。有些方法会用每个样本的supporter来作为它最后的ranking score。样本xi的suppoter的计算如下:

而另一些方法会把上面的f(x1, x2)的输出改为概率,而不是-1或1。

总之,方法很“经验”。




  

相关话题

  《人工智能训练师国家职业技能标准》发布,有哪些值得关注的信息? 
  为什么同样是解决一个问题,别人就能想出算法,而我却绞尽脑汁,百般尝试也不得其法? 
  MIT 猎豹机器人算法有多复杂?中国是否能研发出这种机器人? 
  是否存在时间复杂度是O(tan N)的算法? 
  工程师简历写着「在微软传播性病」,骗过了 90% 公司的机器筛选,机器筛选简历那么不靠谱吗? 
  年轻人为什么要做期货? 
  在统计学领域有哪些经典奠基性的论文? 
  Dirichlet Processes 是一个什么样的随机过程? 
  本科数学,目前在读计算机研一,毕业的时候想要应聘数据挖掘工程师,看了对数据挖掘工程师的招聘要求,感觉太宽泛了,希望能具体说一下现在应该准备哪些知识(算法?编程语言?其他?),谢谢! 
  人工智能 CV 岗位是不是现在供严重大于需? 

前一个讨论
卷积神经网络如果将池化层去除,与神经网络的区别还大么?
下一个讨论
如何看待上海 28 日起,以黄浦江为界分区分批开展新一轮核酸筛查等最新措施?





© 2024-11-25 - tinynew.org. All Rights Reserved.
© 2024-11-25 - tinynew.org. 保留所有权利