怎么理解ranking和mAP?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaoxu2050/article/details/83651043

Ranking的中文意思是排行、排名的意思,可以网页搜索理解ranking。现在搜索“美女”,谷歌会给出网页排名,百度也会给出网页排名,每个都是一个Ranking。那如何评价排名的好坏呢?这是就会用AP(average precision)。

假如在百度搜索“美女”时,引擎返回了10个结果,其中5个正确,5个错误,排名如下:

这时候我们计算一下召回率和准确率:

       precison = TP/(TP+FP)

       recall = TP/(TP+FN)

只看前2个排名,TP=1,FP=1,FN=4     准确率是0.5,召回率是0.2

只看前3个排名,TP=2,FP=1,FN=3     准确率是0.67,召回率是0.4

只看前6个排名,TP=3, FP=3,FN=2 准确率0.5,召回率0.6

只看前10个排名,TP=5, FP=5,FN=0 准确率0.5,召回率1.0

在召回率不断增加过程中,准确率有时增加,有的减小,那如何评价这个ranking的好坏,计算所有召回率下准确率的平均值啊:

AP是0.62,某个召回率可能对应多个precision,计算AP用的最大precision,也就是第一个precision。

假如在百度上搜索“中国航母”,返回如下结果:

两个Query,百度的AP分别是0.62和0.44,假如搜狗的AP是0.5和0.5,这时我们就要问了,百度和搜狗的ranking算法那个更好点?这时候就需要mAP(mean average precision)了,即求的所有Query AP的平均值:

搜狗的是0.5, 0.53>0.5,百度搜索算法要略优于搜狗,是不是和你的感觉是一样的!

猜你喜欢

转载自blog.csdn.net/xiaoxu2050/article/details/83651043
今日推荐