CDC模型

引言

聚类是一种强大的机器学习方法,用于根据特征空间中元素的接近程度发现相似的模式。它广泛用于计算机科学、生物科学、地球科学和经济学。尽管已经开发了最先进的基于分区和基于连接的聚类方法,但数据中的弱连接性和异构密度阻碍了其有效性。在这项工作中,我们提出了一种使用局部方向中心性(CDC)的边界搜索聚类算法。它采用基于 K 最近邻 (KNN) 分布的密度无关度量来区分内部点和边界点。边界点生成封闭的笼子来绑定内部点的连接,从而防止跨聚类连接并分离弱连接的聚类。我们通过在具有挑战性的合成数据集中检测复杂的结构簇,从单细胞RNA测序(scRNA-seq)和质谱细胞术(CyTOF)数据中识别细胞类型,识别语音语料库上的说话者,并在各种类型的真实世界基准上作证,来证明CDC的有效性。

TDCM(或ratio)是通过二维空间中三角不规则网络 (TIN) 的图论分析来估计的。通常,边界点往往比内部点具有较低的中心性(即较高的 DCM)。因此,我们按降序对所有 DCM 进行排序,如果给定边界点数,则可以搜索最佳 TDCM(或ratio)。

聚类算法的过程

请添加图片描述

CDC的核心思想是根据KNN的分布来区分集群的边界点和内部点。边界点勾勒出簇的形状,并生成笼子以绑定内部点的连接。簇的内部点趋向于在各个方向上都被相邻点包围,而边界点仅包括一定方向范围内的相邻点。为了测量方向分布的这种差异,我们将 KNN 在 2D 空间中形成的角度方差定义为局部方向中心度量 (DCM):
D C M = 1 k ∑ i = 1 k ( α i − 2 π k ) 2 DCM =\frac{1}{k}\sum\limits_{i=1}^{k}(\alpha_i-\frac{2\pi}{k})^2 DCM=k1i=1k(αik2π)2
中心点的 KNNs 可以形成 k 个角 α1、α2…αk(图a)。对于二维角,条件 ∑ i = 1 k α i = 2 π \sum_{i=1}^{k}\alpha_i=2\pi i=1kαi=2π成立。当且仅当所有角度相等时,DCM 达到最小值 0。这种情况意味着中心点的 KNN 在所有方向上均匀分布。当其中一个角度为 2π 而其余角度为 0 时,它可以最大化为 4 ( k − 1 ) n 2 k 2 \frac{4(k-1)n^2}{k^2} k24(k1)n2。当 KNN 沿同一方向分布时,就会发生这种极端情况。根据极值,DCM 可以归一化为 [0, 1] 范围,如下所示:
D C M = k 4 ( k − 1 ) n 2 ∑ i = 1 k ( α i − 2 π k ) 2 DCM =\frac{k}{4(k-1)n^2}\sum\limits_{i=1}^{k}(\alpha_i-\frac{2\pi}{k})^2 DCM=4(k1)n2ki=1k(αik2π)2

DCM计算结果表明,团簇内部点的DCM值相对较低,边界点的DCM值较高(图b)。因此,内部点和边界点可以用阈值TDCM划分。DS5 和 DS7 两个合成数据集的划分结果验证了其有效性(图c、d)。为了保证内部点 p1, p2, …,pm 在周围边界点 q1, q2, …, qn−m 限制的区域内相互连接,我们将内部点 pi 与所有边界点之间的最小距离定义为其可到达距离:
r i = m i n j = 1 n − m d ( p i , q j ) r_i=min_{j=1}^{n-m}d(p_i,q_j) ri=minj=1nmd(pi,qj)
其中 d(pi,qj) 是两点 pi 和 qj 之间的距离(图 e)。如果保证以下关联规则,则两个内部点可以连接为同一簇:
d ( p i , p j ) ≤ r i + r j d(p_i,p_j) \leq{r_i+r_j} d(pi,pj)ri+rj
其中 ri 和 rj 分别是内部点 pi 和 pj 的可达距离(图f)。在正确识别边界点的前提下(边界点识别不完全的极端情况除外),内部点的连接被限制在边界点定义的区域内。如果两个内部点之间存在跨聚类连接,则边界点将包含在由其可到达距离定义的范围内,这与可到达距离的定义相冲突。因此,同一聚类的内部点可以被困在由边界点组成的同一外部轮廓中,并且基于此关联规则将避免跨聚类连接。DS5 和 DS7 的连接结果是通过将规则应用于除法结果而生成的(图 g、h)。虽然DS5和DS7中的簇对连接较弱,DS7中的三个簇的密度差异很大,但所有簇都被准确识别。

