撰写本文的契机
在学机器学习的时候,开头第一章的内容就是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 举报,一经查实,本站将立刻删除。