分类模型的评估(二)

在上一篇文章里(《分类模型的评估(一)》),我们讨论了针对某一给定分类结果的评估指标,也就是查准率(Precision)、查全率(Recall)以及综合两者的F-score。

遗憾的是,这些指标并不能很好地评估一个二分类模型的效果,因为在人工智能领域,绝大多数模型都能产生好多份分类结果。关于这一点,可以将模型想象成一个吃鸡游戏的职业玩家,一个玩家可以玩很多局吃鸡比赛。那么对于每一局吃鸡游戏的结果,可以用最终排名或者杀敌数来评判。但是对于一个玩家,显然需要定义新的指标(综合考虑各局游戏的结果,给玩家一个统一的评判标准),比如平均杀敌数、吃鸡的比例等。

类似地,为了更好、更综合地评判一个模型的效果,学术界设计了新的评估指标。它们就是这篇文章将重点讨论的ROC曲线以及AUC。

一、逻辑回归

为了更加方便地讨论各个评估指标,我们首先来介绍一个十分常见的分类模型:逻辑回归。这个模型虽然是解决分类问题的模型,但是它的模型输出是y_i = 1的概率(与上一篇文章一样,我们使用变量y_i来表示真实的结果,\hat{y}_i表示预测的结果。其中y_i = 1或者y_i = 0)。具体来讲,逻辑回归的模型公式如下,其中\hat{\beta}是模型参数的估计值。

\hat{P}(y_i = 1) = \frac{1}{1 + e^{-X_i\hat{\beta}}}\tag{1}

但这只是一个有关概率的预测值,而我们真正想要的是\hat{y}_i,也就是对y_i的预测,这两者之间还差最后一步。这时候就需要人为选定一个阈值\alpha(当然大部分情况下,这个值等于0.5),当\hat{P}(y_i = 1) > \alpha时,才得到\hat{y}_i = 1的预测,具体地如公式(2)所示。

\hat{y_i} = \begin{cases}1, \hat{P}(y_i = 1) > \alpha \\0, else \end{cases}\tag{2}

以逻辑回归为例,我们就可以很清楚地看到,为什么说同一个模型可以产生很多份不同的分类结果了:调整预测阈值α可以得到不同的分类结果。

二、ROC空间

现在开始探讨如何评估二元分类模型。在上一篇文章中,我们讨论了查准查拳率,仔细体会查全率的定义:Recall = TP/(TP + FN),公式中的分母为所有表白成功的幸福人儿,即数据中y_i = 1的数目。这个数字是固定的,与模型无关的,当然公式中的分子是受模型影响的。但是对于查准率:Precision = TP/(TP + FP),公式中的分母为预测结果中,表白成功的幸福人儿,即\hat{y}_i = 1的数目。也就是说对于查准率,分子和分母都受模型的影响。因此当查准率变化时,很难分析清楚变化是来源于哪一部分。这影响了对模型效果的进一步分析。

为了解决这个问题,可以效仿查全率:分母固定,预测结果只影响评估指标的分子。于是,我们定义了真阳性率(True Positive Rate ,TPR)和伪阳性率(False Positive Rate,FPR)这两个指标。使用上篇文章中表1定义的记号,这两个指标的具体定义如公式(3),相应的直观表示可参考图2。

TPR = \frac{TP}{TP + FN},\quad FPR = \frac{FP}{FP + TN} \tag{3}

根据公式可以得到,真阳性率其实就是查全率。它表示针对表白成功的幸福人儿有多大比例,模型对他们的预测结果也是表白成功,它是衡量模型准确程度的指标。而伪阳性率表示针对表白失败的哎们有多大比例,模型对他们的预测结果却是表白成功,它是衡量模型错误程度的指标。对于一份预测结果,显然希望它的真阳性率越高越好,而伪阳性率越低越好。

定义好真伪阳性率这两个评估指标后,我们考虑将它们图形化:以伪阳性率(False Positive Rate)为横轴、真阳性率(True Positive Rate)为纵轴画一个长度为1的正方形,形成所谓的ROC空间。那么对于一份预测结果,根据相应的真伪阳性率,可以将它表示为ROC空间中的一点,如图1所示。

图1