在计算 DCM 并连接内部点后,我们通过将每个边界点分配给其最近的内部点所属的集群来完成该过程。CDC 包含两个可控参数,k 和 TDCM。k 调整最近邻的数量,TDCM 确定内部点和边界点的划分。CDC的伪代码详见附注2。在实践中,考虑到 TDCM 随数据分布而变化,我们采用内部点的百分位数比率ratio来确定 TDCM 作为按降序排序的[n∙(1–ratio)]的 DCM。参数ratio具有直观的物理含义和更好的稳定性,这使得它比TDCM更容易指定。根据我们的实验,70%~99%的内点是建议的默认参数比率范围,以获得有希望的聚类结果。然而,当聚类相互混合时,需要更多的边界点(较低的比率)来分离闭合的聚类。

k的经验估计方法

通过对参数敏感度的分析和已有的研究,我们知道k是一个不敏感的参数,与数据集中的点数n有关。因此,我们提出了一种经验方法,将 k 和 n 之间的关系形式化为:
k = { ⌈ π 50 ⌉ − ⌈ π 20 ⌉ if  100 ≤ n ≤ 1000 ⌈ l o g 2 ( n ) + 10 ⌉ − 5 ⌈ l o g 2 ( n ) ⌉ if  n ≥ 1000 k=\begin{cases} \lceil\frac{\pi}{50}\rceil- \lceil\frac{\pi}{20}\rceil&\text{if }100\leq n\le1000 \\ \lceil log_2(n)+10\rceil-5\lceil log_2(n)\rceil &\text{if } n\geq1000 \end{cases} k={50π20πlog2(n)+105log2(n)⌉if 100n1000if n1000
⌈ ⌉ \lceil \quad \rceil 表示向上取整。

估计用于确定TDCM的边界点数:

请添加图片描述

构建了一个三角不规则网络(TIN)(图a)来连接所有点。在图论中,顶点的度数定义为入射到顶点的边数,每条边连接两个顶点。基于这一定律
∑ i = 1 V d e g ( v i ) = 2 E \sum_{i=1}^{V}deg(v_i)=2E i=1Vdeg(vi)=2E
deg(vi) 表示顶点 vi 的度数,V 表示顶点总数,E 表示边的总数。

对于具有单个连接分量的 TIN,边界点的总数等于最外边的总数。
∑ i = 1 V d e g ( v i ) = 3 F + B \sum_{i=1}^{V}deg(v_i)=3F+B i=1Vdeg(vi)=3F+B
F 和 B 分别表示三角形和边界点的总数。

二维欧拉公式:
V + F − E = 1 V+F-E=1 V+FE=1
通过结合这些公式,我们可以推断出 B 的解如下:
B = 2 V − F − 2 B=2V-F-2 B=2VF2

但是,整个 TIN 中的初始边界点数不等于分离聚类中的边界点总数。为了进行准确的估计,应将整个 TIN 视为多个子网(图 b)。给定 C 簇,簇中的边界点数可以求解如下:
∑ i = 1 m B i = 2 ∑ i = 1 m V i − ∑ i = 1 m F i − 2 C \sum_{i=1}^{m}B_i=2\sum_{i=1}^{m}V_i-\sum_{i=1}^{m}F_i-2C i=1mBi=2i=1mVii=1mFi2C
B = 2 V − F − 2 C B=2V-F-2C B=2VF2C
其中 F 是多个分离网络中簇内三角形的总数。V 在给定数据集(即 n)中是已知的,但 F 和 C 不是。初始F是整个TIN中三角形的总数,其中包括连接不同聚类的三角形,即三个顶点不都在同一聚类中的跨聚类三角形(否则为聚类内三角形)。使用过多的三角形会使边界点 B 的数量小于真实值。为了识别跨聚类三角形,我们设置了一个判断规则:
∑ i = 1 3 ∑ j = 1 , j ≠ i 3 σ ( v i , v j ) < 3 \sum_{i=1}^{3}\sum_{j=1,j\ne i}^{3}\sigma(v_i,v_j)<3 i=13j=1,j=i3σ(vi,vj)<3
其中 v1、v2、v3 是三角形的三个顶点,σ(vi, vj)isan 指标函数:
σ ( v i , v j ) = { 0 , if  v j ∉ KNN ( v i ) 1 , if  v j ∈ KNN ( v i ) \sigma(v_i,v_j)=\begin{cases} 0, &\text{if }v_{j}\notin \text {KNN}(v_i) \\ 1, &\text{if }v_{j}\in \text {KNN}(v_i) \end{cases} σ(vi,vj)={0,1,if vj/KNN(vi)if vjKNN(vi)
考虑聚类内三角形中顶点的邻近性。最终的F可以计算为初始F减去满足方程(16)的跨聚类三角形的数量(图c)。就簇C的数量而言,通常远小于V和F,这对B的估计有微不足道的影响,此外,CDC对DCM阈值的鲁棒性如讨论所述。因此,当 C 模糊或难以确定时,可以将其视为 1。

Code availability
The code of CDC in MATLAB, R and Python, and the toolkit with six applications can be downloaded at https://github.com/ZPGuiGroupWhu/ClusteringDirectionCentrality and https://zenodo.org/record/7029720#.YwuFsuxByZw. Digital Object Identifier https:// doi.org/10.5281/zenodo.7029720.

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

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

相关文章

第四篇——作战篇:战争里的激励与成本

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么&#xff1f; 四、总结五、升华 一、背景介绍 前面进行了分析之后&#xff0c;这篇显然又从经济的角度进行了介绍和分析…

STELLA系统动态模拟技术及在农业、生态及环境等科学领域中的应用技术

STELLA是一种用户友好的计算机软件。通过绘画出一个系统的形象图形&#xff0c;并给这个系统提供数学公式和输入数据&#xff0c;从而建立模型。依据专业兴趣&#xff0c;STELLA可以用来建立各种各样的农业、生态、环境等方面的系统动态模型&#xff0c;为科研、教学、管理服务…

用例子和代码了解词嵌入和位置编码

1.嵌入&#xff08;Input Embedding&#xff09; 让我用一个更具体的例子来解释输入嵌入&#xff08;Input Embedding&#xff09;。 背景 假设我们有一个非常小的词汇表&#xff0c;其中包含以下 5 个词&#xff1a; "I""love""machine"&qu…

10 Posix API与网络协议栈

POSIX概念 POSIX是由IEEE指定的一系列标准,用于澄清和统一Unix-y操作系统提供的应用程序编程接口(以及辅助问题,如命令行shell实用程序),当您编写程序以依赖POSIX标准时,您可以非常肯定能够轻松地将它们移植到大量的Unix衍生产品系列中(包括Linux,但不限于此!)。 如…

DeepFaceLive----AI换脸简单使用

非常强大的软件,官方github https://github.com/iperov/DeepFaceLive 百度云链接: 链接&#xff1a;https://pan.baidu.com/s/1VHY-wxqJXSh5lCn1c4whZg 提取码&#xff1a;nhev 1下载解压软件 下载完成后双击.exe文件进行解压.完成后双击.bat文件打开软件 2 视频使用图片换…

k8s部署单机版mysql8

一、创建命名空间 # cat mysql8-namespace.yaml apiVersion: v1 kind: Namespace metadata:name: mysql8labels:name: mysql8# kubectl apply -f mysql8-namespace.yaml namespace/mysql8 created# kubectl get ns|grep mysql8 mysql8 Active 8s二、创建mysql配…

SSM学习4:spring整合mybatis、spring整合Junit

spring整合mybatis 之前的内容是有service层&#xff08;业务实现层&#xff09;、dao层&#xff08;操作数据库&#xff09;&#xff0c;现在新添加一个domain&#xff08;与业务相关的实体类&#xff09; 依赖配置 pom.xml <?xml version"1.0" encoding&quo…

2.2.3 C#中显示控件BDPictureBox 的实现----控件实现

2.2.3 C#中显示控件BDPictureBox 的实现----控件实现 1 界面控件布局 2图片内存Mat类说明 原始图片&#xff1a;m_raw_mat ,Display_Mat()调用时更新或者InitDisplay_Mat时更新局部放大显示图片&#xff1a;m_extract_zoom_mat&#xff0c;更新scale和scroll信息后更新overla…

2024年精选100道软件测试面试题(内含文档)

测试技术面试题 1、我现在有个程序&#xff0c;发现在 Windows 上运行得很慢&#xff0c;怎么判别是程序存在问题还是软硬件系统存在问题&#xff1f; 2、什么是兼容性测试&#xff1f;兼容性测试侧重哪些方面&#xff1f; 3、测试的策略有哪些&#xff1f; 4、正交表测试用…

市场规模5万亿,护理员缺口550万,商业护理企业如何解决服务供给难题?

干货抢先看 1. 据统计&#xff0c;我国失能、半失能老人数量约4400万&#xff0c;商业护理服务市场规模达5万亿。然而&#xff0c;当前养老护理员缺口巨大&#xff0c;人员的供需不匹配是很多养老服务企业需要克服的难题。 2. 当前居家护理服务的主要市场参与者分为两类&…

利用GPT 将 matlab 内置 bwlookup 函数转C

最近业务需要将 matlab中bwlookup 的转C 这个函数没有现成的m文件参考&#xff0c;内置已经打成库了&#xff0c;所以没有参考源代码 但是它的解释还是很清楚的&#xff0c;可以根据这个来写 Nonlinear filtering using lookup tables - MATLAB bwlookup - MathWorks 中国 A…

python请求报错::requests.exceptions.ProxyError: HTTPSConnectionPool

在发送网页请求时&#xff0c;发现很久未响应&#xff0c;最后报错&#xff1a; requests.exceptions.ProxyError: HTTPSConnectionPool(hostsvr-6-9009.share.51env.net, port443): Max retries exceeded with url: /prod-api/getInfo (Caused by ProxyError(Unable to conne…

秒懂设计模式--学习笔记(5)【创建篇-抽象工厂】

目录 4、抽象工厂4.1 介绍4.2 品牌与系列&#xff08;针对工厂泛滥&#xff09;(**分类**)4.3 产品规划&#xff08;**数据模型**&#xff09;4.4 生产线规划&#xff08;**工厂类**&#xff09;4.5 分而治之4.6 抽象工厂模式的各角色定义如下4.7 基于此抽象工厂模式以品牌与系…

vue启动时的错误

解决办法一&#xff1a;在vue.config.js中直接添加一行代码 lintOnSave:false 关闭该项目重新运行就可启动 解决办法二&#xff1a; 修改组件名称

配音软件有哪些?分享五款超级好用的配音软件

随着嫦娥六号的壮丽回归&#xff0c;举国上下都沉浸在这份自豪与激动之中。 在这样一个历史性的时刻&#xff0c;我们何不用声音记录下这份情感&#xff0c;让这份记忆以声音的形式流传&#xff1f; 无论是制作视频分享这份喜悦&#xff0c;还是创作音频讲述探月故事&#xff…

Oracle数据库中RETURNING子句

RETURNING子句允许您检索插入、删除或更新所修改的列&#xff08;以及基于列的表达式&#xff09;的值。如果不使用RETURNING&#xff0c;则必须在DML语句完成后运行SELECT语句&#xff0c;才能获得更改列的值。因此&#xff0c;RETURNING有助于避免再次往返数据库&#xff0c;…

CXL-GPU: 全球首款实现百ns以内的低延迟CXL解决方案

数据中心在追求更高性能和更低总拥有成本&#xff08;TCO&#xff09;的过程中面临三大主要内存挑战。首先&#xff0c;当前服务器内存层次结构存在局限性。直接连接的DRAM与固态硬盘&#xff08;SSD&#xff09;存储之间存在三个数量级的延迟差异。当处理器直接连接的内存容量…

VideoPrism——探索视频分析领域模型的算法与应用

概述 论文地址:https://arxiv.org/pdf/2402.13217.pdf 视频是我们观察世界的生动窗口&#xff0c;记录了从日常瞬间到科学探索的各种体验。在这个数字时代&#xff0c;视频基础模型&#xff08;ViFM&#xff09;有可能分析如此海量的信息并提取新的见解。迄今为止&#xff0c;…

采煤机作业3D虚拟仿真教学线上展示增强应急培训效果

在化工行业的生产现场&#xff0c;安全永远是首要之务。为了加强从业人员的应急响应能力和危机管理能力&#xff0c;纷纷引入化工行业工艺VR模拟培训&#xff0c;让应急演练更加生动、高效。 化工行业工艺VR模拟培训软件基于真实的厂区环境&#xff0c;精确还原了各类事件场景和…

医疗器械FDA | 医疗器械软件如何做源代码审计?

医疗器械网络安全测试https://link.zhihu.com/?targethttps%3A//www.wanyun.cn/Support%3Fshare%3D24315_ea8a0e47-b38d-4cd6-8ed1-9e7711a8ad5e 医疗器械源代码审计是一个确保医疗器械软件安全性和可靠性的重要过程。以下是医疗器械源代码审计的主要步骤和要点&#xff0c;以…