从另外一个角度解释AUC

简介: AUC到底代表什么呢,我们从另外一个角度解释AUC,

AUC到底代表什么呢,我们从另外一个角度解释AUC,我们先看看一个auc曲线

蓝色曲线下的面积(我的模型的AUC)比红线下的面积(理论随机模型的AUC)大得多,所以我的模型一定更好。

我的模型比随机模型好多少呢?理论随机模型只是对角线,这条对角线下的面积是0.5,我们的模型的AUC是0.75 那么这个0.75的AUC值究竟代表什么?

首先,我们要了解AUC是为一个可以给出概率分数的模型定义的。另外一点是,它是为二元分类任务定义的。但是也可以推广到多类分类问题。

我们要牢记以上这两点,这样才可以继续解释这个问题。

二元分类模型是什么样子的?

简单地说,给定一个数据点,比如x,它可以有许多特征,任何这样的数据点的类只能有两种可能性,要么是1,要么是0。而模型一般都会预测样本为1的概率(0-1之间的一个数值)。

也就是说,它不是直接断言类,而是预测一个类的概率。

我们得到了这个分数,可以把它看做是一个信心的衡量标准。如果你把钱押在两匹马上,x1和x2。你记录下它们的特征,然后通过分类器。第一个赢的概率是0.90第二个赢的概率是0.85。这两匹马都有相当不错的胜率,虽然这两个马的分类都是“win”(因为概率都超过了50%)。但是如果只有在一匹马上下注的钱,那么根据概率你会选择哪匹马呢?

在上面的讨论中,我们忽略了一个假设,这正是直观理解AUC的最基本方面。我如何判断这两匹马都属于这个类别呢?因为他们获胜的概率都很高(>0.5)。但是有多高呢?

为什么把这两匹马都归为类别获胜似乎是一件显而易见的事情?

因为在0到1的范围内(这是任何概率的范围),大于0.5或0.55的值应该被视为高值。但是,如果你真的要下注,而一匹马的概率是0.60,你会下注吗?我不这么认为!也就是说,你不关心0.5的门槛,你有一个更高的门槛因为你是在用真的钱在冒险,所以你可能会想拒绝0.6的那匹马是明智的。

如果把阈值提高到0.95上面提到的马x1和x2都会被拒绝。但是如果你的门槛是0.88,哪你会选择x2而拒绝x1。

也就是说,当涉及概率评分时分类结果将取决于0-1范围内阈值的选择。

这里我们首先假设有一个上帝模型,它会知道哪匹马会赢,所以它会输出获胜的概率分数,赢的马的概率分数为0.999,其他所有马的概率分数为0.0001。另外一个假设你是一个“傻瓜”,你会相信即使是一匹赢的概率等于0.1的马也会赢。

当我们的模型给出胜出的概率为0.25时,你肯定直接去柜台把钱押在那匹马身上(0.25>0.1)。但是如果你有上帝模型,它会直接输出0.0001,而你的阈值是0.1,因此你也不会在那匹马上下注,所以即使你是“傻瓜”,但上帝模型很好也可能给你正确的答案。也就是说无论你的阈值是多少,如果这个模型都很好,你就不会有损失。

因此,无论你的阈值是0.9还是0.95,上帝模型都会输出获胜马的概率分数为0.999,这将高于做出决定而设置的任何阈值。因此你将永远赢钱,永远不会赔钱。

对于上帝模型来说,True-Positive 率总是1,False-Positive率总是0。上帝模型的ROC曲线可以说是不存在的,因为在绘制它时,你会发现只有一个点,FP等于0,TP等于1。

TPR和FPR

让我们继续说说TPR和FPR。

TPR:在所有正例中,有多少被预测为正例的。

对于我们说的赛马来说,TPR是假设钱被押注的情况下的赢钱的概率。而FPR是在赌钱的情况下赔钱的比率。所以,我们希望TPR大于FPR。

FPR:在所有真正的负例中,有多少被预测为正例的

假设你的阈值太低,比如0.05。模型给出的任何概率值都可能高于阈值,因此每个实例都被预测为正例。在这种情况下,TPR和FPR都是1。类似的当阈值过高(如0.99)时,你的模型给出的任何概率分数都可能低于阈值,因此每个实例都被预测为负例。在这种情况下,TPR和FPR都等于0。

所以如果绘制这两个点,其中FPR =TPR =1和FPR =TPR =0,你会发现这两个点在对角线上。注意对角线的方程是FPR = TPR。他的含义是,如果模型对不同的截止点表现出这样的行为,我们可以保证不会因为损失而抵消你所赚的钱。

为了得到一个比随机模型更好、更接近上帝模型的模型,我们希望TPR在大多数截断点上大于FPR。

为什么呢?因为TPR是可能获胜的总数中的胜率,而 FPR 给出了下注的输钱率。对角线上方的区域是TPR大于FPR的区域。曲线越向上移动越好。