关于ROC空间,有以下几点值得注意。

  • 在ROC空间里,离左上角越近的点预测准确率越高。比如图5-19中的A、B两点,B点在A点的左上方,拥有更高的正确率和更低的错误率。因此它代表更好的预测结果。图中正方形左上角的点表示预测结果与真实情况完全一致,是一个完美的预测。
  • 假设对于每一个数据点i,有60%的概率预测\hat{y}_i = 1;有40%的概率预测\hat{y}_i = 0。这完全是一个随机分类的预测结果。它的真伪阳性率都为60%,对应着图中的D点。以此类推,可以得到,图中的虚线(即正方形的对角线)表示所有随机分类的预测结果。
  • 显而易见,随机分类只是以一定概率猜测结果,没有任何的预测功能。这在理论上是最差的预测方式。但注意到图中的F点,它位于对角线的右下方,表示预测效果比随机分类更差。这是因为它的结果“搞反”了:只要依照F的结论做相反预测,得到新的预测结果E。E的预测效果更好,并且好于随机分类。从图像上来看,E是F以对角线为中线的镜像。

与查准查全率往往成反比不一样。真伪阳性率是正相关关系。比如对于一个逻辑回归模型,降低阈值时,这两个指标都会升高,整个过程如图2所示。直观一些理解,真阳性率是做预测得到的回报,而伪阳性率相当于所需付出的代价。就像生活一样,想要的回报越大,那么付出的代价也就越大。

图2

三、ROC曲线和AUC

如果将模型的阈值从0缓慢增加到1,并把每个阈值对应的预测结果记录在图上,就可以得到所谓的ROC曲线(接收者操作特征曲线,Receiver Operating Characteristic Curve),如图3所示。ROC曲线下的面积,如图中的灰色部分,被称为AUC。它是一个很重要的评估指标。简单来讲,AUC越大,模型的预测效果越好。

图3

我们可以更深入地来探讨AUC所代表的意义(前方预警,下面部分本篇文章的精华)。在抽象的数学讨论之前,先来看一个简单的直观例子:数据集里一共有4个数据,分为被记为1、2、3、4。这些数据按y_i的取值被分为两组:第一组包含数据1、2,即y_1 = y_2 = 1;第二组包含数据3、4,即y_3 = y_4 = 0。假设某个逻辑回归模型对它们的直接预测结果记为P_1,P_2,P_3,P_4,我们可以称这些结果为数据的得分。其中P_1 = 0.8,P_2 = 0.4,而P_3 = 0.5,P_4 = 0.1。所以模型阈值\alpha与最终预测结果所对应的真伪阳性率如表1所示。

表1

将上面的结果表示在ROC空间里可以得到如图4所示的图形。其中AUC等于0.75,这刚好等于第一组数据得分大于第二组数据得分的概率。

回到更一般的情况。第一节里提到,逻辑回归模型的直接预测结果是事件发生的概率,即\hat{P}(y_i = 1)。将这个预测值称为事件的得分。现在随机选取两个数据点k,l,其中y_k = 1,而y_l = 0。如果在预测结果中,k点的得分大于l点的得分,即\hat{P}(y_k = 1) > \hat{P}(y_l = 1),这表示模型对这两个点的直接预测结果是正确的(当然,由于模型阈值的原因,最终预测结果不一定正确)。而AUC就表示这种情况发生的概率,即k点得分大于l点得分的概率。换句话说,AUC可以被视为模型预测正确的概率。用数学公式可以表示为:

AUC = P(\hat{P}(y_k = 1) > \hat{P}(y_l = 1)) \tag{4}

图4

可以看到,AUC与之前定义的查准查全率不同,它的取值不依赖模型阈值α,而完全取决于模型本身。因此它可以被认为是更加全面的模型评估指标。另外,虽然传统的AUC是定义在二元分类问题上的。但如果如公式(4)那样,从概率的角度理解它,可以帮助我们将这一指标推广到更多应用场景,比如大规模推荐系统(在这些场景里,可以通过随机抽样的方式估算公式(4)的概率值,而这个概率值就是AUC)限于篇幅,具体细节这里就不做进一步展开了。

四、总结

由于大部分人工智能分类模型是所谓的评分模型,也就是直接的模型结果是类别的概率而非类别本身,因此,查准、查全、F-score这种分类结果的评估指标并不能很好地评判模型效果。而AUC则不同,它可以很全面地评判一个模型,因为它通过构造ROC曲线将所有可能的分类结果都综合考虑了。

五、广告时间

这篇文章的大部分内容参考自我的新书《精通数据科学:从线性回归到深度学习》

李国杰院士和韩家炜教授在读过此书后,亲自为其作序,欢迎大家购买。

另外,与之相关的免费视频课程请关注这个链接

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

推荐阅读更多精彩内容