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

news2025/1/16 14:39:56

图片来源
项杰

一、说明

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

        我们在日常生活中使用主观概率和不确定性校准的概念,但没有意识到它们。对于不确定性校准良好的天气预报模型来说,如果下雨的概率只有 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.coloradmin.cn/o/1266221.html

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

相关文章

1、Linux_介绍和安装

1. Linux概述 Linux:是基于Unix的一个开源、免费的操作系统,其稳定性、安全性、处理多并发能力强,目前大多数企业级应用甚至是集群项目都部署运行在linux操作系统之上,在我国软件公司得到广泛的使用 Unix:是一个强大…

Spark---SparkCore(五)

五、Spark Shuffle文件寻址 1、Shuffle文件寻址 1)、MapOutputTracker MapOutputTracker是Spark架构中的一个模块,是一个主从架构。管理磁盘小文件的地址。 MapOutputTrackerMaster是主对象,存在于Driver中。MapOutputTrackerWorker是从对…

自研基于Xilinx PCIe的高性能多路视频采集与显示控制器

1 概述 视频采集与显示子系统可以实时采集多路视频信号,并存储到视频采集队列中,借助高效的硬实时视频帧出入队列管理和PCIe C2H DMA引擎,将采集到的视频帧实时传递到上位机采集缓冲区。在超带宽视频采集情况下,支持采集丢帧操作…

记录:Unity脚本的编写7.0

目录 连接数据库编写脚本查看效果查增删 有段时间没有更新了,现在有点空,就继续写一下unity的脚本,这次就来写一下关于unity连接数据库的内容 连接数据库 无论是什么语言与应用场景,总有一项东西是绕不开的,那就是数据…

园区智能配电系统(电力智能监控系统)

园区智能配电系统是一种针对园区电力配送和管理的智能化系统。它的主要功能是实时监控设备运行情况,进行电能质量分析,监控电能损耗,以及分时段用电统计等。 具体来说,园区智能配电系统可以利用现代技术如RS-485总线通信、数据库管…

vue3 element plus 表单验证 数组嵌套对象格式验证 动态验证等

基本结构 model 表单数据对象 rules 验证对象 prop model 的键名 <template><el-form ref"ruleFormRef" :model"ruleForm" :rules"rules"><el-form-item label"手机号" prop"mobile"><el-input v-mod…

2023-简单点-yolox-pytorch代码解析(一)-nets/darknet.py

yolox-pytorch: nets/darknet.py yolox网络结构yolox-pytorch目录今天解析注释net/darknet.pyFocusBaseConvDWConvSPPBottleneckDarknet未完待续。。。 yolox网络结构 yolox-pytorch目录 今天解析注释net/darknet.py #!/usr/bin/env python3 # 指定使用python3来执行此脚本 …

使用 Nginx Ingress 快速实现 URL 重写

什么是URL重写 URL重写&#xff08;URL rewriting&#xff09;是一种在Web服务器上修改或转换请求URL的过程。它通常涉及使用服务器配置或规则来更改传入的URL&#xff0c;以便在不改变实际请求资源的情况下&#xff0c;实现不同的行为&#xff0c;如重定向、路径映射、参数处…

三大录屏软件推荐,让你轻松录制屏幕

录屏软件的应用变得越来越广泛&#xff0c;无论是记录屏幕上的内容以方便日后查阅&#xff0c;还是与他人分享操作过程&#xff0c;录屏软件都发挥着重要作用。然而&#xff0c;市面上的录屏软件种类繁多&#xff0c;质量参差不齐。那有没有好用的录屏软件推荐呢&#xff1f;在…

U4_2:图论之MST/Prim/Kruskal

文章目录 一、最小生成树-MST生成MST策略一些定义 思路彩蛋 二、普里姆算法&#xff08;Prim算法&#xff09;思路算法流程数据存储分析 伪代码时间复杂度分析 三、克鲁斯卡尔算法&#xff08;Kruskal算法&#xff09;分析算法流程并查集-Find-set 伪代码时间复杂度分析 一、最…

