不确定度校准和可靠性图简介

图片来源
项杰

一、说明

        不确定性校准是机器学习中最容易被误解的概念之一。它可以概括为这个简单的问题:“鉴于上述下雨的可能性,您是否带伞?”

        我们在日常生活中使用主观概率和不确定性校准的概念,但没有意识到它们。对于不确定性校准良好的天气预报模型来说,如果下雨的概率只有 5%,那么带伞可能就不值得了。从频率论的角度来看,如果可以通过大量随机试验反复观察上图早上7点的天气情况,那么只有5%会下雨。然而,另一方面,如果不确定性校准不当,那么早上 7 点的随机试验中 40% 可能最终会下雨——这是一个很大的意外惊喜。

二、什么是不确定度校准?

        德格鲁特等人以预报降雨为例说明校准的概念。

校准的概念涉及预报员的预测与实际观测到的相对降雨频率之间的一致性。粗略地说,如果预测者在预测为 x 的这些天中,长期相对频率也是 x,则可以说他是经过良好校准的。

        换句话说,对于一个校准良好的模型,如果它预测一组图像中有 40% 的概率是猫,那么该组图像中包含猫的频率应该等于 40%。“相对频率”有时被称为“条件概率”,可以理解为以预测概率为 40% 为条件的 cat,即积极结果的概率。

        Dawid [1] 提出了类似的过程,如下所示。

将预测与现实进行比较的一种方法是挑选一些相当任意的测试天集,并将 (a) 相关事件实际发生的天数比例 p 与 (b) 这些天的平均预测概率 π 进行比较。

        如果我们遵循某种划分方案来选择比较(a)和(b)的测试集,我们就会得到可靠性图。

三、可靠性图

        在二元分类问题中,我们训练一个模型来估计示例被分类为正类的概率,即 f(x_i)=p(y_i=1|x_i),如下图 1 所示。

图 1. 估计一组示例的概率

        一旦我们获得了测试集的概率,我们就将概率划分为 K 个子集,其中每个子集代表 0 到 1 之间不相交的概率区间。如图 2 所示。

图 2。示例根据区间 [0, 0.33)、[0.33, 0.66) 和 [0.66, 1] 分为三组。

        对于不同颜色的每个子集,我们计算两个估计:(a)平均预测概率,(b)正例的相对频率。

        我们首先计算 (a) 每个子集的平均预测概率,如图 3 所示。

图 3. 每个子集的平均预测概率。

        接下来我们计算(b)正例的相对频率,这需要了解真实标签的知识。在图4中,我们使用灰色圆圈表示负类,其余颜色表示正类。举个例子,在集合 1 中,只有一个例子是正例;因此,正例的相对频率为1/3。

图 4. 正面例子的相对频率

        可靠性图是根据 (a) 绘制 (b) 的图,如图 5 所示。

图 5. 可靠性图

        直观地,校准图表明: (I) 当平均预测概率为 0.17 时,大约 33% 的预测是正的;(II) 当平均预测概率为 0.45 时,大约 50% 的预测为正;(III) 当平均预测概率为 0.82 时,大约 80% 的预测是肯定的。这个设计的模型虽然并不完美,但校准得相对较好。

四、误解:相对频率与准确度

        关于可靠性图的一个普遍误解是用“准确度”代替“相对频率”。有时,从业者——包括我非常尊敬的著名研究人员——用“每个子集的准确性”来表示相对频率,这并不是校准的本意。我们需要从相对频率的角度来理解校准,其中正类的预测置信度应该反映所有预测中正例的频率(有时称为子集的流行度)而不是准确性。

我将使用scikit-learn [3]中的示例来展示它们之间的差异。图 6 显示了逻辑回归模型的可靠性图,该模型的校准相对较好。

图 6. 可靠性图

但是,如果我使用精度绘制 y 轴,它看起来像 V 形曲线,如图 7 所示。

图 7. 准确度-平均预测值图

        这是因为当阳性预测概率较低而阴性概率较高时,会抬高图的左半部分。这可以通过平均预测值的直方图来验证。大量示例的平均预测值在 0 到 0.1 之间,因为它们是负类,并且大多数示例都被模型正确分类。

