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

图片来源
项杰

一、说明

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux命令中的符号

目录 1 管道符 | 1.1 | grep [要检索的东西] 1.2 echo | tee 2 重定向 2.1 输出重定向覆盖 > 2.2 输出重定向添加 >> 2.3 文件输入重定向 < 2.4 多行文本输入重定向 << 2.5 常用搭配 2.5.1 终端不显示 > /dev/null 1 管道符 | 我们…

国标GB28181协议/RTSP视频监控汇聚平台EasyCVR(V.3.4)页面UI大更新

为提高用户体验&#xff0c;增强平台功能&#xff0c;旭帆科技的Easy系列平台也在不断优化更新中。在最新的EasyCVR&#xff08;V.3.4&#xff09;中&#xff0c;其最显著的区别即为首页UI的调整。 其亮点是在【配置中心】-【基础配置】-【展示信息】中&#xff0c;首页UI可分…

软文推广中什么样的热点值得追?

只要媒体存在一日&#xff0c;那世界上就不会缺热点&#xff0c;追热点应该是每个运营er的必备技能&#xff0c;但是市面上的热点层出不穷&#xff0c;什么样的热点才值得追呢&#xff1f;接下来媒介盒子就和大家聊聊&#xff1a;判断热点值不值得追的三大要素。 一、 事件属性…

three.js球体实现

作者&#xff1a;baekpcyyy&#x1f41f; 使用three.js渲染出可以调节大小的立方体 1.搭建开发环境 1.首先新建文件夹用vsc打开项目终端 2.执行npm init -y 创建配置文件夹 3.执行npm i three0.152 安装three.js依赖 4.执行npm I vite -D 安装 Vite 作为开发依赖 5.根…

LeeCode前端算法基础100题(2)- 最多水的容器

一、问题详情&#xff1a; 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明&#xff1a;…

商业5.0:数字化时代的商业变革

随着数字化技术的迅速发展和应用&#xff0c;商业领域正在经历前所未有的变革。商业5.0&#xff0c;作为数字化时代的新概念&#xff0c;旨在探讨商业模式的创新和演变&#xff0c;从1.0到5.0&#xff0c;商业领域经历了从传统到数字化的转变。 一、商业1.0&#xff1a;传统商…

如何应对雨天飞行的挑战?无人机机库防护能力解析

一、 背景介绍 无人机机库是无人机停放和起降场所&#xff0c;类似传统飞机的 hangar&#xff08;飞机库&#xff09;。它是一个专门用于存储、维护和保护无人机的设施。无人机机库的存在有助于提高无人机的安全性&#xff0c;同时也为无人机提供了一个有序的管理场所。 雨天…

锂电涂布机设备健康管理:降低运维成本的关键

随着锂电池行业的快速发展&#xff0c;锂电涂布机设备作为关键生产工艺装备&#xff0c;扮演着至关重要的角色。然而&#xff0c;涂布机设备的故障和维护成本对于企业来说是一个不可忽视的挑战。本文将介绍做好锂电涂布机设备的健康管理&#xff0c;降低运维成本的关键措施。 锂…

数据库基础入门 — 函数

我是南城余&#xff01;阿里云开发者平台专家博士证书获得者&#xff01; 欢迎关注我的博客&#xff01;一同成长&#xff01; 一名从事运维开发的worker&#xff0c;记录分享学习。 专注于AI&#xff0c;运维开发&#xff0c;windows Linux 系统领域的分享&#xff01; 本…

Notepad++批量添加引号

工作中经常会遇到这样情景&#xff1a;业务给到一批订单号&#xff0c;需要查询这批订单的某些字段信息。在where条件中需要传入这些订单号的数组&#xff0c;并且订单号用引号引起&#xff0c;用引号隔开。 字符串之间长度相同 可以按住CtrlAlt和鼠标左键选中区域&#xff0…

数据库系统课程设计(高校成绩管理数据库系统的设计与实现)

