赞
踩
评价指标是针对模型性能优劣的一个定量指标。一种评价指标只能反映模型一部分性能,如果选择的评价指标不合理,那么可能会得出错误的结论,故而应该针对具体的数据、模型选取不同的评价指标。
本文将介绍分类任务中的常用评价指标。
针对一个二分类问题,即将实例分成正类(positive)或负类(negative),在实际分类中会出现以下四种情况:
简单记忆:阳性(Positive)代表了预测为真,阴性(Negative)代表了预测为假;True代表真实值与预测值匹配,False代表真实值与预测值不匹配。
有了混淆矩阵之后,我们便可以求对应的准确率(Accuracy)、精确率(Precision)、召回率(Recall)和F1 Score。
该指标计算的是:预测正确的样本数量占总量的百分比,具体的公式如下:
A c c u r a r y = T P + T N T P + T N + F P + F N Accurary = \frac{TP+TN}{TP+TN+FP+FN} Accurary=TP+TN+FP+FNTP+TN
又称为查准率,是针对预测结果为正类的一个评价指标。在模型预测为正样本的结果中,真正是正样本所占的百分比,具体公式如下:
P r e c i s i o n = T P T P + F P Precision = \frac{TP}{TP+FP} Precision=TP+FPTP
又称为查全率,是针对原始样本而言的一个评价指标。在实际为正样本中,被预测为正样本所占的百分比。具体公式如下:
R e c a l l = T P T P + F N Recall = \frac{TP}{TP+FN} Recall=TP+FNTP
精准率和召回率都有其自己的缺点:
假设总共有10个好苹果,10个坏苹果。针对这20个数据,模型只预测了1个好苹果,对应结果如下表:
同样总共有10个好苹果,10个坏苹果。针对这20个数据,模型把所有的苹果都预测为好苹果,对应结果如下表:
从上述例子中,可以看到精确率和召回率是此消彼长的,如果要兼顾二者,就需要F1 Score。
F 1 = 2 ⋅ P r e c i s i o n × R e c a l l P r e c i s i o n + R e c a l l F1 =2 \cdot \frac{Precision \times Recall}{Precision + Recall} F1=2⋅Precision+RecallPrecision×Recall
可以看出F1 Score实际上是一种调和平均数。
此外还有 F β F_\beta Fβ score和 G score,也是用于平衡精确率和召回率的:
F β = ( 1 + β 2 ) ⋅ P r e c i s i o n × R e c a l l ( β 2 ⋅ P r e c i s i o n ) + R e c a l l F_\beta = (1+{\beta}^2) \cdot \frac{Precision \times Recall}{{(\beta}^2 \cdot Precision) + Recall} Fβ=(1+β2)⋅(β2⋅Precision)+RecallPrecision×Recall
G = P r e c i s i o n ⋅ R e c a l l G = \sqrt{Precision \cdot Recall} G=Precision⋅Recall
P-R曲线是描述精确率和召回率变化的曲线。
如何绘制:通过设置不同的阈值,模型进行预测,计算对应的精准率和召回率,然后进行绘制。
P-R曲线对于单个类别的结果评价是比较完善的,但并没有数值那样直观,AP能够解决这个问题,AP值的含义是P-R曲线下的均值(P-R曲线的纵坐标即为Precision,因此AP含义即为Average-Precision),理论计算公式为:
假如验证了10个样本得到的预测结果如下表格,以这10个样本作为例子计算该类别的AP(程序中计算AP的方法),
把这十个样本按照置信度由高到低的顺序排序,得到下面的表格:
从上到下遍历每一行,遍历到某一行时就将置信度阈值设定为当前该行的置信度,即当前行是最低预测为正例的样本,然后计算在这个置信度阈值下的Precision、Recall,得到下面的表格:
假设有好苹果9个,坏苹果1个,模型把所有的苹果均预测为好苹果。
在介绍ROC和AUC之前,我们需要明确以下三个概念:
ROC(Receiver Operating Characteristic)曲线,又称接受者操作特征曲线。曲线对应的纵坐标是TPR,横坐标是FPR。
如何绘制:设置不同的阈值,会得到不同的TPR和FPR,而随着阈值的逐渐减小,越来越多的实例被划分为正类,但是这些正类中同样也掺杂着负类,即TPR和FPR会同时增大。阈值最大时,对应坐标点为(0,0),阈值最小时,对应坐标点(1,1)。
AUC(Area Under Curve)是处于ROC曲线下方的那部分面积的大小。AUC越大,代表模型的性能越好。
如何计算AUC:
对于多分类任务,最直接的评价指标即为考虑全类别的准确率,即
A c c u r a r y = 分类正确的样本数 总样本数 Accurary = \frac{分类正确的样本数}{总样本数} Accurary=总样本数分类正确的样本数
如二分类评价指标最初的说明,多分类任务可以采用二分类的手段:
因此,
对所有类别的AP求平均即可得到mAP指标,代表的含义即mean-Average-Precision,其中mean是对所有类别求平均。
【1】https://zhuanlan.zhihu.com/p/371819054
【2】https://zhuanlan.zhihu.com/p/110015537
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。