微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

总是记不住的精度,回召率和F1 Score

撰写本文的契机

在学机器学习的时候,开头第一章的内容就是Precision,ReCall和F1 score,第一次看的时候感觉概念挺简单的,但是每每在文献或者技术博客上看到相关内容的时候,总是记不住,总是会被TP、NP,TF和NF这样的术语弄晕。

今天恰巧找到机会重新理解了一遍相关的概念,写下这个博客,记录此刻我对这些概念的理解(人话翻译),以便今后快速复习。

以下内容参考自李航老师的 统计学习与方法这篇技术博客

正文

概念背景

机器学习的两大任务,一个分类一个回归。接下来要介绍的概念跟回归的关系不大,它们主要用于描述一个模型分类效果。“它们”主要是:

  • Precision(精度)
  • ReCall(回召率)
  • F1 score

我们这三个概念主要针对二分类。例如,现在我们手上有个模型,它只认识猫,理想情况下,你给它输入一张不是猫的照片,例如狗,它给你输出Negative;如果你给它输入猫的照片,它会输出Positive。

但是有朋友要举手了,说不对呀,即使是多分类的任务,也能用上文那几个参数去描述。原来,上述那三个参数是针对每个类别进行描述的。这是什么意思呢?

例如,我们手头拿着一个分类器,它可以识别苹果(0)、香蕉(1)、雪梨(2)、西瓜(3)和其它(4),括号里面的数字是这些类别的标签

在研究模型对“苹果”这一个类别的表现时,我们认为,所有的类别可以分为苹果和非苹果。例如,我们给模型输入一张雪梨的图片,模型正确地输出了“2”,但是对于当前“苹果”这个类别来说,它就是非苹果,所以我们仍然认为它的输出结果为Negative,只有模型输出的数字为“0”,我们才认为当前模型的输出为Positive。

理解了上一段话的意思以后,我们不难知道,对于多分类任务中,每个类别都有一套对应的Precision、Recall和F1 score

三个概念

数据背景:想象我们现在有许多张图片,其中有许多张猫的照片,另外的照片都不是猫。猫的照片我们称之为正样本,非猫的照片我们称之为负样本。

TP FN TN FP

现在我手里拿着一个只认识猫的分类器,理想情况下,我输入猫的照片,它输出Positive,否则Negative。

我输入了一张猫的图片,此时分类器里所应当地输出了Positive,那么,这张图片是猫,是正样本,并且预测正确,那么这个样本的英文名是: True Positive,简称TP

我现在又输入了一张猫的图片,但是分类输出了Negative,毕竟我们的分类器肯定不是十全十美的,这正是标题这几个概念存在的意义。此时,我输入的是正样本,并且预测错误,那么这个样本的英文名为:False Negative,简称FN

类似地,我输入了一张不是猫的图片分类器给出了Negative,这个样本为负样本并且预测正确,英文名为True Negative,简称TN;我又输入了一张不是猫的照片,但是分类器给出Positive,这个样本是负样本并且预测错误,英文名为False Positive,简称FP

呼,仔细读下来确实很拗口。我们输入的任何一张图片必定会被归类为上述四类中的其中一类。也就是说,如果我们手上有N张图片,那么

TP+FN+TN+FP=N

三个概念的人话翻译

终于到我们的三个主角了。如果你已经记住了上一个小节的描述,那么我们的主题很快就能接受啦。如果还没理解,还请再花两分钟认真理解一下上节内容

想象现在你的手上还是有好多张图片,猫和非猫,而且我们的分类器还是只认识猫。并且你把这些图片一股脑地扔进了分类器,得到了每张图片对应的输出,也就是一堆Negative和Positive,并且你已经把每一张图片都分成上一节里提到的四个类别。

Precision

我现在问你,你手上这堆Positive,正确的比例是多少? 我可是顺利从小学毕业,那当然是Positive里,预测正确的正样本个数比上预测为正样本的个数。那前者等于多少?哦,TP。后者呢?哦,TP+FP。二者一除,我们得到了上述问题的答案,那么恭喜你,你成功计算出了Precision。

Recall

我再问你,你手上这堆猫的图片,预测正确的比例是多少? 呜,这个问题也很简单,但是好像要饶个圈圈。小学的知识告诉我,公式是预测正确的猫的个数比上所有猫的图片的个数。那预测正确的猫的个数是多少?猫是正样本,那就是TP!那我手里有几张猫的照片?我想,应该是预测正确的猫的个数加上预测错误的猫的个数,前者是TP,那后者重新翻译一下,应该是样本是正样本,并且预测错误,FN!那猫的个数应该就是TP+FN。终于,你计算出了Recall。

F1 score

这个概念比较简单,可以把F1 score理解为Precision和Recall在数值上的一个综合表现,公式如下:

F1 score = (2PrecisionRecall)/(Precision+Recall)

总结

终于讲完了此刻我所理解的这三个概念,其实比较容易记错的就是TP,FP,TN,FN这几个概念,一旦记混淆,之后的数值也计算不出来了。最后如果有人耐心看完了上面这一大串的文字,那么请接受我由衷的感谢,谢谢你的捧场。最后再放一张图来结束这次的记录吧。

三大概念的可视化图

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