最后就是要量化这个概念,曲线下的面积是有意义的。曲线下的面积越大,曲线向上移动的幅度就越大。所以当看到TPR和FPR之间的曲线时,

你会注意到曲线位于TPR > FPR的区域。通过AUC,你就知道它有多好。

为什么要在TPR和FPR之间画一条曲线呢?

我们继续用赛马的例子中给出TPR和FPR的含义来解释这一点

橙色的ROC曲线说明了什么?这条曲线通过绘制TPR与FPR在不同截点处的曲线而存在。这条曲线表明无论截点是多少,TPR总是等于1。

从这一点出发,截点用于检查模型的判别质量有多健壮。也就是说即使有不同的截点,模型给出的TPR值总会高于FPR值。具体高出多少呢?

AUC就给出的是给出“多高”的概念。因为我们感兴趣的是知道模型有多好?它能更好地区分两个类别(赢/输),我们赌赢钱越多,赌输钱越少的可能性就越大。

https://avoid.overfit.cn/post/0c5dffb7414141a98c4b1ffb5b5f6c82

作者:Number Theory

目录
相关文章
|
7天前
|
JSON API 数据格式
OpenCode入门使用教程
本教程介绍如何通过安装OpenCode并配置Canopy Wave API来使用开源模型。首先全局安装OpenCode,然后设置API密钥并创建配置文件,最后在控制台中连接模型并开始交互。
3198 7
|
13天前
|
人工智能 JavaScript Linux
【Claude Code 全攻略】终端AI编程助手从入门到进阶(2026最新版)
Claude Code是Anthropic推出的终端原生AI编程助手,支持40+语言、200k超长上下文,无需切换IDE即可实现代码生成、调试、项目导航与自动化任务。本文详解其安装配置、四大核心功能及进阶技巧,助你全面提升开发效率,搭配GitHub Copilot使用更佳。
|
3天前
|
人工智能 API 开发者
Claude Code 国内保姆级使用指南:实测 GLM-4.7 与 Claude Opus 4.5 全方案解
Claude Code是Anthropic推出的编程AI代理工具。2026年国内开发者可通过配置`ANTHROPIC_BASE_URL`实现本地化接入:①极速平替——用Qwen Code v0.5.0或GLM-4.7,毫秒响应,适合日常编码;②满血原版——经灵芽API中转调用Claude Opus 4.5,胜任复杂架构与深度推理。
|
15天前
|
存储 人工智能 自然语言处理
OpenSpec技术规范+实例应用
OpenSpec 是面向 AI 智能体的轻量级规范驱动开发框架,通过“提案-审查-实施-归档”工作流,解决 AI 编程中的需求偏移与不可预测性问题。它以机器可读的规范为“单一真相源”,将模糊提示转化为可落地的工程实践,助力开发者高效构建稳定、可审计的生产级系统,实现从“凭感觉聊天”到“按规范开发”的跃迁。
2244 18
|
7天前
|
人工智能 前端开发 Docker
Huobao Drama 开源短剧生成平台:从剧本到视频
Huobao Drama 是一个基于 Go + Vue3 的开源 AI 短剧自动化生成平台,支持剧本解析、角色与分镜生成、图生视频及剪辑合成,覆盖短剧生产全链路。内置角色管理、分镜设计、视频合成、任务追踪等功能,支持本地部署与多模型接入(如 OpenAI、Ollama、火山等),搭配 FFmpeg 实现高效视频处理,适用于短剧工作流验证与自建 AI 创作后台。
1130 5
|
6天前
|
人工智能 运维 前端开发
Claude Code 30k+ star官方插件,小白也能写专业级代码
Superpowers是Claude Code官方插件,由核心开发者Jesse打造,上线3个月获3万star。它集成brainstorming、TDD、系统化调试等专业开发流程,让AI写代码更规范高效。开源免费,安装简单,实测显著提升开发质量与效率,值得开发者尝试。
|
17天前
|
人工智能 测试技术 开发者
AI Coding后端开发实战:解锁AI辅助编程新范式
本文系统阐述了AI时代开发者如何高效协作AI Coding工具,强调破除认知误区、构建个人上下文管理体系,并精准判断AI输出质量。通过实战流程与案例,助力开发者实现从编码到架构思维的跃迁,成为人机协同的“超级开发者”。
1277 104
|
13天前
|
人工智能 JSON 自然语言处理
【2026最新最全】一篇文章带你学会Qoder编辑器
Qoder是一款面向程序员的AI编程助手,集智能补全、对话式编程、项目级理解、任务模式与规则驱动于一体,支持模型分级选择与CLI命令行操作,可自动生成文档、优化提示词,提升开发效率。
1016 10
【2026最新最全】一篇文章带你学会Qoder编辑器