图像分类的评价指标 图像分类的概念:是一个模式分类的问题,将不同的图像(注意单位,是一张图像,最后理解的如手写体的图像集)划分到不同的类别、单标签分类问题就是每一张图都有唯一的类别;
单标签分类的评价指标有:准确率(Accuracy),精确率(Precision),召回率(Recall),F1-score,混淆矩阵,ROC曲线和AUC;
在计算这些指标之前,需要先计算几个基本的指标:
TP:正样本且分类为正样本的数目为(True Positive)
FN:标签为正样本分类为负样本的数目(Flase Negative)
FP:标签是负样本分类为正样本的数目(Flase Positive)
TN:标签是负样本且分类为负样本的数目(True Negative)
【深度学习基础知识|深度学习的性能评价指标---图像分类的评价指标】总结出来,如下表所示:
文章图片
4个基本指标和评价指标的关系: 首先主要看以下四个评价指标(准确率(Accuracy),精确率(Precision),召回率(Recall),F1-score)和上面4个基本指标的关系
准确率(Accuracy)、精确率(Precision)和召回率(Recall)
文章图片
一些和准确率和召回率指标相关的解释:
1)准确率(Accuracy)中的TOP-1和TOP-5
文章图片
2)精确率(Precision)和召回率(Recall)的关系及PR曲线
召回率越高,精确率越低。例如概率阈值T的影响(概率阈值T是一个设定的在【0,1】范围的值,使用该值判断网络预测出的结果是正类还是负类),当T小,导致召回率的升高,分类精确度下降,当T大,精确度升高,召回率降低。如果样本中包含很多的类,那么预测类别就输预测概率最大的那一类。
精确率(Precision)和召回率(Recall)共同组成的曲线是PR曲线。PR曲线中的P代表的是precision(精准率),R代表的是recall(召回率),其代表的是精准率与召回率的关系,一般情况下,将recall设置为横坐标,precision设置为纵坐标。
PR曲线功能说明:一条PR曲线要对应一个阈值(统计学的概率)。通过选择合适的阈值(比如K%)对样本进行合理的划分,概率大于K%的样本为正例,小于K%的样本为负例,样本分类完成后计算相应的精准率和召回率,最后我们会得到对应关系,如下图所示。
文章图片
曲线越靠近右上角说明性能越好,可以根据曲线和坐标轴包围的面积来定量评估
F1-score:
文章图片
举例:
文章图片
F1-score的作用:在众多学习器对数据进行学习后,如果其中一个学习器的PR曲线A完全包住另一个学习器B的PR曲线,则可断言A的性能优于B。但是A和B发生交叉,那性能该如何判断呢?我们可以根据曲线下方的面积大小来进行比较,但更常用的是平衡点F1。平衡点(BEP)是P=R时的取值(斜率为1),F1值越大,我们可以认为该学习器的性能较好。
混淆矩阵: 功能当想知道类别之间相互误分的情况,就是查看是否有特定的类别相互混淆,就可以绘制混淆矩阵画出分类的详细预测结果。对于包含多个类别的任务,混淆矩阵很清晰的反应了各个类别之间错分概率;其实就是把所有类别的预测结果与真实结果按类别放置到了同一个表里,在这个表格中我们可以清楚看到每个类别正确识别的数量和错误识别的数量。
假设有n个类别,混淆矩阵的大小为n*n
混淆矩阵可以清晰的反映出真实值与预测值相互吻合的部分,也可以反映出与预测值不吻合的部分,越好的分类器,混淆矩阵对角线上的值越大。
文章图片
可以参考博文中对混淆矩阵的解释,例子比较不错
机器学习之混淆矩阵
ROC曲线和AUC: 准确率(Accuracy),精确率(Precision),召回率(Recall),F1-score都是单一数值指标,如果我们想观察分类算法在不同参数的表现,可以用一条曲线表示ROC曲线;ROC曲线可以评价一个分类器在不同阈值T下的表现。
ROC曲线的横坐标是FPR(Flase Positive Rate),纵坐标是TPR(True Positive Rate)
TPR=TP/(TP+FN):代表分类器预测正类中,实际正实例占所有正实例的比例
FPR=FP/(FP+TN):代表分类器预测正类中,实际负实例占所有负实例的比例,该值越大说明预测正类中实际负类越多;
文章图片
如果想用两条ROC曲线来评判分类器的性能,则一个分类器中的roc完全包含另一个roc曲线,说明该分类器性能优于被包含的分类器
当要定量评估两条ROC曲线。这时候就引入AUC,AUC表示ROC曲线曲线下的面积,这个面积值不会大于1;
文章图片
推荐阅读
- 机器学习|模型评价指标说明和scikit-learn代码实现
- 强化学习|强化学习笔记(七)演员-评论家算法(Actor-Critic Algorithms)及Pytorch实现
- 强化学习|强化学习笔记(五)Pytorch实现简单DQN
- opencv|基于深度学习的口罩识别与检测PyTorch实现
- 定位|利用稀疏的语义视觉特征进行道路建图和定位(ICRA2021)
- 自然语言处理|BERT(5)---实战[BERT+CNN文本分类]
- 智能汽车|三十四.智能驾驶之多传感器融合技术: F-PointNet融合方法
- 图神经网络|什么是机器学习、深度学习、图神经网络()
- 实践|增加batch_size的一种方法(梯度累加)