不平衡数据集评价指标及常用解决方法

1.不平衡数据集的评估指标有哪些?

评估指标1:recall,Precision,F-score,其中F-score是两者的中和,一般认为F-measure越高,分类器的性能越好;
Precision就是提交给用户的结果里边,究竟有多少是对的;
Recall是一共有这么多的有用结果(包括真正的正样本和负样本),系统究竟能判定出来多少是有用的(能够检出多少?),或者反过来说,我们究竟丢了多少有用的。这两个数是成对出现,单独出现没有意义。为什么这么说?一个例子是我可以轻轻松松将recall提高到100%,那就是不管用户查询啥,我都把系统内所有的文档都给他,这样肯定没丢东西,但是用户也没法得到的好的结果。
但是我们还是希望有一个数能够衡量系统的性能,否则系统A的precision比系统B高,但是recall却比系统B低,那么我们就不太好选了。所以综合Precision和Recall,我们得到一个F Score

**评估指标2:mAP **
AP衡量的是学出来的模型在每个类别上的好坏,mAP衡量的是学出的模型在所有类别上的好坏,得到AP后mAP的计算就变得很简单了,就是取所有AP的平均值。
目标检测中的mAP是从信息检索中的mAP借鉴过来的。
在信息检索中,Average Precision,就是对一个Query,计算其命中时的平均Precision,而mean则是在所有Query上去平均。
回到我们目标检测中的mAP,这个概念是PASCAL VOC比赛中所明确的metric。它的意思是输出的结果是一个ranked list,里边每一个元素包含了类别、框的信息,以及confidence,这个confidence就用来排序。有了排序,就可以计算AP了,然后再针对所有分类,取一个mean,就得到了mAP。这里为何要排序呢?是因为每一个框有一个confidence,mAP作为评估指标,需要考虑confidence进来。比方说我给出一个框,说我有99%的信心这里有一个猫,结果这里没有,相比我给出一个框,说我有10%的信心这里有一个猫,结果也没有,这两个框的penalty和reward不能一样的。因为99%信心说有,结果没有,那就说明这个系统很有问题。反之,假如我给出一个框,99%的信心说有一个猫,然后真有猫,相比10%信心说有猫,结果也是有猫,这两个框也不一样。也就是越“靠谱”,reward越大。什么叫靠谱?靠谱的意思是信心足的时候,一般结果正确。所以我们根据confidence进行排序之后,就应该给排名靠前的结果,也就是confidence比较大的一些更大的权重。所以才会有ranked list。或者可以理解为,我有一个query,查询的内容是,系统中的图片里猫都在那儿?那么这个就肯定需要ranked list了。

值得一提的是在2010年之前,VOC比赛用的AP计算方法并不是上边所述的计算方法,而是对interpolated 的那个图均匀取11个点,[0.0 0.1 0.2 … 1.0]然后求平均。后来才成上边所述的AP计算方法。

评估指标3:接受者操作特征曲线(ROC)
以假正率为x轴,以真正率为y轴做出的曲线。
AUC即ROC特征曲线下面的面积,AUC越大分类器性能越好。最后说说AUC的优势,AUC的计算方法同时考虑了分类器对于正例和负例的分类能力,在样本不平衡的情况下,依然能够对分类器作出合理的评价。例如在反欺诈场景,设非欺诈类样本为正例,负例占比很少(假设0.1%),如果使用准确率评估,把所有的样本预测为正例便可以获得99.9%的准确率。但是如果使用AUC,把所有样本预测为正例,TPRate和FPRate同时为1,AUC仅为0.5,成功规避了样本不均匀带来的问题。

2.不平衡数据集的常用的处理方法?

(1)增强数据集,获取更多的数据(2)重新采样,针对小类数据进行过采样,大类数据进行欠采样(3)人造数据,进行属性随机值采用(4)改变算法,增大小类数据的权值,减小大类数据的权值。或者做异常值处理将小类数据作为异常点,从而转化为异常检测问题,将最后将是一个大类分类器。以两类问题为例 , 假设正类是稀有类 , 并具有 更高的错分代价, 则分类器在训练时, 会对错分正类样本做更大的惩罚 , 迫使最终分类器对正类样本有更高的识别率 .如Metacost和Adacost等算法。

你可能感兴趣的:(深度学习)