五、结论

        希望您永远不会担心天气预报的不确定性校准。如果当下雨的概率低于 20% 时你总是被淋湿,你就知道预测模型校准不当。

        从机器学习从业者的角度来看,不确定性校准与模型概率结果的解释高度相关,特别是在医疗领域等安全关键应用中。

六、参考

[1] 德格鲁特、莫里斯 H. 和斯蒂芬 E. 费伯格。“预测者的比较和评估。” 《皇家统计学会杂志》:D 系列(统计学家) 32.1–2 (1983):12–22.APA

[2] Dawid, A. Philip. “The well-calibrated Bayesian.” Journal of the American Statistical Association 77.379 (1982): 605–610.APA

[3] sklearn.calibration.calibration_curve — scikit-learn 1.3.2 documentation

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/178082.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第四节HarmonyOS 熟知开发工具DevEco Studio

一、设置主体样式 默认的代码主题样式是黑暗系的,如下图所示: 如果你不喜欢,可以按照一下步骤进行修改: 左上角点击Flie->Settings->Appearance&Behavior->Appearance,点击Theme,在弹出的下拉…

XXDD——UUII(交互设计)

今天我们再次回到Adobe全家桶的怀抱,今天介绍的这一位成员,是最直接帮助大家进行平面交互式设计的软件。他就是XD~ Adobe XD全称Adobe Experience Design CC, 官方版跨平台支持Win10 与 macOS,并且所有用户均可免费下载使用。Adob…

Linux fork笔试练习题

1.打印结果&#xff1f; #include <stdio.h> #include <unistd.h> #include <stdlib.h>int main() {int i0;for(;i<2;i){fork();printf("A\n");}exit(0); } 结果打印 A A A A A A 2.将上面的打印的\n去掉,结果如何? printf("…

解决No module named pip问题

pip更新指令&#xff1a;python -m pip install --upgrade pip输入运行后如果出现错误“no module named pip”&#xff0c;则运行以下指令&#xff1a;python -m ensurepipeasy_install pip然后再执行&#xff1a;python -m pip install --upgrade pip

Java小游戏 王者荣耀

GameFrame类 所需图片&#xff1a; package 王者荣耀;import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.io.File; import java.util.ArrayLis…

Linux处理文本常见命令

目录 1 vim 2 echo 3 tee 4 cat 1 vim 编辑文本类的内容&#xff0c;使用的时候 vim [文件名]&#xff0c;比如 vim A.txt 进入vim界面后&#xff0c;按i可以开启编辑模式&#xff0c;按ESC可以关闭编辑模式&#xff0c;关闭编辑模式后:wq!保存并退出 2 echo ech…

1052 Linked List Sorting (巨坑题)

题意&#xff1a;以address,val,next_address的形式给定一个链表&#xff0c;同时给定头节点的address&#xff0c;求将该链表排序后的形式。 pat拿分简单&#xff0c;但是拿要高分确实难。。 坑点一&#xff1a;有的结点不在该链表上&#xff0c;需要遍历一遍链表排除掉。&a…

20.什么是bean装配?

什么是bean装配&#xff1f; 装配&#xff0c;或bean 装配是指在Spring 容器中把bean组装到一起&#xff0c;前提是容器需要知道bean的依赖关系&#xff0c;如何通过依赖注入来把它们装配到一起。 额外扩展 Bean中主要包含三种装配方式&#xff0c;分别为 基于XML的装配基于…

PTA: 螺旋矩阵

题目 所谓“螺旋矩阵”&#xff0c;是指对任意给定的N&#xff0c;将1到NN的数字从左上角第1个格子开始&#xff0c;按顺时针螺旋方向顺序填入NN的方阵里。本题要求构造这样的螺旋方阵。 格式 输入格式: 输入在一行中给出一个正整数N&#xff08;<10&#xff09;。 输出…

【C语言加油站】函数栈帧的创建与销毁 #保姆级讲解

