深度学习模型评估指标

深度学习模型在各类任务中的表现都需要定量的指标进行评估,才能够进行横向的对比比较,包含了分类、回归、质量评估、生成模型中常用的指标。

分类评测指标

图像分类是计算机视觉中最基础的一个任务,也是几乎所有的基准模型进行比较的任务,从最开始比较简单的10分类的灰度图像手写数字识别mnist,到后来更大一点的10分类的cifar10和100分类的cifar100,到后来的imagenet,图像分类任务伴随着数据库的增长,一步一步提升到了今天的水平。现在在Imagenet这样的超过1000万图像,2万类的数据集中,计算机的图像分类水准已经超过了人类。

图像分类,顾名思义就是一个模式分类问题,它的目标是将不同的图像,划分到不同的类别,实现最小的分类误差,这里只考虑单标签分类问题,即每一个图片都有唯一的类别。

对于单个标签分类的问题,评价指标主要有Accuracy,Precision,Recall,F-score,PR曲线,ROC和AUC。

在计算这些指标之前,先计算几个基本指标,这些指标是基于二分类的任务,也可以拓展到多分类:

标签为正样本,分类为正样本的数目为True Positive,简称TP;(真正)

标签为负样本,分类为正样本的数目为False Positive,简称FP;(假正)

标签为负样本,分类为负样本的数目为True Negative,简称TN;(真负)

标签为正样本,分类为负样本的数目为False Negative,简称FN;(假负)

二分类判别是否为正例只需要设一个概率阈值T,预测概率大于阈值T的为正类,小于阈值T的为负类,默认就是0.5。如果我们减小这个阀值T,更多的样本会被识别为正类,这样可以提高正类的召回率,但同时也会带来更多的负类被错分为正类。如果增加阈值T,则正类的召回率降低,精度增加。
如果是多类,比如ImageNet1000分类比赛中的1000类,预测类别就是预测概率最大的那一类。

(1).准确率Accuracy

单标签分类任务中每一个样本都只有一个确定的类别,预测到该类别就是分类正确,没有预测到就是分类错误,因此最直观的指标就是Accuracy,也就是准确率。

Accuracy=(TP+TN)/(TP+FP+TN+FN),表示的就是所有样本都正确分类的概率,可以使用不同的阈值T。(分对的样本数除以所有的样本数 ,即:准确(分类)率 = 正确预测的正反例数 / 总数)

在ImageNet中使用的Accuracy指标包括Top_1 Accuracy和Top_5 Accuracy,Top_1 Accuracy就是前面计算的Accuracy。

记样本xi的类别为yi,类别种类为(0,1,…,C),预测类别函数为f,则Top-1的计算方法如下:
在这里插入图片描述
如果给出概率最大的5个预测类别,只要包含了真实的类别,则判定预测正确,计算出来的指标就是Top-5。目前在ImageNet上,Top-5的指标已经超过95%,而Top-1的指标还在80%左右。

(2).精确度Precision(查准率)和召回率Recall(查全率)

Precision指标在中文里可以称为查准率(或者是精确率),Recall指标在中文里常被称为查全率(或者是召回率),查准率 P和查全率 R分别定义为:
在这里插入图片描述
查准率P和查全率R的具体含义如下:
正样本的查准率(Precision)是指对正样本所有系统判定的“真”的样本中,确实是真的的占比。(模型认为是准的中有多少是准的)
正样本的查全率(Recall)是指在所有确实为真的样本中,被判为的“真”的占比。
(真正的正样本中有多少被判断为真)
(查准率与查全率都是针对正负样本而言,以上的计算方式是针对正样本而言)。
通常查全率越高,查准率越低,根据不同的值可以绘制Recall-Precision曲线,如下图:
在这里插入图片描述
横轴就是(查全率)recall,纵轴就是(查准率)precision,曲线越接近右上角,说明其性能越好,可以用该曲线与坐标轴包围的面积来定量评估,值在0~1之间。

(3).F1 score

