简介
做一下记录,方便查看
召回率和精准率
混淆矩阵
- True Positive(真正, TP):将正类预测为正类数.
- True Negative(真负 , TN):将负类预测为负类数.
- False Positive(假正, FP):将负类预测为正类数 →→ 误报 (Type I error).
- False Negative(假负 , FN):将正类预测为负类数 →→ 漏报 (Type II error).
精确率(precision)定义为:
需要注意的是精确率(precision)和准确率(accuracy)是不一样的,
召回率(recall,sensitivity,true positive rate)定义为:
实际上非常简单,精确率是针对我们预测结果而言的,它表示的是预测为正的样本中有多少是对的。那么预测为正就有两种可能了,一种就是把正类预测为正类(TP),另一种就是把负类预测为正类(FP)。
而召回率是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了。那也有两种可能,一种是把原来的正类预测成正类(TP),另一种就是把原来的正类预测为负类(FN)。
参考地址http://charleshm.github.io/2016/03/Model-Performance/#fn:1
自己的感悟
刚开始记录的时候,理解还不是很深。有时真的想不通,怎么会出现正样本和负样本这么一种说法。比如MNSIT数据集应该都是正样本啊,哪来的样本啊。现在想明白了,关于MNIST确实只有正例,所以只有一个评价标准,那就是准确率。
然而为什么需要负例数据集呢,自己感觉应该是为了防止过拟合吧,输入的数据越丰富,那么模型的泛化能力更好。
然而怎么才能产生负例数据呢,关于目标检测中可以将产生的候选框,参考博客:https://www.cnblogs.com/rainsoul/p/6247779.html
在检测的问题中,我理解着就不是那么简单了,因为检测问题需要做的事情是指出哪里有什么,也就是既要给出框,又要说明框中是什么,在这种情况下,我们所具备的数据就是一些人工标注的图片,这些图片上有框,并且会给出框中的物体类别,我们需要运用这些数据生成训练中的正负样本数据,参考了faster以及SSD两种检测框架中对于正负样本的选取准则,我的理解如下:
首先,检测问题中的正负样本并非人工标注的那些框框,而是程序中(网络)生成出来的框框,也就是faster rcnn中的anchor boxes以及SSD中在不同分辨率的feature map中的默认框,这些框中的一部分被选为正样本,一部分被选为负样本,另外一部分被当作背景或者不参与运算。不同的框架有不同的策略,大致都是根据IOU的值,选取个阈值范围进行判定,在训练的过程中还需要注意均衡正负样本之间的比例。我理解着,在fast的框架中,也是需要多SS算法生成的框框与GT框进行IOU的判断,进而选取正负样本,总之,正负样本都是针对于程序生成的框框而言,而非GT数据