白话详解ROC&AUC | 小白深度学习入门

640?wx_fmt=gif

搞机器学习的人一定频繁的听到ROC,AUC或者AUC-ROC,但这个概念又不向准确率召回率那么直观容易理解,给我带来了小小的困扰,这里就系统的学习下这两个概念。

ROC

ROC即Receiver Operating Characteristics, 中文一般翻译成“受试者工作特性曲线”。

这是一种度量二分类性能的指标。直观来讲,ROC曲线表示的是模型在准确识别正例不把负例错误的识别成正例这两种能力之间相互制约的关系(当我们需要“宁可错杀一千,也不放过一个”的时候,ROC能告诉你到底要错杀多少才能一个坏人都不放过)。

在详细解释ROC之前需要先解释两个前置概念,即TPR(True Positive Rate)和FPR(False Positive Rate)。

TPR 真正率(召回率)找出的正例占所有的正例的比率。比如有10人换糖尿病,通过模型确诊了其中的8个,则 TPR=0.8

FPR 假正率 即所有的负例中分类错误的比例。比如有十个人没有患糖尿病(这里把患病作为正例),但是模型错误的将其中一个人误诊为患病,则FPR=0.1

ROC即为以FPR为横轴,以TPR为纵轴的一条曲线(如下图),有了这条曲线你就能清楚的回答下面这些问题

  1. 知道在可以放过1%坏人的情况下要错杀多少好人?

  2. 在最多能错杀1%好人的情况下会放掉多少坏人?

  3. 当糖尿病的误诊率不能高于5%时,会有多少有病的患者被错误判断成无病?

白话详解ROC&AUC | 小白深度学习入门_第1张图片

ROC曲线很直观,也方便使用。但他有个致命的弱点,就是无法对比多个模型的性能。AUC就是为了解决这个问题而出现的。

AUC

AUC,即 Area Under Curve(曲线下面积)。严格上讲,“AUC”并没有意义,因为它可以是你随手绘制的一条曲线的曲线下面积,不过在机器学习领域一般默认AUC就是指AUC-ROC(AUROC也是同样的意思)。 

白话详解ROC&AUC | 小白深度学习入门_第2张图片

AUC-ROC代表一个模型对正负例的区分能力(既不放过一个,也不错杀一个),他的值在0和1之间,越大代表模型性能越好。

从上图中很容易直观的感受到什么是AUC-ROC(途中笔误写成了AOC)。知道了AUC-ROC,还需要知道几个典型值:

  • 当AUC-ROC的值接近1的时候,代表模型效果很好;

  • 当值为0的时候代表模型总是颠倒黑白,把好的说成坏的,坏的说成好的;

  • 当值为0.5时可以认为模型知识随机做出判断,不具备区分能力。

“众智汇”愿景

尽职尽才,允公允能 —— 本社群不定期举行线上分享,组织群友分享知识、经验、资源,以达到让我们每个人的职业生涯得到最大程度的发展的目的

欢迎扫面下列二维码关注“悦思悦读”公众微信号

640?wx_fmt=jpeg

你可能感兴趣的:(白话详解ROC&AUC | 小白深度学习入门)