机器学习的一些概念

前言

最近在学习机器学习的知识,在此记录一些机器学习的相关概念。主要包括准确率(Accuracy)、精确率(Precision)、召回率(Recall)、ROC曲线、PR曲线、AP和mAP,后续会陆续增加其他概念,如有问题欢迎批评指正。

准确率(Accuracy)

首先明确几个概念,如下表:

符号 描述
True Positive(TP) 将正类预测为正类
True Negative(TN) 将负类预测为负类
False Positive(FP) 将负类预测为正类(误报)
False Negative(FN) 将正类预测为负类(漏报)

准确率是我们最常见的评价指标,而且很容易理解,就是预测对的样本数除以所有的样本数,通常来说,正确率越高,分类器越好。
依据上面表格,计算公式为:

机器学习的一些概念
准确率确实是一个很好很直观的评价指标,但是有时候准确率高并不能代表一个算法就好。比如某个地区某天地震的预测,假设我们有一堆的特征作为地震分类的属性,类别只有两个:0:不发生地震、1:发生地震。一个直观的分类器,对每一个测试用例都将类别划分为0,那么它就可能达到99%的准确率,但真的地震来临时,这个分类器毫无察觉,这个分类带来的损失是巨大的。为什么99%的准确率的分类器却不是我们想要的,因为这里数据分布不均衡,类别1的数据太少,完全错分类别1依然可以达到很高的准确率,却忽视了我们关注的东西。再举个例子来说明在正负样本不平衡的情况下,准确率这个评价指标有很大的缺陷。比如在互联网广告里面,点击的数量是很少的,一般只有千分之几,如果用Acc,即使全部预测成负类(不点击)Acc也有 99% 以上,没有意义。因此,单纯靠准确率来评价一个算法模型是远远不够科学全面的。

精确率(Precision)

预测为正的样本中有多少是真正的正样本,它是针对我们预测结果而言的。Precision又称为查准率,由上表可得计算公式:
机器学习的一些概念

召回率(Recall)

样本中的正例有多少被预测正确了, 它是针对我们原来的样本而言的。Recall又称为查全率,由上表可得计算公式:

机器学习的一些概念

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等衡量指标更加合理,但是其在高不平衡数据条件下的表现仍然过于理想,不能够很好的展示实际情况。

PR曲线

PR(Precision-Recall)曲线反映了分类器对正例的覆盖能力。 举个例子(例子来自Paper:Learning from eImbalanced Data): 假设N_c>>P_c(即Negative的数量远远大于Positive的数量),若FP很大,即有很多N的sample被预测为P,因为FP_rate=TP/N_c ,因此FP_rate的值仍然很小(如果利用ROC曲线则会判断其性能很好,但是实际上其性能并不好),但是如果利用PR,因为Precision综合考虑了TP和FP的值,因此在极度不平衡的数据下(Positive的样本较少),PR曲线可能比ROC曲线更实用。详细可参考《P-R曲线深入理解》

机器学习的一些概念

AP与mAP

AP( Average Precision ),类别 AP 是 P-R 曲线所围成下面积。具体计算可如下图所见:
这是一张,判定预选框和GT( Ground Truth ) 的对比。参考《AP,Precision,Recall, mAP 之间的关系》
机器学习的一些概念
通过这张图,我们可以将每个候选框的预测信息所标记出来。(这里我们设定IOU > 0.3 即为 True, 小于 0.3 即为 负)。
机器学习的一些概念
根据这张图的信息,我们可以画出 P-R 曲线图。我们按照 置信度进行一次新的排序,就会更清晰明了。
机器学习的一些概念
由此可知,我们将这些点标记在坐标轴中:
机器学习的一些概念
然后根据此信息,画出其 P-R 曲线后进行计算。
机器学习的一些概念
机器学习的一些概念
计算面积:
机器学习的一些概念
mAP(mean Average Precision )
假设这里有非常多的物体类别,如,猫,狗,老鼠,牛,虎等等。那么每一项物体信息都会有其AP值的信息,这里将其做了一个平均操作。