评价函数_Learning to Rank学习笔记--损失函数与评价指标

本文探讨了Learning to Rank中的Pointwise、Pairwise和Listwise方法的损失函数与评价指标(如MAP、NDCG)之间的关系。通过分析不同方法的损失函数,展示了它们如何作为评价指标的上界进行优化,以及优化这些损失函数并不总是能得到最佳的排序效果。
摘要由CSDN通过智能技术生成

c07f04c216fdf5de0dd52e0bca99800d.png

本篇文章的目的是认识L2R问题中所用的损失函数以及评价指标的关系(公式截图多,但都好理解)。对数学证明感兴趣的朋友可以参考相关证明文献。

在很多state-of-the-art的文章中,都证明了他们所用的损失函数可以作为常用评价指标(MAP,NDCG)的上界进行优化。

在前面的几篇文章中,简单介绍了三种用于L2R的方法(Pointwise, Pairwise以及Listwise),它们有一个主要的区别就在于损失函数,分别是逐点比较,逐对比较以及比较两个序列,而损失函数的选择往往就主导了学习的过程。因此在本章中,作者简单探索了三种方法的损失函数以及常用评价指标之间的关系。

1、The Pointwise Approach

给出关于某个query q下的docs

以及标签
(假设标签代表相关程度),评分函数为
,根据
得出的docs序列为
。则张潼教授在【2】中证明了Pointwise损失与NDCG存在如下关系:

b104fcb1dfb2239afb58f50d36cf26e7.png

其中

即为最大的DCG值(用于归一化的因子,NDCG表达式可以参考第一篇文章),
代表位置j的折扣因子。

可以看到,如果能够将Pointwise的回归损失降低为0,显然不等式左边的上界变为0,即NDCG的值可以达到最优。

我看书看到这里的时候是比较惊叹的,原来还有这种关系存在,那么这种关系为什么会成立呢,于是我去查阅了原始论文,然后没有看懂。本文在这一处贴出原始论文【2】的证明,知友们可以了解证明的过程(没有很复杂),然后根据自己的兴趣决定是不是翻找原文看明白证明,后续将只贴出参考文献,不再截图贴出证明过程。

adb02cc4bcd950745939a346f962c6ac.png
文章是从爱学术下载的,声明一下

同样的,针对多分类问题,文章【3】中证明了多分类损失亦能够表示为NDCG的上界以进行优化(文章假设了一共有5类相关程度,K=5):

70f20d4c45ba1622706e8d603969ed17.png

重点来了,和回归损失一样,当多分类损失为0,即不等式右侧为0时,NDCG值可以达到最大,但反过来说,既然是优化上界,假设NDCG能够达到最优,损失函数却无法下降到0。因此,Pointwise方法中上述损失函数优化到0是NDCG达到最大值的充分不必要条件。

来看一个计算的栗子。现在有一个query q,与之相关的docs共有4个,标签分别为

,那么可以算出最优的DCG值

f2081da079403dc8b02a879d5eb38b5c.png

而我们的模型计算得出的相关程度分别为

。可以看到我们的模型已经得到了和真实标签一模一样的docs排序,此时 1 - NDCG = 0。然而对于多分类误差函数而言(不等式右侧),我们有
,因此针对多分类误差函数我们可以算出:

69d6918ea335159471f06571a9de1abd.png

这个大于0的损失上界显然在这里是没有什么意义的,因为评价指标已经达到了最优,我们也得到了想要的排序结果。

2、The Pairwise Approach

在文章【4】中,给出了如下结论:

8dd60fbb0b6b1951e974fec2c90684de.png

其中,

b93dafd792a9d1329509b392d894e2aa.png

文章【4】认为,1 - MAP与某些Pairwise方法的损失函数是有联系的,优化后者能达到优化前者的效果。然而刘铁岩老师在书中指出,上述结果是有如下缺陷的:

(1)上述结果的不等式没有直接表明Pairwise损失与1 - MAP的关系, 比如从上述不等式中无法看出

就是1 - MAP的上界;

(2)根据上述不等式,即使

的时候,并不是1 - MAP=0的充分条件。在我们的认知中,当
时,代表每一对docs的相对位置关系都是正确的,我们已经得到了正确的排序,而1 - MAP的值却无法保证等于0;

(3)关于NDCG指标,无法得到一个和上述不等式相似的结果。

为了解决上述的三个缺陷,文章【5】的作者提出了一个可以同时作为1 - NDCG以及1 - MAP上界的损失函数,命名为essential loss。下面同样不贴证明地介绍一下这个神奇的essential loss。

假设有一组docs

以及真实标签的序列
,排序问题被拆分为几个按顺序执行的步骤。在第t步中,模型尝试区分
(在序列
中排在位置t的docs)和所有在序列
中排在位置t之后的docs。假设第t步中,在真实序列
中排在位置t以及排在它后面的docs表示为
,定义一个基于评分函数
的分类器,

175964e34766e1c36ae2ede2e3a206ac.png

注意到这个argmax,可以知道上述这个表达式的意思是:在评分函数

下,取出得分最高的docs j

那么,essential loss定义如下:

