与你生活密切相关的排序算法的评估指标

栏目: 数据库 · 发布时间: 5年前

内容简介:本文是《机器学习宝典》第 4 篇,读完本文你能够掌握机器学习中排序算法相关的评估指标。参考:[1] 美团算法团队.美团机器学习实战.第一章第一节(评估指标)

本文是《机器学习宝典》第 4 篇,读完本文你能够掌握机器学习中 排序 算法相关的评估指标。

读完 分类与回归算法的评估指标 之后,你已经知道了机器学习中分类与回归算法的评估指标。在这篇给大家介绍一些机器学习中 排序算法 相关的评估指标。

生活中的排序问题

直接说排序这个名词很多人可能觉得很陌生,但实际上它与你的生活密切相关。这里我们以 搜索功能 来说明下。

比如你想学习机器学习,但是不知道如何入门,但是你想到有谷歌爸爸,所以就在谷歌中输入了关键词: 机器学习入门 ,接下来你就看到了一个结果页,结果页里包含了一大堆与入门机器学习相关的链接。

与你生活密切相关的排序算法的评估指标

可以看到,每个链接对应的内容不一样,位置也分前后,对于你来说,你当然是希望前几个链接的内容就能解决你的问题,这样你就不用花时间去查看靠后的链接,甚至不用去翻页,也就是说你希望越靠前的位置的内容与你搜索的关键词越相关。

换个角度来想,你所看到的这么多链接其实就是一个模型产生的排序列表,这个列表里的每个元素就是一个链接。这里的链接用行话来说就是 “文档” 。那么,如何衡量这个排序列表的好坏呢?也就是说每个文档到底排在第几位才是比较合适的呢?接下来我们来看几个衡量排序质量的评估指标。

MAP

MAP (Mean Average Precision,平均准确率均值)计算时分为两部分,第一部分是计算一次查询后的排序结果的平均准确率(AP),第二部分是计算总体的平均准确率均值(MAP)。一般评估MAP时会限定要评估的排序结果个数,也就是会指定要选取的前K个文档。

与你生活密切相关的排序算法的评估指标

其中,AP@K表示计算前K个结果的平均准确率,M表示每次排序的文档总数,P(k)表示前k个结果的准确率, 与你生活密切相关的排序算法的评估指标 。rel(k)表示第k个结果是否是相关文档,相关取值为1,不相关取值为0。

上面得到的就是一次查询的平均准确率,接下来对多次查询的AP求出均值即可得到MAP。

与你生活密切相关的排序算法的评估指标

其中,Q表示查询的次数, 与你生活密切相关的排序算法的评估指标 表示第q次查询的AP@K的结果。

MRR

MAP没有考虑位置的影响,这里介绍一个新的评估指标: MRR (Mean Reciprocal Rank,平均排序倒数)计算时先求出每一个查询的第一个相关文档位置的倒数,然后将所有倒数值求平均。

假如说有三次查询,每次查询的前5条结果的相关性如下:

query1 query2 query3
0 1 0
1 0 0
0 0 1
1 0 0

其中,0表示文档不相关,1表示文档相关。

可以看到,第一次查询中第一个相关文档的顺序是2,第二次查询中第一个相关文档的顺序是1,第三次查询中第一个相关文档的顺序是3,那么 与你生活密切相关的排序算法的评估指标

NDCG

NDCG (Normalized Discounted Cumulative Gain,归一化折损累积增益)是另一个衡量排序质量的评估指标。MAP衡量相关性时只考虑两种情况:1和0,而NDCG可以将相关性分为更多的等级,正式介绍NDCG之前,先来介绍下CG(Cummulative Gain,累积增益)。

与你生活密切相关的排序算法的评估指标

其中,CG@K表示计算前K个结果的累计增益, 与你生活密切相关的排序算法的评估指标 表示第k个位置的文档的相关性得分。

CG的一个缺点是没有考虑不同位置的影响,我们总是希望相关性高的结果排在前面,如果相关性高的结果排在后面,我们应该进行惩罚,所以引入了DCG(Discounted Cummulative Gain,折扣累积增益),也就是对排名靠后的结果进行“打折处理”。

与你生活密切相关的排序算法的评估指标

其中,分子表示相关性越高,DCG越大,分母表示位置越靠后,DCG越小。

虽然DCG考虑了位置的影响,但是DCG也会受到结果数量的影响,为了使得具有可比性,需要对DCG进行归一化处理,这样就得到了NDCG。

与你生活密切相关的排序算法的评估指标

其中, 与你生活密切相关的排序算法的评估指标 表示前k个排序返回结果集能得到的最佳排序结果,即当越相关的文档排放的位置越靠前时计算得到DCG即为IDCG。

练习题

看完这篇文章,我们来做几道 练习题 来检验下学习成果:

1. 假定我进行了两次查询,得到的结果如下(1表示相关,0表示不相关),求MAP@5。

query1 query2
1 0
0 1
1 0
0 1
1 0

2. 假定相关性等级为3级(0-2),模型对4个文档的排序结果如下,求NDCG@4。

文档 模型排序 相关性 最佳排序
d2 1 1 2
d3 2 1 3
d1 3 2 1
d4 4 0 4

参考:

[1] 美团算法团队.美团机器学习实战.第一章第一节(评估指标)

[2] https://blog.csdn.net/simple_the_best/article/details/52296608?utm_source=blogxgwz2

[3] http://www.infoq.com/cn/articles/cyw-evaluate-seachengine-result-quality


以上所述就是小编给大家介绍的《与你生活密切相关的排序算法的评估指标》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

深入理解计算机系统(原书第3版)

深入理解计算机系统(原书第3版)

Randal E.Bryant、David O'Hallaron / 龚奕利、贺莲 / 机械工业出版社 / 2016-11 / 139.00元

和第2版相比,本版内容上*大的变化是,从以IA32和x86-64为基础转变为完全以x86-64为基础。主要更新如下: 基于x86-64,大量地重写代码,首次介绍对处理浮点数据的程序的机器级支持。 处理器体系结构修改为支持64位字和操作的设计。 引入更多的功能单元和更复杂的控制逻辑,使基于程序数据流表示的程序性能模型预测更加可靠。 扩充关于用GOT和PLT创建与位置无关代码的......一起来看看 《深入理解计算机系统(原书第3版)》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试