函数栈帧的创建与销毁 导言一、计算机硬件1.冯•诺依曼机基本思想2.冯•诺依曼机的特点&#xff1a;3.存储器3.1 分类3.2 内存的工作方式3.3 内存的组成 4.寄存器4.1 基本含义4.2 寄存器的功能4.3 工作原理4.4 分类4.4.1 通用寄存器组AX(AH、AL)&#xff1a;累加器BX(BH、BL)&a…

Git——Git应用入门

将会介绍以下知识&#xff1a; 搭建Git环境和创建Git版本库&#xff08;init、clone&#xff09;。文件添加、状态检查、创建注释和查看历史记录。与其他Git版本库交互&#xff08;pull、push&#xff09;。解决合并冲突。创建分支列表、列表切换和合并。创建标签。 1、版本控…

AI技术如何助力实现智慧交通

人工智能的常见优势在于能够实时、高效地分析处理大量的数据&#xff0c;并结合算法模型提供个性化、专业化的服务。在智慧交通方面&#xff0c;人工智能同样可以发挥专长&#xff0c;助力打造智能高效的交通运输网络&#xff0c;本篇就为大家简单介绍一下AI技术如何促进智慧交…

Linux基本命令二

Linux基本命令二 1、head 命令 head ​ **作用&#xff1a;**用于查看文件的开头部分的内容&#xff0c;有一个常用的参数 -n 用于显示行数&#xff0c;默认为 10&#xff0c;即显示 10 行的内容 ​ **语法&#xff1a;**head [参数] [文件] ​ 命令参数&#xff1a; 参数…

Java核心知识点整理大全20-笔记

目录 17. 设计模式 17.1.1. 设计原则 17.1.24. 解释器模式 18. 负载均衡 18.1.1.1. 四层负载均衡&#xff08;目标地址和端口交换&#xff09; 18.1.1.2. 七层负载均衡&#xff08;内容交换&#xff09; 18.1.2. 负载均衡算法/策略 18.1.2.1. 轮循均衡&#xff08;Roun…

js 循环哪种更快 for for..in.. forEach等

了解哪一种 for 循环或迭代器适合我们的需求&#xff0c;防止我们犯下一些影响应用性能的低级错误。 由 Artem Sapegin 上传至 Unsplash JavaScript 是 Web 开发领域的“常青树”。无论是 JavaScript 框架&#xff08;如 Node.js、React、Angular、Vue 等&#xff09;&#x…

数字人对本地生活商家的影响和应用

数字人的出现为本地生活商家带来了全新的机遇和挑战。让我们来了解一下什么是AI数字人是利用人工智能技术实现与真人直播形象的1:1克隆&#xff0c;即克隆出一个数字化的你自己&#xff0c;包括你的形象、表情、动作和声音都会被克隆下来&#xff0c;让你能够拥有接近真人的表现…

Java王者荣耀小游戏

Background类 package LX;import java.awt.*; //背景类 public class Background extends GameObject{public Background(GameFrame gameFrame) {super(gameFrame);}Image bg Toolkit.getDefaultToolkit().getImage("C:\\Users\\ASUS\\Desktop\\王者荣耀图片\\Map.jpg&…

postgis导致docker卡顿

fsync 强制把数据同步更新到磁盘,如果系统的IO压力很大&#xff0c;把改参数改为off 在fsync打开的情况下&#xff0c;优化后性能能够提升30%左右。因为有部分优化选项在默认的SQL测试语句中没有体现出它的优势&#xff0c;如果到实际测试中&#xff0c;提升应该不止30%。 测…

入侵redis之准备---Centos7上面部署redis

入侵redis之准备—Centos7上面部署redis 编写这个部署redis&#xff0c;只是为了另一个文章入侵redis做准备&#xff0c;网上还有好多类似的文章&#xff0c;这个单纯的就是部署安装&#xff0c;并简单的测试使用以下 关联其他文章 [1]VMware上面安装部署centos7镜像系统【详细…

地大与明道云的实践:零代码产教融合与协同育人

摘要 中国地质大学&#xff08;武汉&#xff09;与明道云合作&#xff0c;通过建设数字学院的方式&#xff0c;塑造教育数字化新动能。具体实践包括&#xff1a; 联合建设数字学院&#xff1a;选择经济管理学院作为试点&#xff0c;通过统筹规划、统一标准、分步实施的方式&a…