评估与指标

前k准确率(top-k accuracy)

/ TOP-kay AK-yur-uh-see /

普通的准确率是非黑即白的:模型那个唯一的最佳猜测,要么对,要么错。前k准确率则宽容得多。它允许模型给出它最好的k个猜测,只要真实答案落在那张短名单里的任何位置,就算这次预测对了。最常见的版本是前5准确率,它问的是:正确答案,在不在模型最可能的五个选项之中?

对于那些类别繁多、细粒度、又极易混淆的任务,这很有道理。一张哈士奇的照片,可能真的很难和阿拉斯加雪橇犬或狼区分开来;要求模型必须把确切的品种作为它的头号猜测,可能严苛得不公平。前5准确率奖励模型「至少把真相放进了认真的竞争里」,而这往往正好匹配预测的实际用法——比如,给一个人摆出一份简短的候选菜单让他挑选。

这是个有用的视角,但要坦白它掩盖了什么。95%的前5准确率听起来光彩夺目,可同一个模型的前1数字,也许是谦逊得多的75%——而如果你的应用是依据「单一的自动答案」来行动的,你要承受的就是那个前1。只报那个好看的前5数字,是让模型听起来比它实际表现更好的一种经典手法。永远要问清楚:k是几,以及这个k是否匹配系统真实的用法。

一个图像分类器看到一张照片,其真实标签是「小熊猫」。它排好序的猜测是:猫、狐狸、小熊猫、浣熊、狗。前1准确率:错(它把「猫」排在了第一)。前5准确率:对(「小熊猫」在名单里)。同一个预测,两个截然不同的判决。

前1判为彻底错误的那些「差一点」,前5会予以宽恕。

前5准确率是被ImageNet基准带火的,那里1000个细粒度类别让严格的前1评分变得极为残酷。只要记住:前k只有在你真实的系统确实会呈现出k个候选时才有意义。如果它必须敲定一个自动答案,那么真正要紧的数字是前1。

又称
前k准确率前k準確率top-k accuracytop-5 accuracy前5准确率