Precision和Recall:如何评价保安的能力
本文版权属于重庆大学计算机学院刘骥,禁止转载
保安的能力评估
保安对进出公司的人员进行盘查,识别其中的小偷。保安有可能犯两类错误:
1. 把好人误认为小偷,称为假小偷(与之相反称为真小偷)。
2. 把小偷误认为好人,称为假好人(与之相反称为真好人)。
保安优秀与否可以按照如下的两个标准来评判:
1. 抓住的小偷中真小偷的比例尽量的高。
2. 宁可错抓好人也不放过小偷。
标准1称为精准率(Precision),标准2称为召回率(Recall),对应的计算公式为:
为了更好的理解上述公式,假设某公司每天进出100人,其中80个
好人,20个
小偷,某保安的表现如下:
| - | 实际上是小偷 | 实际上是好人 | 合计 |
|---|---|---|---|
| 抓住的小偷 | 5 | 1 | 6 |
| 放走的好人 | 15 | 79 | 94 |
| 合计 | 20 | 80 | 100 |
从上表可以看出,保安共计抓住6个小偷,其中5人是真小偷,另外1人是假小偷(好人被误抓),依据公式可知,该保安的
Precision=55+1=56≈88.3%
。看上去这名保安抓人的准确性挺强,但他是一名好保安吗?
来看看召回率的计算。
Recall=55+15=14=25%
。什么叫做放走的假好人?换句话,也就是被保安误认为好人的小偷。所以Recall的分母总是等于小偷的总数(而Precision的分母是抓住的人的总数)。从召回率可以看出,这名保安放走了
34
的小偷,这实在不能算优秀的保安。
再来看看另外一名保安的数据:
| - | 实际上是小偷 | 实际上是好人 | 合计 |
|---|---|---|---|
| 抓住的小偷 | 20 | 20 | 40 |
| 放走的好人 | 0 | 60 | 60 |
| 合计 | 20 | 80 | 100 |
根据上述公式计算,其
Precision=50%
,
Recall=100%
。虽然精度不高,误抓了不少好人,但这名保安抓住了全部到小偷。
理想的保安应该具有如下的表现:
| - | 实际上是小偷 | 实际上是好人 | 合计 |
|---|---|---|---|
| 抓住的小偷 | 20 | 0 | 20 |
| 放走的好人 | 0 | 80 | 80 |
| 合计 | 20 | 80 | 100 |
他的 Precision 和 Recall 都能够达到100%。
Precision、Recall在机器学习中的定义
现在我们准备用一个二分类的人工智能程序代替保安,如何对这个人工智能程序的能力进行评价呢?可以采用相同的标准。为了将评价问题泛化,使其能够针对所有的二分类问题(而不限于抓小偷),我们做出了如下定义:
1. 称小偷为Positive,好人为Negative。
2. 与之对应真小偷为True Positive(简写为TP),假小偷为False Positive(简写为FP)。
3. 与之对应真好人为True Negative(简写为TN),假好人为False Negative(简写为FN)。
于是人工智能抓小偷的表现可以用下表来表示:
| - | 实际上是Positive | 实际上是Negative | 合计 |
|---|---|---|---|
| 判定为Positive | 20 (TP) | 20 (FP) | 40 |
| 判定为Negative | 0 (FN) | 60 (TN) | 60 |
| 合计 | 20 | 80 | 100 |
对应Precision和Recall的公式表示为:
F1 及其他
将Precision和Recall放到一个公式中,就构成了
F1 Score
,其公式如下:
除此之外,还有其他评价标准,请参考其他书籍。
本文通过比喻的方法,将机器学习中的Precision(精确率)和Recall(召回率)概念与保安抓小偷的情景相结合,生动形象地解释了这两种评估指标的含义及计算方式,并进一步介绍了F1 Score作为综合评价标准的应用。

1103

被折叠的 条评论
为什么被折叠?