目录 1、需求分析 1 1.1 数据需求描述 1 1.2 系统功能需求 3 1.3 其他性能需求 4 2、概念结构设计 4 2.1 局部E-R图 4 2.2 全局E-R图 5 2.3 优化E-R图 6 3、逻辑结构设计 6 3.1 关系模式设计 6 3.2 数据类型定义 6 3.3 关系模式的优化 8 4、物理结构设计 9 4.1 聚…

2023最新的软件测试热点面试题(答案+解析)

前言 与开发相比&#xff0c;软件测试工程师前期可能不会太深&#xff0c;但涉及面还是非常广的。 在一年左右的实习生或岗位的早期面试中&#xff0c;主要是问的也是一些基本的问题。 涉及到的知识主要包括MySQL数据库的使用、Linux操作系统的使用、软件测试框架问题、测试环境…

社区新零售:打造便捷生活

社区新零售&#xff1a;打造便捷生活 如今&#xff0c;随着科技的迅猛发展和人们对便捷生活的需求不断增长&#xff0c;社区新零售正逐渐成为城市中不可或缺的一部分。社区新零售是以社区为基础&#xff0c;借助互联网技术和智能化设备&#xff0c;将线上线下融合、商品与服务相…

Qt MVC示例 simpletreemodel 树模型

Qt MVC示例 simpletreemodel 树模型 从文本中读取树模型数据&#xff0c;缩进代表子项 TreeItem 表示一行字符串数据 treeitem.h #ifndef TREEITEM_H #define TREEITEM_H#include <QList> #include <QVariant>//! [0] class TreeItem { public:explicit Tree…

[Docker]十二.Docker consul集群搭建、微服务部署,Consul集群+Swarm集群部署微服务实战

一.Docker consul集群搭建 Consul 是 Go 语言写的开源的服务发现软件&#xff0c; Consul 具有 服务发现、健康检查、 服务治理、微服务熔断处理 等功能,在微服务中讲过如何搭建consul集群&#xff0c;接下来看看在 Dokcer 中如何去创建搭建consul 集群 1.linux上面部署consul集…

05、基于梯度下降的协同过滤算法

05、基于梯度下降的协同过滤算法理论与实践Python 开始学习机器学习啦&#xff0c;已经把吴恩达的课全部刷完了&#xff0c;现在开始熟悉一下复现代码。对这个手写数字实部比较感兴趣&#xff0c;作为入门的素材非常合适。 协同过滤算法是一种常用的推荐算法&#xff0c;基于…

Python3基础

导包 在 python 用 import 或者 from...import 来导入相应的模块。 将整个模块(somemodule)导入&#xff0c;格式为&#xff1a; import somemodule 从某个模块中导入某个函数,格式为&#xff1a; from somemodule import somefunction 从某个模块中导入多个函数,格式为&#…

Grafana部署与Zabbix集成,搭建开源IT监控平台

Grafana部署与Zabbix集成 目前在一家公司主要是网络、运维、IT支持&#xff0c;每次需要检查服务器状态都是需要手动登录系统进行查看&#xff0c;因此想着部署一套监控系统&#xff0c;功能上需要实现监控、可视化、告警等。由于预算没有&#xff0c;服务器资源倒是有空闲的&a…

数据结构之二叉树与堆以及力扣刷题函数扩展

个人主页&#xff1a;点我进入主页 专栏分类&#xff1a;C语言初阶 C语言程序设计————KTV C语言小游戏 C语言进阶 C语言刷题 数据结构初阶 欢迎大家点赞&#xff0c;评论&#xff0c;收藏。 一起努力 目录 1.前言 2.树 2.1概念 2.2树的相关概念 3.…

virtuoso layout版图设计 调用器件

在设计好一个电路之后&#xff0c;需要对其进行版图设计。 在原理图界面点击 点击ok 库和名字要跟原理图名字一致&#xff0c;一般自动就命名好了&#xff0c;点击ok 出现版图界面&#xff0c;点击左下角的图标。 选择要不要生成boundary 选择layer&#xff0c;一般为M1&#…