5分钟带你学懂ROC曲线

目录

ROC

混淆矩阵:

定义

生成ROC曲线

生成实例

AUC(Area under ROC Curve)

AUC对模型性能简单评估

ROC曲线的优势


ROC

ROC全称是受试者工作特征(Receiver Operating Characteristic),源于二战中敌机检测雷达信号分析,20世纪末被引进于机器学习领域

1. ROC曲线的作用是什么?
答:对学习器的泛化性能评估,针对某种具体任务(样本)评估模型性能

2. ROC曲线是什么?

混淆矩阵:


首先我们要引出混淆矩阵(confusion matrix)

5分钟带你学懂ROC曲线_第1张图片
    理解上面的混淆矩阵,下面的所有定义都是根据该混淆矩阵推导得出的:
    TP就是样本是正例的且用学习器分类出来也是正例的
    FN就是样本是正例的但学习器分类出来是反例的
    FP是在样本是反例的但学习器分类出来是正例的
    TN是在样本是反例的且学习器分类出来是反例的(一般不会关心这个指标)
    

定义

下面给出两个重要的定义,需要同学们理解,千万不能死记硬背:

又称敏感度,TPR是学习器分类正确的正实例占所有样本正实例的比例

又称特异度,FPR是指学习器分类正确占所有样本反例的比例

了解了以上两个定义,就可以从形式上知道ROC曲线是什么了。它是每个点以对应的分别以FPR和TPR为横纵坐标所构成曲线图,ROC曲线与两个坐标下对应的面积即是AUC(Area under ROC Curve)

下图为一个ROC曲线:

5分钟带你学懂ROC曲线_第2张图片

生成ROC曲线

那么,我们就要了解,从数学角度上如何生成一个ROC曲线:
首先,对于一个特定的学习器(模型)和一个样本,在坐标上有且仅对应一个点(一组结果),那么我们怎样得到一系列结果从而生成一个“平滑”的ROC曲线呢?
我们测试集有n个样本就可以说生成对应的点(n组结果),从而生成一个“平滑”的ROC曲线。
学习器(分类器)可以帮助我们生成预测该样本是正样本的概率,有n个样本就生成n个score值,放入列表中,将其从大到小排序,依次将各score值从大到小顺序设置为阈值(threshold),只要样本score值大于等于当前阈值则认为是正样本、否则认为是负样本。即每个阈值对应一个混淆矩阵,得到一组结果。以此类推,我们可以得到n组结果,并将其连成平滑曲线

生成实例

Number

类别

学习器预测的正样本概率

1

P

0.9

2

N

0.55

3

P

0.35

4

N

0.2

5

P

0.1

 

        1. 当阈值为0.9时

TP=1

FN=2

FP=0

TN=2

TPR = \frac{1}{3}

FPR = 0 ;

        2. 当阈值为0.55时

TP=1

FN=2

FP=1

TN=1

TPR = \frac{1}{3}

FPR = \frac{1}{2 }

以此类推,可以得到5个点的坐标,绘制一个ROC曲线图,当然,随着点的数目(样本数目)越多,该ROC曲线会越来越平滑。对学习器的泛化性能评估也会更好

AUC(Area under ROC Curve)

 之前提到过,ROC曲线与两个坐标下对应的面积即是AUC(Area under ROC Curve)

如下图蓝色部分即是该ROC曲线所对应的AUC

5分钟带你学懂ROC曲线_第3张图片
对于特定的任务(测试集),不同学习器对应不同的ROC曲线,若存在a、b学习器,若a对应的ROC完全包裹住b所对应的ROC,则说明a的学习器泛化性能更好。但一般情况下对应的ROC曲线会重合,所以引出了AUC的概念。一般来说,AUC越大,模型更有预测价值。
可估算(积分)为: AUC = \frac{1}{2}\sum(x_(i+1)+x_i)(y_i+y_(i+1)) ,AUC\in[0,1]

AUC对模型性能简单评估

Value of AUC

性能评估

1

非常优异,但现实工程问题不存在

0.5~1

Well

0~0.5

Bad,不如乱猜

ROC曲线的优势

ROC曲线与AUC评价体系在机器学习分类问题中非常好用,ROC曲线有一个很好的特点:在总样本中正负样本比例变化的情况下,ROC曲线能够保持很小的变化/甚至不变(证明思路是会用所有样本的threshold生成结果,样本数目足够大时,最终生成稳定曲线,笔者这里没有详细证明)。这在很多工程问题上有较好的体现,例如在新冠疫情病毒检测中,正样本数目一定远远大于负样本数目,这就体现了ROC与AUC模型泛化性能评价体系的优势。

tony的机器学习笔记之ROC篇

如有错误,望君雅正

Reference:

[1]周志华. 机器学习[M]. 清华大学出版社, 2016.

你可能感兴趣的:(机器学习,ROC曲线,数据科学,机器学习,深度学习,cnn)