分区之间的一种度量方法-覆盖度量(Covering Metric)
分区之间的一种度量方法——覆盖度量(Covering Metric),用于量化一个分区如何被另一个分区覆盖或近似。以下是逐步详细解释:
1. 背景与符号说明
分区的概念:
分区是将一个集合(这里是 { 1 , … , n } \{1, \ldots, n\} {1,…,n})划分为若干个互不相交的子集,使得这些子集的并集等于原集合。
- 例如, G = { A 1 , A 2 , A 3 } \mathcal{G} = \{A_1, A_2, A_3\} G={A1,A2,A3} 表示集合 { 1 , … , n } \{1, \ldots, n\} {1,…,n} 被划分成三个互不重叠的子集 A 1 A_1 A1、 A 2 A_2 A2、 A 3 A_3 A3。
目标:
定义一种度量 C ( G ′ , G ) C(\mathcal{G}', \mathcal{G}) C(G′,G),衡量分区 G \mathcal{G} G 被分区 G ′ \mathcal{G}' G′ “覆盖”的质量。
- 如果 G ′ \mathcal{G}' G′ 与 G \mathcal{G} G 非常相似,则度量值应该接近于某个最佳值(通常是 0 或 1,根据定义约定)。
- 如果 G ′ \mathcal{G}' G′ 与 G \mathcal{G} G 差异较大,则度量值偏离最佳值。
2. 覆盖度量的定义
总体公式:
C ( G ′ , G ) = 1 n ∑ A ∈ G ∣ A ∣ max A ′ ∈ G ′ J ( A , A ′ ) , C\left(\mathcal{G}^{\prime}, \mathcal{G}\right) = \frac{1}{n} \sum_{A \in \mathcal{G}} |A| \max_{A' \in \mathcal{G}'} J(A, A'), C(G′,G)=n1A∈G∑∣A∣A′∈G′maxJ(A,A′),
这个公式衡量了 G \mathcal{G} G 的每个子集 A ∈ G A \in \mathcal{G} A∈G 在 G ′ \mathcal{G}' G′ 中被“最佳匹配子集” A ′ ∈ G ′ A' \in \mathcal{G}' A′∈G′ 的覆盖情况,并对所有子集的覆盖程度进行加权平均。
分量解释:
- ∣ A ∣ |A| ∣A∣:子集 A ∈ G A \in \mathcal{G} A∈G 的大小(元素个数),用于加权,确保大子集对总覆盖度量的贡献更多。
- max A ′ ∈ G ′ J ( A , A ′ ) \max_{A' \in \mathcal{G}'} J(A, A') maxA′∈G′J(A,A′):计算 A A A 在 G ′ \mathcal{G}' G′ 中与每个子集 A ′ A' A′ 的 Jaccard 指数,取最大的一个。
- 这是说,子集 A A A 的最佳匹配子集是那些和 A A A 交集最多的子集。
- 1 n \frac{1}{n} n1:归一化因子,将最终结果调整到 [0, 1] 范围,方便比较。
3. Jaccard 指数的定义
在公式中, J ( A , A ′ ) J(A, A') J(A,A′) 是 Jaccard 指数,用于衡量两个集合的相似度:
J ( A , A ′ ) = ∣ A ∩ A ′ ∣ ∣ A ∪ A ′ ∣ . J(A, A') = \frac{|A \cap A'|}{|A \cup A'|}. J(A,A′)=∣A∪A′∣∣A∩A′∣.
含义:
- 分子 ∣ A ∩ A ′ ∣ |A \cap A'| ∣A∩A′∣: A A A 和 A ′ A' A′ 的交集大小,表示两者共有的元素数量。
- 分母 ∣ A ∪ A ′ ∣ |A \cup A'| ∣A∪A′∣: A A A 和 A ′ A' A′ 的并集大小,表示两者的总体元素数量(不重复)。
- J ( A , A ′ ) ∈ [ 0 , 1 ] J(A, A') \in [0, 1] J(A,A′)∈[0,1],值越大表示两个集合越相似:
- J ( A , A ′ ) = 1 J(A, A') = 1 J(A,A′)=1:完全相同。
- J ( A , A ′ ) = 0 J(A, A') = 0 J(A,A′)=0:完全不相交。
4. 覆盖度量的直观理解
覆盖度量 C ( G ′ , G ) C(\mathcal{G}', \mathcal{G}) C(G′,G) 的核心思想是:对分区 G \mathcal{G} G 的每个子集 A A A,找到分区 G ′ \mathcal{G}' G′ 中与其“最相似”的子集(Jaccard 指数最大),并将这种相似度加权求平均。
分步过程:
- 局部匹配:对于 G \mathcal{G} G 的每个子集 A A A,在 G ′ \mathcal{G}' G′ 中找到与 A A A 最匹配的子集(相似度最高)。
- 加权求和:根据子集 A A A 的大小 ∣ A ∣ |A| ∣A∣ 对这些局部相似度进行加权,确保大的子集对结果的影响更大。
- 归一化:用 1 n \frac{1}{n} n1 对总和进行归一化,使度量值反映的是平均相似度。
直观意义:
- 如果 C ( G ′ , G ) C(\mathcal{G}', \mathcal{G}) C(G′,G) 高(接近 1),说明分区 G ′ \mathcal{G}' G′ 很好地覆盖了 G \mathcal{G} G。
- 如果 C ( G ′ , G ) C(\mathcal{G}', \mathcal{G}) C(G′,G) 低(接近 0),说明分区 G ′ \mathcal{G}' G′ 无法很好地匹配 G \mathcal{G} G。
5. 应用场景
该度量通常用于比较分区,比如:
- 在聚类分析中,比较一个聚类算法的结果(分区 G ′ \mathcal{G}' G′)与真实标签的分区 G \mathcal{G} G 的相似性。
- 在变化点检测中,用于衡量估计的变化点分区是否与真实分区一致。
通过覆盖度量,可以量化两个分区的匹配程度,从而评估算法的性能或结果的准确性。
相关文章:
分区之间的一种度量方法-覆盖度量(Covering Metric)
分区之间的一种度量方法——覆盖度量(Covering Metric),用于量化一个分区如何被另一个分区覆盖或近似。以下是逐步详细解释: 1. 背景与符号说明 分区的概念: 分区是将一个集合(这里是 { 1 , … , n } \{…...
cocos creator接入字节跳动抖音小游戏JSAPI敏感词检测(进行文字输入,但输入敏感词后没有替换为*号)
今天更新了某个抖音小游戏的版本,增加了部分剧情,半天过后一条短信审核未通过,emmm…抖音总是能给开发者惊喜…打开电脑看看这次又整什么幺蛾子… 首先是一脸懵逼,后端早已接入了官方的内容安全检测能力了(https://de…...
13.Java IO 流(文件流、字符流、字符处理流、字节处理流、对象处理流、标准流、转换流、打印流、Properties 配置文件、其他流)
一、文件引入 1、文件的概念 文件是保存数据的地方(例如,文档,图片,音视频等) 2、文件流 流:数据在数据源(文件)和程序(内存)之间经历的路径 输入流&…...
掌握 DOM 操作:让你的网页动起来
文章目录 前言一、什么是 DOM?二、DOM 树的结构三、使用 JavaScript 操作 DOM总结前言 在现代 Web 开发中,动态交互几乎是每个网站的标配。而这种交互的实现,离不开 DOM(Document Object Model) 的操作。本次课程深入讲解了 DOM 的基础知识以及如何使用 JavaScript 操作 …...
JVM整理部分面试题
1.如何主动触发垃圾回收? 在Java中,垃圾回收是自动进行的,由Java虚拟机(JVM)负责管理。但是,有时候我们可能希望手动触发垃圾回收以释放一些无用的对象。这可以通过调用System.gc()方法来实现 手动触发垃…...
ubuntu20 使用 pyspacemouse获取 spacemouse wireless 输入
1. 设置设备权限 (1) 默认情况下,普通用户可能没有权限访问 HID 设备,可以通过设置 udev 规则解决: cd /etc/udev/rules.d sudo touch 99-spacemouse.rules sudo gedit 99-spacemouse.rules在新建的99-spacemouse.rules中添加以下内容 SUB…...
windows下Qt5自动编译配置QtMqtt环境(11)
文章目录 [toc]1、概述2、准备1.1 下载源码1.2 配置环境1.3 解释原理 3、编译4、验证5、参考6、视频 更多精彩内容👉内容导航 👈👉Qt网络编程 👈 1、概述 Qt默认是不包含mqtt库的,如果需要使用到mqtt库就只能自己编译配…...
速盾:高防cdn有哪些冷知识?
高防CDN(Content Delivery Network)是一种用于提供高可靠性、高性能的互联网服务的技术。它通过将内容分发到离用户最近的服务器上,并优化网络流量,以提升网站的响应速度和承载能力。除了这些基本的了解,下面是一些高防…...
全面UI组件库Telerik 2024 Q4全新发布——官方宣布支持.NET 9
Telerik DevCraft包含一个完整的产品栈来构建您下一个Web、移动和桌面应用程序。它使用HTML和每个.NET平台的UI库,加快开发速度。Telerik DevCraft提供最完整的工具箱,用于构建现代和面向未来的业务应用程序,目前提供UI for ASP.NET MVC、Ken…...
电脑投屏到电脑:Windows,macOS及Linux系统可以相互投屏!
本篇其实是电脑远程投屏到另一台电脑的操作介绍。本篇文章的方法可用于Windows,macOS及Linux系统的相互投屏。 为了避免介绍过程中出现“这台电脑”投屏到“那台电脑”的混乱表述,假定当前屏幕投出端是Windows系统电脑,屏幕接收端是Linux系统…...
12.6深度学习_模型优化和迁移_模型移植
八、模型移植 1. 认识ONNX https://onnx.ai/ Open Neural Network Exchange(ONNX,开放神经网络交换)格式,是一个用于表示深度学习模型的标准,可使模型在不同框架之间进行转移。 ONNX的规范及代码主要由微软…...
Grid++Report:自定义模板设计(自由表格使用),详细教程
实现效果 步骤 一、新建空白 初始状态都是空白页,如果不是,点击右上角->文件->新建空白 二、页面设置 右击页面灰色部分->页面设置 根据需求自定义页面 三、报表头设计 1、新增报表头 右击屏幕->新增->报表节->报表头 点击报表头…...
[Collection与数据结构] 位图与布隆过滤器
🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏: 🧊 Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 🍕 Collection与…...
idea中新建一个空项目
目的,为了在同一个目录下有多个小的项目:使用IDE为idea2022。 步骤: 点击新建项目,点击创建空项目,这里选择空项目是将其作为其他项目的一个容器,如图所示: 然后点击文件->项目结构…...
【Python】【Conda 】Conda 与 venv 虚拟环境优缺点全解:如何做出明智选择
目录 引言一、基本概念1.1 Conda 虚拟环境1.2 Python venv 虚拟环境 二、主要区别对比三、优缺点分析3.1 Conda 虚拟环境的优缺点3.2 Python venv 虚拟环境的优缺点 四、使用场景推荐4.1 使用 Conda 虚拟环境的场景4.2 使用 Python venv 虚拟环境的场景 五、虚拟环境管理工具对…...
深度学习在故障检测中的应用:从理论到实践
随着工业设备和信息系统的复杂性增加,故障检测成为企业运维的重要任务。然而,传统的基于规则或统计学的故障检测方法难以应对复杂多变的故障模式。深度学习作为一种强大的数据分析工具,为故障检测提供了新的解决思路。本文将介绍深度学习模型…...
自然语言处理与人工智能
自然语言处理(NLP)与人工智能(AI) 自然语言处理(NLP)是人工智能(AI)领域的一个重要分支,旨在使计算机能够理解、解释和生成自然语言。随着深度学习技术的进步࿰…...
量化交易系统开发-实时行情自动化交易-8.15.Ptrade/恒生平台
19年创业做过一年的量化交易但没有成功,作为交易系统的开发人员积累了一些经验,最近想重新研究交易系统,一边整理一边写出来一些思考供大家参考,也希望跟做量化的朋友有更多的交流和合作。 接下来会对于Ptrade/恒生平台介绍。 P…...
非常简单实用的前后端分离项目-仓库管理系统(Springboot+Vue)part 4
三十三、出入库管理 Header.vue导一下,RecordController加一个 //将入库数据和原有数据相加吧//新增PostMapping("/save")public Result save(RequestBody Record record) {return recordService.save(record) ? Result.success() : Result.fail();} GoodsManage.v…...
基于MATLAB的信号处理工具:信号分析器
信号(或时间序列)是与特定时间相关的一系列数字或测量值,不同的行业和学科将这一与时间相关的数字序列称为信号或时间序列。生物医学或电气工程师会将其称为信号,而统计学家或金融定量分析师会使用时间序列这一术语。例如…...
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...
如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...
探索Selenium:自动化测试的神奇钥匙
目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...
