ROC曲线是什么

与 P-R 曲线相比,ROC 曲线则有更多的优点。下面就来讨论一下 ROC 曲线,以及与其密切相关的 AUC。

ROC曲线

ROC 曲线是英文“receiver operating characteristic curve”的简称,对应的中文含义是“受试者工作特征曲线”。从它略显古怪的名称可以看出,该曲线一开始并非为机器学习领域而设计的。ROC 曲线最早源于军事领域,后来逐渐应用于医学、心理学等领域。在机器学习领域内,ROC 曲线可视为混淆矩阵的改良版:通过不断调整阈值,从而给出不同版本的混淆矩阵,然后“连点成线”。

我们先追根溯源,看看 ROC 曲线是怎么来的,这样就能更加深刻地认识它的用途。据说在第二次世界大战期间,ROC 曲线最先是由战线前沿的电子工程师和雷达工程师联合发明的。雷达兵的任务很明确,就是盯着雷达显示屏,查看是否有敌机来袭(显然,有敌机和没有敌机是一个典型的二分类问题)。

理论上,只要敌机来袭,雷达就会检测出相应的信号。但是,捣蛋分子—各种高空飞鸟也会来凑热闹。当它们出现在雷达扫描区时,雷达屏幕同样也会显示异物来侵的信号。这时,考验雷达兵的时刻就到了。

如果但凡有信号就“草木皆兵”,确定敌机来袭,这显然会增加误报率。而如果将所有信号都认为是飞鸟,泰然处之,则会增加漏报率。每个恪尽职守的雷达兵都想竭尽所能提高敌机预报的准确率。但问题在于,有的雷达兵天性谨慎,倾向于误报;有的雷达兵天生草率,容易漏报。对于军方而言,该如何遴选出“靠谱”的雷达兵呢?

事实上,用机器学习的术语来说,每个雷达兵都可视为一个判断“敌机是否来袭”的分类器。于是问题就演化为,如何挑选性能卓越的分类器呢?最稳妥的办法还是用数据说话。

军方的电子工程师汇总了所有雷达兵的预报数据,特别是漏报和误报的概率,并把这些概率一一绘制到一个二维坐标系中。这个坐标系的纵坐标为敏感性(真阳性率,True Positive Rate,简称 TPR),它表示敌机真的来袭时雷达兵能够预报正确的概率。横坐标为特异性(假阳性率,False Positive Rate,简称 FPR),它表示非敌机来袭(如飞鸟飞过)时,雷达兵将其误判为敌机来袭的概率。

FPR 和 TPR 定义分别为:

FPR=FP/N
TPR=TP/P

N 为真实的负类样本数量,在《二分类和混淆矩阵》一节图 1 所示的混淆矩阵中,N 是 TN(真负类)和 FP(假正类)之和,FP 是负类样本中被分类器误判为正类样本的个数。

P 表示真实的正类样本数量。在《二分类和混淆矩阵》一节图 1 所示的混淆矩阵中,P 是 TP(真正类)和 FN(假负类)之和,TP 是正类样本中被分类器正确预测为正类样本的个数。

上面的定义理解起来有点抽象,下面举例说明。假设雷达兵检测到 10 个外物来袭的信号,其中有 4 个确实是敌机(P=4),另外 6 个是飞鸟(N=6)。现在假设某个雷达兵对这 10 个信号进行判断,判断有3个为敌机。而这 3 个敌机中有 1 个实际为飞鸟,但被误判为敌机(FP=1),飞鸟共触发 6 个警报信号,于是假阳性率 FPR=FP/N=1/6。

在这 3 个敌机判断中,有 2 个确实是敌机(即 TP=2),而实际共有 4 架敌机,那么该雷达兵的真阳性率 TPR=TP/P=2/4。如果把雷达兵看作一个分类器的话,那么他在 ROC 曲线上的坐标点应该是(1/6,2/4)。

事实上,ROC 曲线是通过不断移动分类器的“截断点”来生成曲线上一系列关键点的。下面我们来解释“截断点”。很多时候,我们在判断某个样本是正类样本还是负类样本时,并不能“斩钉截铁”地说它“是(100%)”或“不是(0%)”。