有的时候关注的不仅仅是正样本的准确率,也关心其查全率,但是又不想用Accuracy来进行衡量,一个折中的指标是采用F-score。

F1 score=2·Precision·Recall/(Precision+Recall),只有在召回率Recall和精确率Precision都高的情况下,F1 score才会很高,因此F1 score是一个综合性能的指标。

(4).混淆矩阵

如果对于每一类,若想知道类别之间相互误分的情况,查看是否有特定的类别之间相互混淆,就可以用混淆矩阵画出分类的详细预测结果。对于包含多个类别的任务,混淆矩阵很清晰的反映出各类别之间的错分概率,如下图:
在这里插入图片描述
上图表述的是一个包含20个类别的分类任务,混淆矩阵为20*20的矩阵,其中第i行第j列,表示第i类目标被分类为第j类的概率,越好的分类器对角线上的值更大,其他地方应该越小。

(5).ROC曲线与AUC指标

以上的准确率Accuracy,精确度Precision,召回率Recall,F1 score,混淆矩阵都只是一个单一的数值指标,如果想观察分类算法在不同的参数下的表现情况,就可以使用一条曲线,即ROC曲线,全称为receiver operating characteristic。

ROC曲线可以用于评价一个分类器在不同阈值下的表现情况。在ROC曲线中,每个点的横坐标是false positive rate(FPR),纵坐标是true positive rate(TPR),描绘了分类器在True Positive和False Positive间的平衡,两个指标的计算如下:

TPR=TP/(TP+FN),代表分类器预测的正类中实际正实例占所有正实例的比例。

FPR=FP/(FP+TN),代表分类器预测的正类中实际负实例占所有负实例的比例,FPR越大,预测正类中实际负类越多。

ROC曲线通常如下:
在这里插入图片描述
其中有4个关键的点:

点(0,0):FPR=TPR=0,分类器预测所有的样本都为负样本;

点(1,1):FPR=TPR=1,分类器预测所有的样本都为正样本;

点(0,1):FPR=0, TPR=1,此时FN=0且FP=0,所有的样本都正确分类;

点(1,0):FPR=1,TPR=0,此时TP=0且TN=0,最差分类器,避开了所有正确答案。

ROC曲线相对于PR曲线有个很好的特性:

当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变,即对正负样本不均衡问题不敏感。比如负样本的数量增加到原来的10倍,TPR不受影响,FPR的各项也是成比例的增加,并不会有太大的变化。所以不均衡样本问题通常选用ROC作为评价标准。

ROC曲线越接近左上角,该分类器的性能越好,若一个分类器的ROC曲线完全包住另一个分类器,那么可以判断前者的性能更好。

如果想通过两条ROC曲线来定量评估两个分类器的性能,就可以使用AUC指标。

AUC(Area Under Curve)为ROC曲线下的面积,它表示的就是一个概率,这个面积的数值不会大于1。随机挑选一个正样本以及一个负样本,AUC表征的就是有多大的概率,分类器会对正样本给出的预测值高于负样本,当然前提是正样本的预测值的确应该高于负样本。

(6).TAR,FRR,FAR

这几个指标在人脸验证中被广泛使用,人脸验证即匹配两个人是否是同一个人,通常用特征向量的相似度进行描述,如果相似度概率大于阈值T,则被认为是同一个人。

TAR(True Accept Rate)表示正确接受的比例,多次取同一个人的两张图像,统计该相似度值超过阈值T的比例。FRR(False Reject Rate)就是错误拒绝率,把相同的人的图像当做不同人的了,它等于1-TAR。

与之类似,FAR(False Accept Rate)表示错误接受的比例,多次取不同人的两张图像,统计该相似度值超过T的比例。

增大相似度阈值T,FAR和TAR都减小,意味着正确接受和错误接受的比例都降低,错误拒绝率FRR会增加。减小相似度阈值T,FAR和TAR都增大,正确接受的比例和错误接受的比例都增加,错误拒绝率FRR降低。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值