AUC含义的通俗理解
AUC含义的通俗理解
假设有一个分类器,并且该分类器可以得到将一个样本预测为正的概率,并将此概率称为这个样本的得分。
首先说一下AUC的含义:随机给定一个正样本和一个负样本,用一个分类器进行分类和预测,该正样本的得分比该负样本的得分要大的概率。
那么应该如何理解这个含义呢?首先我们要知道ROC曲线是怎么画出来的。而AUC即ROC曲线下面的面积。
1. 混淆矩阵
(图源:https://www.zhihu.com/question/39840928)
从这个矩阵中我们引入了真阳率(True Positive Rate, TPR)以及假阳率(False Positive Rate, FPR)的概念:
仔细看这两个公式,发现其实TPR就是TP除以TP所在的列,FPR就是FP除以FP所在的列,二者意义如下:
- TPR的意义是所有真实类别为1的样本中,预测类别为1的比例。
- FPR的意义是所有真实类别为0的样本中,预测类别为1的比例。
2. ROC曲线的绘制
假设我们有如下几个数据,其中p表示真实的正样本,n表示真实的负样本,得分为某一分类器将此样本预测为正样本的概率。我们将其按照得分由大到小排序,并将正负样本按照得分从小到大分别编号。
我们还需要一个概念:阈值。我们设定这个阈值,并将得分小于等于这个阈值的所有样本预测为负,大于这个阈值的样本预测为正。
我们建立TPR和FPR的坐标。最开始,我们令这个阈值为0,则所有的样本都被预测为正,此时TPR和FPR都是1,则我们在图像上(1,1)这个地方描一个点。之后,我们按照所有样本的得分从小到大依次将其设置为阈值,即下一次阈值设置为0.2,此时只有样本n1被预测为负,其他样本均被预测为正,此时的TPR还是1,而FPR则变为了0.75,我们在(0.75,1)的地方描一个点。下一次阈值设置为0.35,此时样本p1和n1被预测为负,其余样本被预测为正,此时TPR变为0.8,FPR仍为0.75,我们在(0.75,0.8)的地方描一个点。以此类推,直到最后将所有样本都预测为负,画出ROC曲线。
3. AUC含义的理解
注:下面的说明不是严格的证明,只是帮助通俗理解。
那么,应该怎么将AUC的值与概率联系起来呢?首先,我们知道整个区域的面积是1。假设正样本的数量为,负样本数量为,并且在改变阈值的过程中,每当一个样本从被预测为正,变为被预测为负,则:
- 若此样本为正样本,则TPR将减小
- 若此样本为负样本,则FPR将减小
由于每让一个样本的预测结果发生变化,都画出了一条线段,因此让每个样本对应一条线段,负样本对应上方水平的线段,正样本对应右侧垂直的线段。于是可以将整个区域划分为个小区域,每个区域可以由一条垂直的线段和一条水平的线段通过平移组成,那么这个区域就可以代表这两条线段对应的一个正样本和一个负样本组成的样本对,如下图。
那么我们来理解一下图中黄色区域代表什么?这个黄色部分代表的其实是所有得分比n2的得分高的正样本与n2组成的样本对。也就是说黄色的部分由4个小块组成,每个小块是一个样本对,在这个样本对中,正样本的得分比负样本得分高。
所以,我们可以得到结论,ROC曲线下面的所有小块代表的样本对都是正样本得分比负样本得分高的样本对。而我们也可以证明ROC上面的所有小块代表的样本对都是正样本得分比负样本得分低的样本对。
现在,你能否理解AUC的含义了呢:随机给定一个正样本和一个负样本,用一个分类器进行分类和预测,该正样本的得分比该负样本的得分要大的概率。
而根据这一含义,我们也可以确定,AUC越大(越接近1),模型的分类效果越好。