ROC曲线、AUC含义

在进行二分类时,机器学习会计算测试样本的预测概率,再人为设定一个阈值,当预测概率大于这个阈值时为正类,反之为负类。这个阈值的设定很重要,直接影响了分类器的泛化能力。

roc曲线就是根据不同的阈值,比较同一个分类器的泛化能力。

在提roc曲线时,先了解下这几个指标:

TP:true positive,正类样本被分类器正确预测为正类,即真正类

FP:false positive,负类样本被分类器错误预测为正类,即假正类

TN:true negative,负类样本被分类器正确预测为负类,即真负类

FN:false negative,正类样本被分类器错误预测为负类,即假负类

TPR:true positive rate,正类样本被分类器预测为正类占样本中所有正类的比率,即 TP / (TP + FN)

FPR:false negative rate,负类样本被分类器预测为正类占样本中所有负类的比率,即FP/(FP+TN)

改变不同的阈值,都会得到一对TPR, FPR,ROC曲线就是以FPR为横坐标,TPR为纵坐标绘制的曲线。如下图所示:曲线上的每个点对应不同阈值下的FPR和TPR。

理想目标:TPR=1,FPR=0,即图中(0,1)点,故ROC曲线越靠拢(0,1)点,越偏离45度对角线越好。


图1

ROC曲线是针对一个分类器下的观察,如果要分析多个分类器哪个泛化能力比较好的情况下,如果ROC曲线出现相交的情况则难以评定最优分类器。这时候就引入了AUC衡量指标,即ROC曲线下的面积。

这里先强调一下:

TPRate的意义是所有真实类别为1的样本中,预测类别为1的比例。

FPRate的意义是所有真实类别为0的样本中,预测类别为1的比例。

AUC表示的意思为,随机从样本中抽出一个正样本和一个负样本,分类器预测正样本为正的概率为p1,预测负样本为正的概率为p2,AUC则表示了p1 > p2的概率。

一下子看可能不好理解,下面就从数学的角度上稍作解释会更加明朗。

AUC即ROC曲线下的面积,而ROC曲线的横轴是FPRate,纵轴是TPRate,当二者相等时,即y=x,如下图:


图2

它所表示的意义为无论是样本是正样本还是负样本,分类器预测两者为正样本的概率是一样的,换句话说,分类器对于正例和负例毫无区分能力,和抛硬币没什么区别。这是最差的情况,此时分类器的AUC值为0.5。

而我们希望分类器达到的效果是:对于真实类别为正类的样本,分类器预测为正类的概率(即TPRate),要大于真实类别为负类而预测类别为正类的概率(即FPRate),即y>x,因此大部分的ROC曲线长成下面这个样子:


图3

最理想的情况下,没有真实类别为1而错分为0的样本,TPRate一直为1,于是AUC为1,这便是AUC的极大值。

你可能感兴趣的:(ROC曲线、AUC含义)