转载自:http://m.blog.csdn.net/u011771047/article/details/72777349
http://blog.csdn.net/u014593748/article/details/71698246?fps=1&locationNum=5
补充说明: 图像分割(Semantic Segmentation)
图像分割也是一项有意思的研究领域,它的目的是把图像中各种不同物体给用不同颜色分割出来,如下图所示,其平均精度(mIoU,即预测区域和实际区域交集除以预测区域和实际区域的并集),也从最开始的FCN模型(图像语义分割全连接网络,该论文获得计算机视觉顶会CVPR2015的最佳论文的)的62.2%,到DeepLab框架的72.7%,再到牛津大学的CRF as RNN的74.7%。该领域是一个仍在进展的领域,仍旧有很大的进步空间。
一、为论文阅读笔记,不当之处,敬请指正。
A Review on Deep Learning Techniques Applied to Semantic Segmentation:原文链接
5.1度量标准
为何需要语义分割系统的评价标准?
- 为了衡量分割系统的作用及贡献,其性能需要经过严格评估。并且,评估须使用标准、公认的方法以保证公平性。
- 系统的多个方面需要被测试以评估其有效性,包括:执行时间、内存占用、和精确度。
- 由于系统所处背景及测试目的的不同,某些标准可能要比其他标准更加重要,例如,对于实时系统可以损失精确度以提高运算速度。而对于一种特定的方法,尽量提高所有的度量性能是必须的。
5.1.1 执行时间
速度或运行时间是一个非常有价值的度量,因为大多数系统需要保证推理时间可以满足硬实时的需求。某些情况下,知晓系统的训练时间是非常有用的,但是这通常不是非常明显,除非其特别慢。在某种意义上说,提供方法的确切时间可能不是非常有意义,因为执行时间非常依赖硬件设备及后台实现,致使一些比较是无用的。
然而,出于重用和帮助后继研究人员的目的,提供系统运行的硬件的大致描述及执行时间是有用的。这可以帮助他人评估方法的有效性,及在保证相同环境测试最快的执行方法。
5.1.2 内存占用
内存是分割方法的另一个重要的因素。尽管相比执行时间其限制较松,内存可以较为灵活地获得,但其仍然是一个约束因素。在某些情况下,如片上操作系统及机器人平台,其内存资源相比高性能服务器并不宽裕。即使是加速深度网络的高端图形处理单元(GPU),内存资源也相对有限。以此来看,在运行时间相同的情况下,记录系统运行状态下内存占用的极值和均值是及其有价值的。
5.1.3 精确度
图像分割中通常使用许多标准来衡量算法的精度。这些标准通常是像素精度及IoU的变种,以下我们将会介绍常用的几种逐像素标记的精度标准。为了便于解释,假设如下:共有k+1个类(从到,其中包含一个空类或背景),表示本属于类i但被预测为类j的像素数量。即,表示真正的数量,而则分别被解释为假正和假负,尽管两者都是假正与假负之和。
- Pixel Accuracy(PA,像素精度):这是最简单的度量,为标记正确的像素占总像素的比例。
- Mean Pixel Accuracy(MPA,均像素精度):是PA的一种简单提升,计算每个类内被正确分类像素数的比例,之后求所有类的平均。
-
Mean Intersection over Union(MIoU,均交并比):为语义分割的标准度量。其计算两个集合的交集和并集之比,在语义分割的问题中,这两个集合为真实值(ground truth)和预测值(predicted segmentation)。这个比例可以变形为正真数(intersection)比上真正、假负、假正(并集)之和。在每个类上计算IoU,之后平均。
-
Frequency Weighted Intersection over Union(FWIoU,频权交并比):为MIoU的一种提升,这种方法根据每个类出现的频率为其设置权重。
在以上所有的度量标准中,MIoU由于其简洁、代表性强而成为最常用的度量标准,大多数研究人员都使用该标准报告其结果。
直观理解
如下图所示,椭圆A代表真实值,椭圆B代表预测值。橙色部分为A与B的交集,即真正(预测为1,真实值为1)的部分,绿色部分表示假负(预测为0,真实为1)的部分,黄色表示假正(预测为1,真实为0)的部分,两个椭圆之外的白色区域表示真负(预测为0,真实值为0)的部分。表示绿色+橙色+黄色为A与B的并集。
- MP计算橙色与(橙色与黄色)的比例。
- MIoU计算的是计算A与B的交集(橙色部分)与A与B的并集(绿色+橙色+黄色)之间的比例,在理想状态下A与B重合,两者比例为1 。
二、基础知识:
这部分是基础知识,熟悉的可直接跳过
如图所示,集合A:真实值;集合B:预测值。
针对预测值和真实值之间的关系,我们可以将样本分为4类:
真正值(TP):预测值为1,真实值为1;橙色,A∩B
真负值(TN):预测值为0,真实值为0;白色,~(A∪B)
假正值(FP):预测值为1,真实值为0;黄色,B-(A∩B)
假负值(FN):预测值为0,真实值为1;绿色,A-(A∩B)
# 为方便记忆,可以这样理解: # TP:T(预测对了true) P(预测为正样本positive);真的正值,说明被预测为正样本,预测是真的,即真实值为正样本 # TN:T(预测对了true) P(预测为负样本negative);真的负值,说明被预测为负样本,预测是真的,即真实值为负样本 # FP:T(预测错了false)P(预测为正样本positive);假的正直:说明被预测为正样本,但预测是假的,即真实值为负样本 # FN:T(预测错了false)P(预测为负样本negative);假的负值,说明被预测为负样本,但预测是假的,即真实值为正样
召回率: 正确率:
针对预测样本而言,预测为正例的样本中真正正例的比例:
预测为正的有两种:
1、正样本被预测为正 TP
2、负样本被预测为正 FP
所以精确率:precesion = TP/(TP+FP) 其中分母预测为正样本数量。
针对原来的样本而言,表示样本中有多少正例被预测正确了(预测为正例的真是整理占所有真实正例的比例):
1、原来的正样本被预测为正样本 TP
2、原来的正样本被预测为负样本 FN
所以召回率为:racall = TP/(TP+FN) 其中分母表示原来样本中的正样本数量。
▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶
三、图像分割的衡量指标:
图像分割中通常有很多中衡量标准,也有很多中版本的pixel-accuracy 和IoU,这里我们介绍目前最常用的几种。为了方便解释,我们重述下定义:假设有k+1个类别(从到包括一个背景或者空类 别)为类别的像素被预测为类别的个数,换句话说,也就是就是被正确分类(TP)的像素个数,和通常被解释为FP和FN,尽管两者都是假正和假负之和。
像素精确度(pixel accuracy,PA)
这是最简单的指标,用来计算被正确分类的像素个数和总像素数之间的比例:
为了方便理解,展开的形式为:
其中,分子中的每一项均为各个类别正确分类的像素个数;分母中的每一个括号项中为预测为该类别的所有像素数,
因此之和为所有像素数(TP+(FN+FP))。
平均像素精确度(Mean pixel Accuracy,MPA),这是在PA基础上做了微整提升,为类别内像素正确分类概率的平均值:
为了比较和PA的不同,展开:
这里的每一个加法项均为每个类别内部像素正确分类的比例,所有类别的正确分类概率之和最后取平均值。
平均交并比(Mean Intersection over Union,MIoU)
这是一个标准的衡量metric ,计算两个集合之间交集和并集的比例,在图像分割中,就是真实值(Ground Truth)和预测值两个集合。可以转换为TP(intersection)与TP ,FN ,FP之和(union)的比值。先计算每个类内的交并比,然后计算均值。
展开
对式中的每一个加法项是针对每一个类别进行计算平均交并比,其中分母中的第一项为真实值(GT)中该类的像素个数,第二项为预测值中预测为该类的像素个数,前两项中间存在一个交集:真实值中的也在预测值中,因此减去一个第三项。
对所有的类别分别求交并比,然后计算均值,即为MIoU.
加权交并比(Frequency Weighted Intersection over Union,FWIoU)
这是在MIoU上的基础上做稍微的提升,对每一个类根据出现的频率为其设置权重:
展开:
从第二个等号已经可以看出,乘法的第一个乘法因子的分母为全部的像素个数;乘法的第二项中每一项的分子中,第二个乘法因子表示在真实值中(GT),该类别(此处为0)的所有像素个数;
因此第三个等号整理后,两者的比例(当i为固定值时,此时为0)为该类像素在GT中出现的概率,乘法的后一项仍为MIoU中的类内交并比,因此只是在MIoU的基础上对每个类加了个权重,该权重为该类像素在GT中出现的比率。
分割线——————————————————————————
摘要:
数据挖掘、机器学习和推荐系统中的评测指标—准确率(Precision)、召回率(Recall)、F值(F-Measure)简介。
引言:
在机器学习、数据挖掘、推荐系统完成建模之后,需要对模型的效果做评价。
业内目前常常采用的评价指标有准确率(Precision)、召回率(Recall)、F值(F-Measure)等,下图是不同机器学习算法的评价指标。下文讲对其中某些指标做简要介绍。
本文针对二元分类器!
本文针对二元分类器!!
本文针对二元分类器!!!
对分类的分类器的评价指标将在以后文章中介绍。
在介绍指标前必须先了解“混淆矩阵”:
混淆矩阵
True Positive(真正,TP):将正类预测为正类数
True Negative(真负,TN):将负类预测为负类数
False Positive(假正,FP):将负类预测为正类数误报 (Type I error)
False Negative(假负,FN):将正类预测为负类数→漏报 (Type II error)
1、准确率(Accuracy)
准确率(accuracy)计算公式为:
注:准确率是我们最常见的评价指标,而且很容易理解,就是被分对的样本数除以所有的样本数,通常来说,正确率越高,分类器越好。
准确率确实是一个很好很直观的评价指标,但是有时候准确率高并不能代表一个算法就好。比如某个地区某天地震的预测,假设我们有一堆的特征作为地震分类的属性,类别只有两个:0:不发生地震、1:发生地震。一个不加思考的分类器,对每一个测试用例都将类别划分为0,那那么它就可能达到99%的准确率,但真的地震来临时,这个分类器毫无察觉,这个分类带来的损失是巨大的。为什么99%的准确率的分类器却不是我们想要的,因为这里数据分布不均衡,类别1的数据太少,完全错分类别1依然可以达到很高的准确率却忽视了我们关注的东西。再举个例子说明下。在正负样本不平衡的情况下,准确率这个评价指标有很大的缺陷。比如在互联网广告里面,点击的数量是很少的,一般只有千分之几,如果用acc,即使全部预测成负类(不点击)acc也有 99% 以上,没有意义。因此,单纯靠准确率来评价一个算法模型是远远不够科学全面的。
2、错误率(Error rate)
错误率则与准确率相反,描述被分类器错分的比例,error rate = (FP+FN)/(TP+TN+FP+FN),对某一个实例来说,分对与分错是互斥事件,所以accuracy =1 - error rate。
3、灵敏度(sensitive)
sensitive = TP/P,表示的是所有正例中被分对的比例,衡量了分类器对正例的识别能力。
4、特效度(sensitive)
specificity = TN/N,表示的是所有负例中被分对的比例,衡量了分类器对负例的识别能力。
5、精确率、精度(Precision)
精确率(precision)定义为:
表示被分为正例的示例中实际为正例的比例。
6、召回率(recall)
召回率是覆盖面的度量,度量有多个正例被分为正例,recall=TP/(TP+FN)=TP/P=sensitive,可以看到召回率与灵敏度是一样的。
7、综合评价指标(F-Measure)
P和R指标有时候会出现的矛盾的情况,这样就需要综合考虑他们,最常见的方法就是F-Measure(又称为F-Score)。
F-Measure是Precision和Recall加权调和平均:
当参数α=1时,就是最常见的F1,也即
可知F1综合了P和R的结果,当F1较高时则能说明试验方法比较有效。
8、其他评价指标
计算速度:分类器训练和预测需要的时间;
鲁棒性:处理缺失值和异常值的能力;
可扩展性:处理大数据集的能力;
可解释性:分类器的预测标准的可理解性,像决策树产生的规则就是很容易理解的,而神经网络的一堆参数就不好理解,我们只好把它看成一个黑盒子。
下面来看一下ROC和PR曲线(以下内容为自己总结):
1、ROC曲线:
ROC(Receiver Operating Characteristic)曲线是以假正率(FP_rate)和假负率(TP_rate)为轴的曲线,ROC曲线下面的面积我们叫做AUC,如下图所示:
图片根据Paper:Learning from eImbalanced Data画出
其中:
(1)曲线与FP_rate轴围成的面积(记作AUC)越大,说明性能越好,即图上L2曲线对应的性能优于曲线L1对应的性能。即:曲线越靠近A点(左上方)性能越好,曲线越靠近B点(右下方)曲线性能越差。
(2)A点是最完美的performance点,B处是性能最差点。
(3)位于C-D线上的点说明算法性能和random猜测是一样的–如C、D、E点。位于C-D之上(即曲线位于白色的三角形内)说明算法性能优于随机猜测–如G点,位于C-D之下(即曲线位于灰色的三角形内)说明算法性能差于随机猜测–如F点。
(4)虽然ROC曲线相比较于Precision和Recall等衡量指标更加合理,但是其在高不平衡数据条件下的的表现仍然过于理想,不能够很好的展示实际情况。
2、PR曲线:
即,PR(Precision-Recall)曲线。
举个例子(例子来自Paper:Learning from eImbalanced Data):
假设N_c>>P_c(即Negative的数量远远大于Positive的数量),若FP很大,即有很多N的sample被预测为P,因为,因此FP_rate的值仍然很小(如果利用ROC曲线则会判断其性能很好,但是实际上其性能并不好),但是如果利用PR,因为Precision综合考虑了TP和FP的值,因此在极度不平衡的数据下(Positive的样本较少),PR曲线可能比ROC曲线更实用。
转载自:机器学习算法中的准确率(Precision)、召回率(Recall)、F值(F-Measure)是怎么一回事