基于FactoryBean、实例工厂、静态工厂创建Spring中的复杂对象

&#x1f609;&#x1f609; 学习交流群&#xff1a; ✅✅1&#xff1a;这是孙哥suns给大家的福利&#xff01; ✨✨2&#xff1a;我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 &#x1f96d;&#x1f96d;3&#xff1a;QQ群&#xff1a;583783…

同旺科技 USB 转 RS-485 适配器

内附链接 1、USB 转 RS-485 适配器 基础版主要特性有&#xff1a;&#xff08;非隔离&#xff09; ● 支持USB 2.0/3.0接口&#xff0c;并兼容USB 1.1接口&#xff1b; ● 支持USB总线供电&#xff1b; ● 支持Windows系统驱动&#xff0c;包含WIN10 / WIN11系统32 / 64位…

基于Java SSM框架+Vue实现汉服文化平台网站项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架Vue实现汉服文化平台系统演示 摘要 本论文主要论述了如何使用JAVA语言开发一个汉服文化平台网站 &#xff0c;本系统将严格按照软件开发流程进行各个阶段的工作&#xff0c;采用B/S架构&#xff0c;面向对象编程思想进行项目开发。在引言中&#xff0c;作者将…

Redis高可用集群架构

高可用集群架构 哨兵模式缺点 主从切换阶段&#xff0c; redis服务不可用&#xff0c;高可用不太友好只有单个主节点对外服务&#xff0c;不能支持高并发单节点如果设置内存过大&#xff0c;导致持久化文件很大&#xff0c;影响数据恢复&#xff0c;主从同步性能 高可用集群…

Java第二十章

一.创建线程 1.继承Thread类 Thread类是java.lang 包中的一个类&#xff0c;从这个类中实例化的对象代表线程&#xff0c;程序员启动一个新线程需要建立Thread实例。Thread类中常用的两个构造方法如下: public Thread()://创建一个新的线程对象。 public Thread(String threa…

王者荣耀游戏制作

1.创建所需要的包 2.创建怪物类 bear package beast;import wangzherogyao.GameFrame;public class Bear extends Beast {public Bear(int x, int y, GameFrame gameFrame) {super(x, y, gameFrame);setImg("img/bear.jpg");width 85;height 112;setDis(65);}} b…

倒计时 5 天,您有一份 2023 IoTDB 用户大会参会指南请注意查收!

叮叮&#xff01;距离 2023 IoTDB 用户大会在北京与大家见面还有 5 天&#xff01; 这场筹备已久的盛会&#xff0c;汇集了超 20 位大咖嘉宾带来的精彩议题&#xff0c;届时来自美国国家工程院、清华大学软件学院的产业大拿&#xff0c;与能源电力、钢铁冶炼、城轨运输、智能制…

如何使用ArcGIS Pro制作一张北极俯视地图

地图的表现形式有很多种&#xff0c;经常我们看到的地图是以大西洋为中心的地图&#xff0c;还有以太平洋为中心的地图&#xff0c;今天要给大家介绍的地图是从北极上方俯视看的地图&#xff0c;这里给大家讲解一下制作方法&#xff0c;希望能对你有所帮助。 修改坐标系 制作…

AntDB数据库:从海量数据处理,到5G计费商用核心

AntDB数据库自2008年研发面世以来&#xff0c;首先被应用于运营商的核心系统&#xff0c;满足运营商海量数据处理的需求。随着数字科技的不断发展&#xff0c;AntDB也在不断地更新迭代&#xff0c;逐渐地为更多行业与客户提供更全面的服务。5G时代来临&#xff0c;AntDB抓住发展…

webGL开发虚拟实验室

开发虚拟实验室是一个具有挑战性但也非常有趣和有价值的任务。通过 WebGL&#xff0c;你可以创建交互式、沉浸式的虚拟实验室&#xff0c;使用户能够进行实验和学习。以下是一些步骤和关键考虑因素&#xff0c;帮助你开始开发虚拟实验室&#xff0c;希望对大家有所帮助。北京木…