694134e00483aecc2418adeabc4c2bc7.png

结合前面的场景,这个Loss非常好理解了。首先,真实序列

中排在位置t的doc是在第t步中排序最靠前的doc(
因为在第t步中,只考虑位置t的doc和排在位置t之后的docs 的区别),那么上述这个连乘的表达式 代表排在位置t的doc得分
是否 超过了排在位置t之后的所有文档的得分
。如果都超过了,那么该步骤损失为0,否则损失为1。

看例子永远比定义理解得更快。

假设有A,B,C三个文档的真实排序和评分函数给出的排序:

c47589e30b7deefd089c010d12df75e5.png

在步骤1中,我们要看排在位置1的doc,显然在

中排在位置1的doc A的评分
低于
,因此,在步骤1中,是有不正确的顺序关系存在的,损失为1;到了步骤2,在
中排在位置2的doc B的评分是高于doc C的,因此这一步没有损失;步骤3中,两个排序均只剩下doc C,无损失。总结流程如下图:

044536a079040dbe777c10b2fe444ff2.png

因为是按步骤学习的,essential loss也考虑到了每个步骤误差的权重不同,比如前面几个步骤中误差的权重应当比较大,因此最终essential loss完善如下:

ec93132b67909a9f5e4ed622ff033f06.png

文章【5】中给出了essential loss是1 - MAP 以及 1 - NDCG上界,同时也是很多Pairwise损失函数下界的证明。

3、The Listwise Approach

在ListwiseRank读书笔记的文章中,我们知道了ListwiseRank分为两类:1,基于评价指标设计的损失函数 2,不考虑评价指标设计的损失函数。 因此针对Listwise Approach,同样按这两类分开讲评价指标和损失函数的关系。

(1)不考虑评价指标设计的损失函数

这里的内容很少,精华就是两个公式(刘老师的书里只简单提了这么些)

be0f56ff0beeaa20f1fd592590f5e07c.png

其中ListMLE的损失定义可以参考我的上一篇文章。证明请参考文献【5】。

(2)基于评价指标设计的损失函数

ListwiseRank中的Soft Rank以及Approximate Rank都采取了对NDCG的连续近似,这个近似程度近似得有多好呢?文章【6】中提出了“tendency correlation”的概念,用于衡量代理评估指标(surrogate measure)和常用评估指标之间的关系。

Tendency Correlation 定义如下:

给出评价指标

以及代理评价指标
,关于某个query的docs
和对应的标签
,对于两个参数分别为
的模型,

5a198becc3e328b1125a887eb0714b4e.png

那么

Tendency Correlation可以表示为:

377c41dde10cda9db10be9922a9945f7.png

其中max代表

对两个模型评估分数的差值, 和
对两个模型评估分数的差值 的差值 中的最大值(有点绕,其实和二阶差分定义很像)。比如对于某个query,
给两个模型的评分是0.94和0.87,差值为0.07,
给两个模型的评分为0.85和0.80,差值为0.05,再对两个差值作差得到0.02(当然实际应用有很多组query,会得到很多个差值),因此在这个query中两个指标是比较接近的。

Tendency Correlation有如下性质:

1、尺度以及平移不变性。由于定义式中作差以及参数

的存在,这个性质很容易理解;

2、当

时,代理评价指标将和真实评价指标具有一模一样的shape,因此代理评价指标收敛点同时也为真实评价指标的收敛点;

3、取minimax的形式要优于取mini-average的形式,因为当两个指标在差异程度最大的点仍然能取得一个较小的

的话,显然表明代理评价指标能够很好地代替真实评价指标。

总结

如果看到了这里(不是一下滑到底地看),总能够对三大类方法中的损失函数和常用评价指标之间的关系有一个基本的认识。当然,书中指出了仅仅优化上界并不总是一个好的办法,因为不知道这个上界的松紧程度,而且即使损失函数在每一处都是评估指标上界也不能代表就一定能取得最好的优化效果。

就要去实习了,有时间的话仍然会写一写后续关于L2R中query-dependent,data-preprocess的一些理论问题~

参考文献

【1】《Learning to Rank for Information Retrieval》, Tie-Yan Liu.

【2】Cossock, D., Zhang, T.: Subset ranking using regression. In: Proceedings of the 19th AnnualConference on Learning Theory (COLT 2006), pp. 605–619 (2006)

【3】Li, P., Burges, C., Wu, Q.: McRank: learning to rank using multiple classification and gradientboosting. In: Advances in Neural Information Processing Systems 20 (NIPS 2007), pp. 845–852 (2008)

【4】Joachims, T.: Optimizing search engines using clickthrough data. In: Proceedings of the 8thACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD2002), pp. 133–142 (2002)

【5】Chen, W., Liu, T.-Y., Lan, Y., Ma, Z., Li, H.: Ranking measures and loss functions in learningto rank. In: Advances in Neural Information Processing Systems 22 (NIPS 2009), pp. 315–323(2010)

【6】He, Y., Liu, T.-Y.: Tendency correlation analysis for direct optimization methods. InformationRetrieval 13(6), 657–688 (2010)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值