评价指标对比:准确率(accuracy)、精确率(Precision)、召回率(Recall)、IOU、Kappa系数

在人工智能算法中,算法实现,训练模型完成后,为了判定算法的好坏,需要对训练的模型进行评价,而评价的指标主要有以下几种:准确率(accuracy)、精确率(Precision)、召回率(Recall)、IOU、Kappa系数,下面分别进行讲解

1 场景假设


假如某班有女生20人,男生80人,共计100人.目标是找出所有女生,某人(分类器)挑选出50个人,其中20人是女生,另外还错误的把30个男生也当作女生挑选出来了。针对上述场景,现在换一种说法:总人数是100人,他把其中70人(20女+50男)判定正确了。

2 情况分类


按照上面例子,我们需要从一个班级中寻找所有女生,如果把这个任务当成一个分类器的话,那么女生就是我们需要的,而男生不是,所以我们称女生为"正类",而男生为"负类"。分类表格如下:

 

真实为正类/女 真实为负类/男
判定为正类/女 20(TP) 30(FP)
判定为负类/男 0(FN) 50(TN)


3 准确率(accuracy)解释如下:
true positives(TP 正类判定为正类,例子中就是正确的判定"这位是女生")
false positives(FP 负类判定为正类,“存伪”,例子中就是分明是男生却判断为女生,当下伪娘横行,这个错常有人犯)
false negatives(FN 正类判定为负类,“去真”,例子中就是,分明是女生,这哥们却判断为男生–梁山伯同学犯的错就是这个)
true negatives(TN 负类判定为负类,也就是一个男生被判断为男生,像我这样的纯爷们一准儿就会在此处)


根据公式得:
 

\large acc=\frac{TP+TN}{total}=\frac{20+50}{100}=70%

  1. 准确率的确可以在一些场合,从某种意义上得到一个分类器是否有效,但它并不总是能有效的评价一个分类器的工作。
  2. 比如一个学校总共1000人,但女生只有10人,如果我们随机挑选一个人判断性别,那可以一直判断为男生。因为如果以accuracy来判断,那我会把所有的学生判断为男生,因为这样效率很高,而accuracy已经达到了99.9%,完爆其它很多分类器辛辛苦苦算的值,但是我这个算法显然不是需求期待的。
  3. 由此可看出,对于正负样本不均衡的情况下,accuracy作为评判标注不合适,那怎么解决呢?这就是precision,recall和f1-measure出场的时间了。
     

4 精确率(Precision)、召回率(Recall)

4.1 精确率(Precision)

指的是所有被判定为正类(TP+FP)中,真实的正类(TP)占的比例。
根据公式得:

\large precision=\frac{TP}{TP+FP}=\frac{20}{20+30}=40%

4.2 召回率(Recall)

指的是所有真实为正类(TP+FN)中,被判定为正类(TP)占的比例。
根据公式得:

\large recall=\frac{TP}{TP+FN}=\frac{20}{20+0}=100%

4.3 精确率与召回率的关系

这两个指标通常是此消彼长的,很难兼得,在大规模数据集合中相互制约,这样就需要综合考虑,最常见的方法就是F-Measure,它是Precision和Recall加权调和平均:

 \large F=\frac{(a^{2}+1)P*R}{a^{2}(P+R)}

当参数α=1时,就是最常见的F1,即:

在这里插入图片描述

 F1综合考虑了P和R的结果,当F1较高时则能说明试验方法比较有效。

5 IOU指标

指的就是大家常说的交并比,在语义分割中作为标准度量一直被人使用。交并比不仅仅在语义分割中使用,在目标检测等方向也是常用的指标之一。
根据公式得:

\large IOU=\frac{TP}{TP+FP+FN}=\frac{20}{20+30+0}=40%

顺便说一下,在语义分割中基于像素的精度计算,是评估指标中最为基本,也是最为简单的指标,是指预测正确的像素占总像素的比例,即准确率(accuracy)

6 Kappa系数

Kappa系数用于一致性检验,也可以用于衡量分类精度。计算结果为-1–1,但通常kappa是落在 0–1 间,可分为五组来表示不同级别的一致性:

结果 等级
0.0–0.20 极低的一致性(slight)
0.21–0.40 一般的一致性(fair)
0.41–0.60 中等的一致性(moderate)
0.61–0.80 高度的一致性(substantial)
0.81–1 几乎完全一致(almost perfect)

计算公式:

在这里插入图片描述

po:每一类正确分类的样本数量之和除以总样本数,也就是准确率(accuracy) 。
pe:假设每一类的真实样本个数分别为a1,a2,…,aC,而预测出来的每一类的样本个数分别为b1,b2,…,bC,总样本个数为n,则有:pe=a1×b1+a2×b2+…+aC×bC /n×n
根据公式得


\large P_{0}=\frac{20+50}{100}=70%

\large p_{e}=\frac{(20+0)(20+30)+(30+50)(0+50)}{100*100}=0.5

\large kappa=\frac{0.7-0.5}{1-0.5}=0.4

由此说明该分类器效果一般。
总结:在算法评价指标中基本就是这几种方式

你可能感兴趣的:(keras,深度学习,cnn,tensorflow)