返回

详解机器/深度学习中常见评价指标

Pre、ACC、Recall、F1、RPC、Roc、AUC、IOU、AP、mAP

待进一步完善…龟速填坑中

评价指标的基石

所有复杂问题都是简单问题的重复,
为了理解所有指标,首先需了解“四大天王”与“三大护法”

四大天王——TP|FP TN|FN

我们认为positive代表了阳性(或者说正样本),
而Negative代表了阴性(负样本),那么在二分类中我们根据猜测的对错很容易排列出2x2种情况:

True False
Positive TP(猜对了阳) FP(猜错了阳)
Negative TN(猜对了阴) FN(猜错了阴)

其中左半边表示真值和我的猜测一致(猜对了),右半边表示真值和我的猜测不一致(猜错了);
上半边表示猜测阳性的全体 $P$,下半边表示猜测阴性的全体$N$。
TP+FN表示真值阳性的全体,TN+FP表示真值阴性的全体。

三大护法——Pre、ACC、Recall

根据四大金刚,我们容易得出常见模型中的三个评价指标, (为什么不能只看一个呢?因为容易被“浮云遮望眼”)

Pre(Precision 精确率又称查准率)

精确和准确在中文上看起来是一个意思,但实际上有微小的区别;
我们可以通过投标的例子来理解什么是精确,什么是准确。

从上图可知,精确率高的数据其标准差较小,也就是“我投中了,投中的差别不大”;在二分类中或者说判断是否阳性中,我们关注的重点是在我对阳性的判断中,是否判断对了(存不存在错判阳性的偏差);如果精确率高,就说明我预测阳性偏差小,阳性就是真的阳性,较少出差错。
总结来说,精确率高指的是“我对正例判断出差错(偏差)的情况怎么样?”,也就是:
$$ Precision = \frac{TP}{P} = \frac{TP}{TP+FP} $$
精确率越高,说明我对正例/阳性判断的偏差越小,也就是TP占总判断阳性中的比例越大。 这时候可能会有聪明的同学问了,那为什么我们不考虑对负例判断的偏差呢,比如构建一个TN/TN+FN的指标?
其实是有的,一般的,Pre还有更深入的名字叫“positive predictive value (PPV)”,显然也有对应的“Negative predictive value (NPV) ” 只是因为负样本通常较少,正样本较多;所以把PPV作为一个更常用的指标,归为精确率。

ACC(Accuracy 准确率)

为什么说精准但“精确不一定准确呢”?
你可以这么想,精密仪器显然是为了误差小,那精密仪器一定能得到准确结果吗?————答案是不一定,比如你没有调零!(做过大物实验的朋友都知道~)
没有调零就好像y=kx+b中多了一个b,也就是投标图像中的“整体偏移真值” (下图的上半部分)
虽然很精确,但很不准确!!

准确率更容易理解,准确率考虑的是更“全局”的结果是否正确,
也就是在我所有预测的结果中,我到底预测的“好不好”, 即: $$ Accuracy = \frac{TP+TN}{所有预测} = \frac{TP+TN}{TP+FP+TN+FN} $$

Recall(召回率又称查全率)

顾名思义,查全的意思就是“我查的全不全”,我是否把所有的阳性覆盖到了(阳性全体为P),

$$ Recall = \frac{TP}{阳性全体}= \frac{TP}{TP+FN} $$ 有时候查全率很高,但精确率很低。
比如我有3个阳性,97个阴性。我预测100个全为阳性(此时P=100且TP=3,FP=97),0个阴性;此时查全率为:3/3=100% !
但此时精确率为:3%。。。。。这显然是没有意义的。
有时候精确率很高,但查全率很低。
比如我还是有3个阳性,97个阴性。我刚好预测对某1个为阳性(此时P=1且TP=1,FP=0),99个阴性;此时精确率为:100% !
但此时查全率为:33.333%。。。。。这显然也是意义不大的。
查全率与精确率存在互逆关系
我们能够隐约发现查全率和精确率的互逆关系,但究竟是为什么呢?
仔细观察可以发现,Recall和Pre只在分母有差别,其中Recall的分母是TP+FN【不变量】,而Pre的分母是TP+FP【可变量】。
为了提高Recall,我们需要增大TP,而分母不变;
但Pre中如果TP增加了FP也会跟着增加(我需要判断的东西变多了,精确率会下降,错误的概率会变大),分子的TP增加小于分母的TP+FP总体的增加。所以查全率和精确率是互逆的。

F1、RPC、Roc、AUC

在充分了解了四大金刚与三大护法后,我们进一步来研究他们的衍生变体:

Reference

Built with Hugo
Theme Stack designed by Jimmy