很多分类器(比如贝叶斯分类器、神经网络分类器)仅仅会输出一个分类概率,这时可以给定一个截断点(或说阈值概率),如果分类概率大于这个截断点就判断样本为是正类样本,否则就为负类样本。对于一个已经排序的分类概率,不断移动分类器的“截断点”就会生成曲线上的一系列关键点 (FPR,TPR)。这些关键点连接起来恰好就是一条曲线,它就是我们正在学习的 ROC 曲线(见图 1 )。

ROC曲线

图 1:ROC曲线

下面通过一个案例来进一步说明“截断点”的概念。假设测试集有 20 个样本(真实的正负类样本各 10 个),表 1 为二值分类器的输出结果(p 代表正类标签,n 代表负类标签)。

<caption>表1:二值分类器的输出结果(已排序)</caption>
| 样本编号 | 真实标签 | 模型输出概率 | 样本编号 | 真实标签 | 模型输出概率 |
| 1 | p | 0.9 | 11 | p | 0.4 |
| 2 | p | 0.8 | 12 | n | 0.39 |
| 3 | n | 0.7 | 13 | p | 0.38 |
| 4 | p | 0.6 | 14 | n | 0.37 |
| 5 | p | 0.55 | 15 | n | 0.36 |
| 6 | p | 0.54 | 16 | n | 0.35 |
| 7 | n | 0.53 | 17 | p | 0.34 |
| 8 | n | 0.52 | 18 | n | 0.33 |
| 9 | p | 0.51 | 19 | p | 0.30 |
| 10 | n | 0.505 | 20 | n | 0.10 |

下面来说明 ROC 曲线的绘制过程。当截断点选择正无穷(Infinity)时,分类模型会把所有样本全部判断为负类样本,那么 FP 和 TP 自然都是 0,于是 FPR 和 TPR 也都是 0,因此 ROC 曲线第一个点的坐标就是 (0,0)。

当把截断点(输出概率)定为 0.9 时,表 1 中只有排名第 1 的样本被分类器判定为正类样本,此时 TP=1。而这 20 个样本中有 10 个正类样本,即 P=10,所以 TPR=1/10=0.1。与此同时,在所有被判定为正类样本的样本中,没有被“冤枉”的假的正类样本,即 FP=0。而负类样本也有 10 个,即 N=10,所以 NPR=0/10=0。因此,ROC 曲线的第二个点的坐标为 (0,0.1)。

类似地,当把截断点定为 0.8 时,表 1 中只有前两位的样本被分类器判定为正类样本。因此,TP=2,TPR=2/10=0.2。与此同时,没有假的正类样本,即 FP=0,NPR=0/10=0。因此,曲线的第三个点的坐标为 (0,0.2)。

以此类推,当不断调整截断点时,就能画出所有关键点,再连接这些关键点,就构成了最终的 ROC 曲线,曲线最终停留在 (1,1) 这个点上,如图 2 所示。如果这些关键点足够密集,图 2 所示的 ROC 曲线就不再是锯齿状的,而是光滑的曲线。

ROC曲线的绘制

图 2:ROC曲线的绘制

折腾半天,我们就介绍了 ROC 曲线的绘制。你可能会问,这 ROC 曲线到底有什么用呢?简单来说,ROC 曲线是用来评估不同二分类算法的性能的。那该如何评估某两个分类算法的优劣呢?这就要用到另一个概念 AUC 了。

AUC

AUC 是 Area Under Curve 的简称,顾名思义,它表示的是“曲线下的面积”。这里的“曲线”就是我们前面提到的 ROC 曲线。AUC 就是 ROC 曲线下的面积总和,该值能够量化反映分类算法的性能。

计算 AUC 的值并不复杂,只需要沿着 ROC 曲线的横轴做积分(或累加求和)即可。通常,ROC 曲线都位于 y=x 这条线的上方(如果不是这样的,只需要把模型预测概率 P 反转成 1-P 能得到一个更好的分类器)。

因此,AUC 的取值范围一般是 0.5~1。通常来说,AUC 越大表明分类器性能越好,因为它可以把真正的正类样本排在前面,降低误判率。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,837评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,551评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,417评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,448评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,524评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,554评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,569评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,316评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,766评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,077评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,240评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,912评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,560评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,176评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,425评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,114评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,114评论 2 352

推荐阅读更多精彩内容