文章目录

  • 引言
  • ROC的引入
  • 混淆矩阵
  • ROC曲线的解释
  • EER
  • AUC


引言

 本文旨在介绍ROC曲线及其前置概念如混淆矩阵、FPR、TPR等,还有其引申概念EER、AUC等等。

ROC的引入

 ROC曲线是一张用于评价二分类模型的曲线图,典型如下图所示:

rnn二分类 二分类 roc_机器学习


理论上来说,该曲线越靠近坐标系的左上角说明该二分类器的表现越好,一个理想的二分类的ROC曲线应如下图所示:

rnn二分类 二分类 roc_二分类_02

混淆矩阵

 为了了解ROC曲线横纵轴所代表的意义及曲线的内涵,我们需要先介绍二分类器的另一个评估指标–混淆矩阵,混淆矩阵是由给定了二分类器的分类阈值情况下,计算不同类型样本数目所构造的表格(分类阈值指当rnn二分类 二分类 roc_分类_03,当rnn二分类 二分类 roc_算法_04或相反情况),表格具体如下表所示。

预测·真

预测·假

总和

真实·真

TP

FN

Actual positive: TP+FN

真实·假

FP

TN

Actual negative: FP+TN

总和

Predicted positive: TP+FP

Predicted negative:FN+TN

TP+FN+FP+TN

以TP为例进行解释:预测为真,实际也为真的样本的数目,其余同理。
由混淆矩阵引申出几个比值的概念:
rnn二分类 二分类 roc_机器学习_05

TPR描述真实样本中预测为真的比例
FPR描述虚假样本中预测为真的比例
TNR描述虚假样本中预测为假的概率
FPR描述虚假样本中预测为真的概率

rnn二分类 二分类 roc_分类_06,使得二分类器的FPR指标由0变化至1,计算出相应的TPR变化情况,从而绘制了ROC曲线,给出表格形式如下:

阈值

rnn二分类 二分类 roc_分类_06

rnn二分类 二分类 roc_分类_06


FPR

0




1

TPR

0




1

ROC曲线的解释

 ROC曲线想要反应的是二分类器在不同阈值选取下的耐受情况,即当我们阈值设置的过低时TPR肯定很高,即真实样本都会判断为真实样本,但这很显然是不对的,当我们阈值设置的过高时,FPR肯定也很低,即虚假样本都会判断为虚假样本,同样也不符合实际场景。我们需要的好的分类器应该是付出一定阈值代价使得FPR有点高的同时,TPR仍然保有较高值,即折中阈值。

以图像形式展示如下:

rnn二分类 二分类 roc_机器学习_11

可以看出当阈值rnn二分类 二分类 roc_二分类_12时,FPR=0,但TPR较小(真样本被误判为假);
当阈值rnn二分类 二分类 roc_机器学习_13时,TPR=1,但FPR较大(假样本被误判为真);
因此我们应该选取rnn二分类 二分类 roc_二分类_14以使得FPR、TPR进行折中。

EER

 在前文中我们提到,我们希望选取的阈值应该是使得真样本被判假和假样本被判真折中,即FPR=FNR,而FNR=1-TPR,所以我们实际上只需要在图中画一条TPR=1-FPR的直线,找到它与ROC曲线的交点,该点对应的阈值即为我们一般会设置为二分类器参数的阈值,该点对应的FPR=FNR即为EER,越小越好。

rnn二分类 二分类 roc_二分类_15

AUC

 AUC即为ROC曲线下的面积,从前述介绍来看,ROC曲线越靠近左上角越好,意味着换取TPR(T较小)很大时不用付出较大的FPR作为代价,因此曲线下的面积也会越大。即AUC越大,说明二分类器效果越好。