聚类和深度聚类研究
文章平均质量分 92
将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。“物以类聚,人以群分”,在自然科学和社会科学中,存在着大量的分类问题
快乐江湖
专注人工智能领域和优质计算机学习笔记创作
展开
-
【数据聚类|深度聚类】A Survey of Deep Graph Clustering: Taxonomy, Challenge, Application, and Open Resource综述论
图聚类旨在将图中的节点划分为几个不同的簇,是一项基础但具有挑战性的任务。借助深度学习强大的表示能力,深度图聚类方法在近年取得了巨大成功。然而,相应的调查论文相对稀缺,有必要对这一领域进行总结。出于这一动机,我们进行了深度图聚类的全面调查首先,我们介绍了该领域的公式化定义、评估和发展其次,基于四个不同的标准,包括图类型、网络架构、学习范式和聚类方法,提出了深度图聚类方法的分类法。原创 2023-10-21 16:19:43 · 257 阅读 · 1 评论 -
【数据聚类|深度聚类】Deep Semantic Clustering by Partition Confidence Maximisation(PICA))论文研读
通过同时学习视觉特征和数据分组,深度聚类展现出了在高维视觉数据结构分析的无监督学习中具备令人印象深刻的能力。现有的深度聚类方法通常依赖于基于样本间关系和/或自我估计伪标签的局部学习约束。这种方法容易受到分布在邻域中的不可避免的误差的影响,并且在训练过程中存在误差传播的问题。在本研究中,我们提出通过学习最有信心的聚类解决方案来解决这个问题。将来自相同语义类别的样本分配到不同的聚类中将减少簇内紧密性和簇间多样性,即降低分区的置信度。原创 2023-06-10 10:53:50 · 325 阅读 · 3 评论 -
【数据聚类|深度聚类】Nearest Neighbor Matching for Deep Clustering(NNM)论文研读
翻译深度聚类逐渐成为无监督学习方法中重要的分支。然而,当前的方法几乎没有考虑到局部和全局特征中存在的语义样本关系。此外,由于深度特征是实时更新的,依赖于这些样本关系可能会构建更具语义置信度的样本对,从而导致性能下降。为了解决这个问题,我们提出了一种叫做最近邻匹配(NNM)的方法,将样本与其来自局部(批量)和全局(整体)水平的最近邻进行匹配。具体而言,对于局部级别,我们基于批嵌入特征匹配最近邻,对于全局级别,我们匹配来自整体嵌入特征的邻居。原创 2023-04-21 16:48:23 · 586 阅读 · 0 评论 -
【数据聚类|深度聚类】Heterogeneous Tri-stream Clustering Network(HTCN)论文研读
翻译对比深度聚类近期在深度神经网络中的联合对比学习和聚类能力已经引起了广泛关注。尽管取得了迅速的进展,先前的工作大多需要正负样本对进行对比聚类,这需要相对较大的批量大小。此外,他们通常采用双流架构和两个增强视图,忽视了多流架构的可能性和潜在优势(特别是在异构或混合网络中)。基于此,本文提出了一种新的端到端深度聚类方法,称为异构三流聚类网络(HTCN)。HTCN中的三流架构包括两个共享权重的在线网络和一个目标网络,其中目标网络的参数是在线网络参数的指数移动平均值。原创 2023-04-18 15:59:44 · 462 阅读 · 0 评论 -
【数据聚类|深度聚类】Graph Contrastive Clustering(GCC)论文研读
翻译最近,一些对比学习方法被提出,可以同时学习表示和聚类分配,并取得了显著的改进。然而,这些方法没有考虑到类别信息和聚类目标,因此学习到的表示对于聚类并不是最优的,其性能可能会受到限制。针对这个问题,我们首先提出了一种新颖的图对比学习框架,然后将其应用于聚类任务,得到了Graph Contrastive Clustering (GCC)方法。与仅假设图像及其增强应共享相似表示和聚类分配的基本对比聚类方法不同,我们将实例级一致性提升到了簇级一致性,假设一个簇中的样本及其增强应该都是相似的。原创 2023-04-12 10:46:49 · 360 阅读 · 1 评论 -
【数据聚类|深度聚类】Strongly Augmented Contrastive Clustering(SACC)论文研读
翻译深度聚类由于其通过深度神经网络进行联合表示学习和聚类的能力,近年来引起了越来越多的关注。在其最新的发展中,对比学习已经成为一种有效的技术,可以大大提高深度聚类的性能。然而,现有的基于对比学习的深度聚类算法主要集中在一些精心设计的增强(通常具有保留结构的有限变换),称为弱增强,但无法超越弱增强以探索更多机会在更强的增强(更激进的变换甚至是严重的扭曲)中。本文提出了一种称为强增强对比聚类(SACC)的端到端深度聚类方法,扩展了传统的两个增强视图范例到多个视图,并联合利用强增强和弱增强来增强深度聚类。原创 2023-03-31 10:32:37 · 124 阅读 · 0 评论 -
【数据聚类|深度聚类】Contrastive Clustering(CC)论文研读
翻译在本文中,我们提出了一种名为对比聚类(Contrastive Clustering, CC)的单阶段在线聚类方法,它执行的是实例级和簇级对比学习。具体来说,对于一个给定的数据集,通过数据增广来构建正负例对,然后将其投影到特征空间中。在那里,实例级和簇级对比学习分别在行列空间中进行——通过最大化正对的相似性同时最小化负对的相似性。我们重点观察:特征矩阵的行可以被视为实例的软标签,相应地,列可以被进一步视为聚类表示。通过同时优化实例和簇级对比损失,模型便可以以端到端的方式同时学习表示和聚类分配。原创 2023-03-19 15:42:23 · 537 阅读 · 0 评论 -
【数据聚类|深度聚类】Deep Comprehensive Correlation Mining for Image Clustering(DCCM)论文研读
三元互信息(trigram mutual information)是一种。原创 2023-03-03 16:51:08 · 586 阅读 · 0 评论 -
【数据聚类|深度聚类】Unsupervised Deep Embedding for Clustering Analysis(DEC)论文研读
如何优化。原创 2023-03-01 17:01:45 · 755 阅读 · 0 评论 -
【数据聚类|深度聚类】A Comprehensive Survey on Deep Clustering: Taxonomy, Challenges综述论文研读
这一篇2022年发表在arxiv上的综述性论文,对深度聚类提出了一种新的分类方法,同时在github上也总结了部分被引用文献和其程序程序。之前的综述性论文具有代表性的主要是以下三篇本文相对于这些论文来说介绍的比较全面,如下表,尤其是在应用、数据集和实现方面做了介绍本文组织方式如下section1:介绍section2:本文相关的基本定义、符号、概念section3:总结了表征模型的代表性设计、以及不同的数据类型基于自编码器(Auto-Encoder)原创 2023-02-14 12:56:56 · 1575 阅读 · 0 评论 -
【数据聚类】第零章第一节:本专栏中涉及数据集、可视化及注意事项
数据集人造数据集之438-3数据集数据集数据集数据集数据集数据集788points数据集数据集数据集点击关注后私信我(片刻回复)为了统一量纲,需要对数据集进行归一,这里使用最常见的“0-1归一化”方式即可三:可视化处理聚类效果展示是非常重要的环节,这里给出几个例子,适用于不同聚类类型的聚类算法,读者可以在你的代码上稍作修改暂略..................原创 2022-06-11 18:57:15 · 787 阅读 · 1 评论 -
【数据聚类】第一章第一节:机器学习、无监督学习、聚类概述及其三个属性
人工智能核心在于 机器学习,其目的是对事物进行辨识和区分,它分为两大类近几年来由于深度学习的发现和发展,使得监督学习的进步非常大,但是仅仅依靠监督学习是无法实现完整的人工智能的,因为人工智能的最大特征就是 智能所以人工智能更需要无监督学习,只有做到像人脑那样具备小样本学习、强化学习和迁移学习等能力,人工智能才能真正做到“智”。这样看来,人工智能的发展仍然是任重而道远可以看到,无监督学习的难度是远远大于监督学习的,因此无监督学习的发展也是异常缓慢。但是我们必须意识到:人和动物的学习很大程度上是无监督的,我们通原创 2022-06-04 14:39:43 · 395 阅读 · 0 评论 -
【数据聚类】第一章第二节:聚类研究方向之聚类方法概述
聚类方法或算法大体分为如下三个阶段本文先对【经典算法】部分进行叙述,后续部分在写到相关内容时补充即可在概率模型中,核心思想是将数据描述成一个概率生成过程,具体来说期望最大化方法从一个随机或启发式的初始化开始,然后进行以下两个步骤的迭代对不同的数据,可以采用不同的概率模型,例如基于划分的算法按某种目标将数据划分为若干个组,划分结果是使目标函数值最大或最小化。但是这样的优化目标是NP难(意味着需要超多项式时间才可以解决)。因此在实际情况下需要使用贪心策略解决,具体来说当然,贪心策略所得的结果仅是局部最优解,而非原创 2022-06-06 09:05:40 · 464 阅读 · 0 评论 -
【数据聚类】第一章第三节:聚类研究方向之数据类型概述
在早期,聚类算法在设计过程中通常假设属性是数值的,但是这种假设并不适用于实际生活,因为任何类型的数据都有可能出现,例如数据类型是一个非常重要的话题,因为特定的数据类型需要特定的相似度度量,并且在模型选择时将会产生很大影响。聚类的技术多种多样,不同数据会表现出不同的特征,因此也对聚类技术有各自的要求,汇总如下属性数据在生活中非常常见,例如一个人的性别、民族、籍贯等都是离散的值,并且这些值之间不存在先后顺序这是一种最简单的属性数据距离测度方式,它是通过计算属性匹配失败的个数来衡量两个属性之间的距离,例如概率密度原创 2022-06-07 09:39:46 · 522 阅读 · 0 评论 -
【数据聚类】第三章第一节:基于划分的聚类算法概述
基于划分的聚类算法:对于一个包含了nnn个样本的原始数据集,采用某种方法将其划分为kkk个划分(k原创 2022-06-10 10:09:37 · 1267 阅读 · 0 评论 -
【数据聚类】第三章第二节1:K-Means算法及其Python实现(距离度量方式、目标函数和算法流程)
特征矩阵超参数:在机器学习的上下文中,超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据一:什么是聚类(1)什么是聚类聚类属于一种无监督学习因此,聚类是一种涉及数据点分组的机器学习技术(2)聚类和分类的关系二:K-Means算法(1)K-Means的基本原理A:簇和质心具体过程B:具体流程C:簇内误差平方和...........................原创 2022-05-14 20:19:39 · 1757 阅读 · 0 评论 -
【数据聚类】第三章第二节2:K-Means算法及其Python实现(算法实现、结果展示)
算法代码五:效果展示(1)Iris数据集(较好)(2)人造数据集(好)(3)Jain数据集(较差)代码同(2)原创 2022-06-11 16:38:42 · 1312 阅读 · 2 评论 -
【数据聚类】第三章第二节3:K-Means算法及其Python实现(性能分析、算法优缺点和K值的选择方法)
KKK-MeansMeansMeans算法时间复杂度可以表示为O(i×k×n×m)O(i×k×n×m)O(i×k×n×m)由于收敛大多发生在早期阶段,所以iii值通常较小,因此只要kkk显著小于nnn,那么 KKK-MeansMeansMeans计算时间就与nnn是线性相关的KKK-MeansMeansMeans算法空间复杂度可以表示为O((k+n)×m)O((k+n)×m)O((k+n)×m)优点有:缺点有:关于KKK-MeansMeansMeans算法的不足,许多学者针对以上几个方面也做出了改进,具体将原创 2022-06-14 09:01:51 · 471 阅读 · 0 评论 -
【数据聚类】第三章第二节4:K-Means算法及其Python实现(初始中心点的选择和K-Means++算法)
最基本的KKK-MeansMeansMeans算法在选取初始中心点时,采用的是随机选取的方法,但是这种方法很容易使算法陷入局部最优解,无法得到全局最优方法一:取一个数据集,首先采用层次聚类技术对它进行一个预聚类分析;之后从聚类的结果中提取出kkk个簇,并计算这些簇的中心点作为KKK-MeansMeansMeans算法的初始中心点;最后利用这些中心点初始化KKK-MeansMeansMeans对原数据集进行聚类。这种方法可以很好解决初始点指派不合理问题,但仅在以下两种情况中奏效方法二:从数据集中随机抽取一些子原创 2022-06-15 08:57:23 · 1581 阅读 · 0 评论 -
【数据聚类】第三章第三节1:类K-Means算法之K-中心点算法(PAM算法和CLARA算法)
kkk-中心点算法:在kkk-meansmeansmeans算法中,中心点会被设定为当前簇中所有数据点的平均值,而这个平均值极大可能是不包含在初始数据集中的,也即它是一个虚拟的点。但在kkk-中心点算法中,选取的是到当前簇中所有其他数据点的距离之和最小的点作为这一簇的中心点,这个点一定是在初始数据集中包含的点中选取的。相比于簇均值,真实的数据点受到离群点的影响会更小一些,因此该种算法对数据集中存在的噪声点和离群点有着更强的鲁棒性该算法以绝对误差和作为算法的目标函数E(C)=∑k=1K∑xi∈Ck∣xi−ck原创 2022-06-16 09:46:23 · 2220 阅读 · 0 评论 -
【数据聚类】第三章第三节2:类K-Means算法之K-中值算法(K-medians)
KKK-MediansMediansMedians算法:该算法与KKK-MeansMeansMeans的区别主要有①:KKK-MediansMediansMedians算法采用计算每个簇中值的方法取代了KKK-MeansMeansMeans算法中计算均值。相比于均值,中值受到离群点的干扰程度相对较小,所以KKK-MediansMediansMedians算法的抗干扰能力要强于KKK-MeansMeansMeans算法②:KKK-MediansMediansMedians算法采用L1L_{1}L1范数来计算原创 2022-06-24 09:29:13 · 1107 阅读 · 0 评论 -
【数据聚类】第三章第三节3:类K-Means算法之模糊K-均值算法(FCM算法)
模糊K-均值算法(FCM算法):对于每个类别,对象都对应一个取值范围在[0,1]的数值,它表示该对象从属于某一类别的可能性。一个对象对于所有类别的对应取值和应该为1。在更新簇中心点的过程中,该数值就反映了该对象对于这一类的贡献程度,根据贡献程度的不同,反映出对象更倾向于分配到哪个类别中FCM算法与K-均值算法的目标函数类似Jm=∑k=1N∑j=1uijm∣∣xi−cj∣∣2,1≤m...原创 2022-06-26 13:14:20 · 1292 阅读 · 0 评论 -
【数据聚类】第三章第三节4:类K-Means算法之二分K-均值算法(bisecting K-Means算法)
二分K-均值算法(bisecting K-Means)能够最大化程度降低SSE。原创 2022-11-07 07:58:32 · 465 阅读 · 0 评论 -
【数据聚类】第四章第一节1:基于密度算法概述、DBSCAN算法相关概念、定义和算法流程
文章目录一:DBSCAN算法(1)快速入门BCSCAN算法(2)算法简介A:基本概念B:直接密度可达、密度可达、密度相连(3)算法流程A:流程B:演示一:DBSCAN算法(1)快速入门BCSCAN算法如下是一组未被聚类的数据可以用肉眼进行大致划分绿色为第一类蓝色为第二类灰色为离群点这种非凸数据是无法用K-Means算法进行区分的,如果使用则效果会是这样而本节的DBSCAN算法可以解决这个问题。DBSCAN算法通过密度来识别簇簇通常位于高密度区域离群值通常位于低密度区域原创 2022-05-19 22:37:44 · 3871 阅读 · 6 评论 -
【数据聚类】第四章第一节2:DBSCAN算法Python实现和效果展示
代码如下六:效果展示(1)人造数据集=0.08=2原创 2022-07-03 20:18:50 · 839 阅读 · 0 评论 -
【数据聚类】第四章第一节3:DBSCAN性能分析、优缺点和参数选择方法
DBSCAN算法对数据集中的每个点都要检索其邻域内的所有点,时间复杂度为O(n2)O(n^{2})O(n2)。但在低纬空间中,若采用kkk-ddd树、RRR树等结构,可以有效地检索特定点给定距离内的所有点,其时间复杂度可以降低到O(nlogn)O(nlogn)O(nlogn)①:可以对任意形状的稠密数据集进行聚类②:可以在聚类的同时发现异常点,对数据集中的异常点不敏感③:不需要指定簇数,并且多次实验结果往往是相同的①:如果样本集的密度不均匀、聚类间距差相差很大时,聚类质量较差,这时用DBSCAN聚类一般不适原创 2022-07-04 08:42:19 · 3990 阅读 · 1 评论 -
【数据聚类】第四章第二节1:OPTICS算法思想和算法流程
OPTICS算法是从DBSCAN算法演化而来的基于层次密度的聚类算法,它可以解决DBSCAN算法中的参数敏感问题和不能很好处理数据中带有非均匀密度簇的问题,且OPTICS对参数不是十分敏感由于OPTICS算法基于DBSCAN算法,所以以下定义是共用的,这里不再给出具体描述(详见:【数据聚类】第四章第一节1:基于密度算法概述、DBSCAN算法相关概念、定义和算法流程)在OPTICS算法中需要额外引入以下两个定义core_distance(xp)={未定义(如果xp不是核心对象)使得xp为核心对象的最小半径(其原创 2022-07-05 13:23:31 · 831 阅读 · 0 评论 -
【数据聚类】第四章第二节2:OPTICS算法Python实现和效果展示
四:效果展示OPTICS算法对和不敏感,所以eps一般设置为,一般设置为10(稠密数据要在此基础增加、稀疏数据则要减小)(1)人造数据集原创 2022-07-11 08:47:05 · 966 阅读 · 1 评论 -
【数据聚类】第四章第三节:密度峰值聚类及其Python实现
Python代码关于簇的定义尚未达成共识,每种算法有各自的定义重点讲了K-Means这类算法的缺点图1A展示的是二维空间中28个点,肉眼可见密度最大的便是1号点和10号点图1B展示的是这28个点的pip_{i}pi和σi\sigma_{i}σi之间关系本算法中这两张图称之为决策图从图1B中可以看出,9号点和10号点ppp值相同但σ\sigmaσ不同:9号点处在1号点的簇中,其他有着高密度的点和其十分接近,然而10号点虽然和9号点密度相仿,但最近的高密度却属于其他簇(距离)像点27、27、28由于ppp原创 2022-07-13 09:55:38 · 1595 阅读 · 4 评论 -
【数据聚类】第五章第一节:基于网格的聚类算法概述
尽管基于网格的聚类算法能在短时间内完成聚类,但同时也易受到下列类型数据的干扰。对于这两种类型数据,解决方法分别为。对单元按照密度进行排序。原创 2022-11-14 19:31:04 · 1150 阅读 · 0 评论 -
【数据聚类】第六章第一节:层次聚类算法概述、聚合和分裂方法
层次聚类:层次聚类算法的出现是为了解决基于划分聚类算法中存在的一些缺陷,主要有层次聚类算法有两种思路,分别是分裂层次聚类算法(DHC)和聚合层次聚类算法(AHC)其中,聚合层次聚类算法(AHC)较分裂层次聚类算法(DHC)更多一点,,主要是因为分裂层次聚类算法(DHC)理论复杂度高聚合层次聚类算法(AHC):重点研究的是如何衡量两个簇之间的距离。也即,如何在已知集合内元素间距离的情况,计算两个集合之间的距离。例如分裂层次聚类算法(DHC):有如下两个重点研究问题优点:缺点:聚合方法:前面说过,这是一个自下而原创 2022-07-17 10:25:16 · 1688 阅读 · 0 评论 -
【数据聚类】第六章第二节:层次聚类算法之BIRCH算法(算法概述、流程和sklearn实现)
BIRCH算法该算法于1996年提出,尤其适用于大型数据库。它会增量地对输入数据进行聚类,有时甚至只需对所有数据扫描一遍就可以产生结果,当然额外的扫描肯定可以提升聚类效果,而且还可以有效处理噪声。BIRCH算法需要引入以下两个概念聚类特征(CF)聚类特征数(CF树)聚类特征数类似于平衡B+树,CF树的每个结点是由若干聚类特征CF组成的。...原创 2022-07-21 09:49:17 · 1089 阅读 · 0 评论 -
【数据聚类】第七章第一节:半监督聚类算法概述
成对约束:是一种指明两个实例的相对关系的约束信息;成对约束由以下两个集合构成必连约束集(must-link set, ML):对于两个数据点xix_{i}xi和xjx_{j}xj,如果(xi,xj)∈ML(xi,xj)∈ML,则数据点xix_{i}xi和数据点xjx_{j}xj在实际中属于同一个簇,此时称(xi,xj)(xi,xj)是一个必连约束(must-link)原创 2022-09-11 08:26:31 · 1597 阅读 · 0 评论 -
【数据聚类】第七章第二节:半监督聚类之AP(Affinity Propagation)聚类(近邻传播聚类)
相似度(Similarity):对于数据点iii和kkk,使用s(i,k)s(i,k)s(i,k)描述两点之间的相似度,反映出了jjj作为iii的聚类中心能力的大小,采用欧氏距离负值表示。s(i,k)s(i,k)s(i,k)值越大就表示iii,jjj之间距离越近,也即jjj作为iii的聚类中心的能力越强s(i,k)=−∣∣xi−xk∣∣2s(i,k)=−∣∣xi−xk∣。原创 2022-09-23 09:45:45 · 605 阅读 · 0 评论 -
【数据聚类】第八章第一节:谱聚类算法概述及相关数学知识
谱聚类算法:它是一种基于谱聚理论的聚类算法。对于给定数据集{xi}i=1n,xi∈Rd{xi}i=1n,xi∈Rd,谱聚类算法会把这些数据点映射至无向图G=(V,E)G=(V,E)G=(V,E)xix_{i}xi对应图GGG的一个节点viv_{i}viEEE是图中边的集合接着可以用一个非负的相似矩阵WWW表示整个无向图,此时元素wijw_{ij}wij表示无向图中的两个节点v。原创 2022-09-06 15:27:30 · 270 阅读 · 0 评论 -
【数据聚类】第八章第二节:谱聚类算法之切图聚类、算法流程及其实现
本文部分内容源自刘建平博客,在此基础上进行总结拓展无向图切图:谱聚类算法根据数据点之间的相似度将数据点划分到不同簇中,因此将数据点映射到无向图之后,可以转化为图划分的问题。对于无向图GGG,切图的目标是将图G(V,E)G(V,E)G(V,E)切分成互相无连接kkk个子图,其中可以看出,cutcutcut描述了子图之间的相似性,cutcutcut越小那么子图的差异性就越大。但是cut(A1,A2,...,Ak)=12∑i=1kW(Ai,Aˉi)cut(A_{1},A_{2},...,A_{k})=\frac{原创 2022-09-09 13:56:15 · 748 阅读 · 0 评论