常用聚类算法有哪些?六大类聚类算法详细介绍

很难对聚类方法提出一个简洁的分类,因为这些类别可能重叠,从而使得一种方法具有几类的特征,尽管如此,对于各种不同的聚类方法提供一个相对有组织的描述依然是有用的,为聚类分析计算方法主要有如下几种:划分法、层次法、密度算法、图论聚类法、网格算法和模型算法。

以下对划分法和层次法等六种聚类算法种类做了详细的介绍。

1、划分法

划分法(partitioningmethods),给定一个有N个元组或者纪录的数据集,分裂法将构造K个分组,每一个分组就代表一个聚类,K《N。而且这K个分组满足下列条件:

(1)每一个分组至少包含一个数据纪录;

(2)每一个数据纪录属于且仅属于一个分组(注意:这个要求在某些模糊聚类算法中可以放宽);

对于给定的K,算法首先给出一个初始的分组方法,以后通过反复迭代的方法改变分组,使得每一次改进之后的分组方案都较前一次好,而所谓好的标准就是:同一分组中的记录越近越好,而不同分组中的纪录越远越好。

基于这个基本思想的算法有:

a.k-means:是一种典型的划分聚类算法,它用一个聚类的中心来代表一个簇,即在迭代过程中选择的聚点不一定是聚类中的一个点,该算法只能处理数值型数据。

b.k-modes:K-Means:算法的扩展,采用简单匹配方法来度量分类型数据的相似度。

c.k-prototypes:结合了K-Means和K-Modes两种算法,能够处理混合型数据。

d.k-medoids:在迭代过程中选择簇中的某点作为聚点,PAM是典型的k-medoids算法。

e.CLARA:CLARA算法在PAM的基础上采用了抽样技术,能够处理大规模数据。

f.CLARANS:CLARANS算法融合了PAM和CLARA两者的优点,是第一个用于空间数据库的聚类算法。

g.FocusedCLARAN:采用了空间索引技术提高了CLARANS算法的效率。

h.PCM:模糊集合理论引入聚类分析中并提出了PCM模糊聚类算法。

2、层次法

层次法(hierarchicalmethods),这种方法对给定的数据集进行层次似的分解,直到某种条件满足为止。具体又可分为“自底向上”和“自顶向下”两种方案。

例如,在“自底向上”方案中,初始时每一个数据纪录都组成一个单独的组,在接下来的迭代中,它把那些相互邻近的组合并成一个组,直到所有的记录组成一个分组或者某个条件满足为止。

代表算法有:

a.CURE:采用抽样技术先对数据集D随机抽取样本,再采用分区技术对样本进行分区,然后对每个分区局部聚类,最后对局部聚类进行全局聚类。

b.ROCK:也采用了随机抽样技术,该算法在计算两个对象的相似度时,同时考虑了周围对象的影响。

c.CHEMALOEN:首先由数据集构造成一个K-最近邻图Gk,再通过一个图的划分算法将图Gk划分成大量的子图,每个子图代表一个初始子簇,最后用一个凝聚的层次聚类算法反复合并子簇,找到真正的结果簇。

d.SBAC:SBAC算法则在计算对象间相似度时,考虑了属性特征对于体现对象本质的重要程度,对于更能体现对象本质的属性赋予较高的权值。

e.BIRCH:BIRCH算法利用树结构对数据集进行处理,叶结点存储一个聚类,用中心和半径表示,顺序处理每一个对象,并把它划分到距离最近的结点,该算法也可以作为其他聚类算法的预处理过程。

f.BUBBLE:BUBBLE算法则把BIRCH算法的中心和半径概念推广到普通的距离空间。

g.BUBBLE-FM:BUBBLE-FM算法通过减少距离的计算次数,提高了BUBBLE算法的效率。

3、密度算法

基于密度的方法(density-basedmethods),基于密度的方法与其它方法的一个根本区别是:它不是基于各种各样的距离的,而是基于密度的。这样就能克服基于距离的算法只能发现“类圆形”的聚类的缺点。

这个方法的指导思想就是,只要一个区域中的点的密度大过某个阈值,就把它加到与之相近的聚类中去。

a.DBSCAN:DBSCAN算法是一种典型的基于密度的聚类算法,该算法采用空间索引技术来搜索对象的邻域,引入了“核心对象”和“密度可达”等概念,从核心对象出发,把所有密度可达的对象组成一个簇。

b.GDBSCAN:算法通过泛化DBSCAN算法中邻域的概念,以适应空间对象的特点。

c.OPTICS:OPTICS算法结合了聚类的自动性和交互性,先生成聚类的次序,可以对不同的聚类设置不同的参数,来得到用户满意的结果。

d.FDC:FDC算法通过构造k-dtree把整个数据空间划分成若干个矩形空间,当空间维数较少时可以大大提高DBSCAN的效率。

e.DBLASD

4、图论聚类法

图论聚类方法解决的第一步是建立与问题相适应的图,图的节点对应于被分析数据的最小单元,图的边(或弧)对应于最小处理单元数据之间的相似性度量。因此,每一个最小处理单元数据之间都会有一个度量表达,这就确保了数据的局部特性比较易于处理。图论聚类法是以样本数据的局域连接特征作为聚类的主要信息源,因而其主要优点是易于处理局部数据的特性。

5、网格算法

基于网格的方法(grid-basedmethods),这种方法首先将数据空间划分成为有限个单元(cell)的网格结构,所有的处理都是以单个的单元为对象的。这么处理的一个突出的优点就是处理速度很快,通常这是与目标数据库中记录的个数无关的,它只与把数据空间分为多少个单元有关。

a.STING:利用网格单元保存数据统计信息,从而实现多分辨率的聚类

b.WaveCluster:在聚类分析中引入了小波变换的原理,主要应用于信号处理领域。(备注:小波算法在信号处理,图形图像,加密解密等领域有重要应用。)

c.CLIQUE:是一种结合了网格和密度的聚类算法。

d.OPTIGRID

6、模型算法

基于模型的方法(model-basedmethods),基于模型的方法给每一个聚类假定一个模型,然后去寻找能够很好的满足这个模型的数据集。这样一个模型可能是数据点在空间中的密度分布函数或者其它。它的一个潜在的假定就是:目标数据集是由一系列的概率分布所决定的。

通常有两种尝试方向:统计的方案和神经网络的方案。

其中基于统计方案的聚类算法又有如下几种:

a.COBWeb:COBWeb是一个通用的概念聚类方法,它用分类树的形式表现层次聚类。

b.AutoClass:是以概率混合模型为基础,利用属性的概率分布来描述聚类,该方法能够处理混合型的数据,但要求各属性相互独立。

c.CLASSIT

而基于神经网络方案的聚类算法又有:自组织神经网络SOM(该方法的基本思想是--由外界输入不同的样本到人工的自组织映射网络中,一开始时,输入样本引起输出兴奋细胞的位置各不相同,但自组织后会形成一些细胞群,它们分别代表了输入样本,反映了输入样本的特征)。

THE END
1.R语言聚类分析:数据聚类算法在数据挖掘与机器学习领域,聚类分析是一种常用的无监督学习方法,其主要目的是将相似的数据点归为一类,从而揭示数据自身的内在结构。R语言作为一种功能强大的数据处理和分析工具,提供了多种聚类分析算法,如K均值聚类、层次聚类、DBSCAN等。本文将从 R 语言的角度介绍数据聚类算法的原理、常用方法和实践案例。 https://www.jianshu.com/p/36fab82dfab2
2.解释聚类分析模型群集中的某些条目具有意义,而其他条目看起来像是随机内容。 部分原因是 k 均值算法必须在群集之间形成任意边界。 所有群集中都有许多条目处于边缘位置,可以属于两个(或更多)群集。 为了减少此类干扰,我们可以按照到各自群集中心的距离对这些条目进行排序,然后查看离中心最近的条目。 https://docs.microsoft.com/zh-cn/learn/modules/unsupervised-learning-clustering/4-interpret-clustering-model
3.大数据最常用的算法主要有哪些1. K-均值聚类算法(K-Means Clustering):将数据集划分为k个簇,每个簇中的数据点与簇中心的距离最小化。常用于数据的无监督聚类。 2. 决策树算法(Decision Tree):通过对数据进行划分和树形结构的建立,预测离散或连续的输出变量。常用于分类和回归问题。 3. 随机森林算法(Random Forest):由多个决策树组成的集成https://wenku.baidu.com/view/faf61cac0366f5335a8102d276a20029bd6463e3.html
4.数据分析中的聚类算法有哪些非负矩阵分解算法是一种基于矩阵分解的聚类算法,它将数据矩阵分解为多个非负矩阵的乘积,每个非负矩阵表示一个潜在的特征空间。算法的基本思想是:先随机初始化多个非负矩阵,然后通过最小化原始数据矩阵和非负矩阵乘积之间的距离来更新非负矩阵,重复以上步骤直到收敛。 https://www.linkflowtech.com/news/1082
5.有哪些常用的聚类算法?无需设定K(可作为K-means聚类探索K的先验算法)对于K-means不擅长的非球形点处理的较好 [缺点]时间https://www.zhihu.com/question/44164453/answer/2751357060
6.聚类算法详解3、算法的数据输入属性:算法处理的结果与数据输入的顺序是否相关,也就是说算法是否独立于数据输入顺序;算法处理有很多属性数据的能力,也就是对数据维数是否敏感,对数据的类型有无要求。 4、聚类算法有哪些类 二、算法介绍 1、基于层次的方法(Hierarchical methods) https://blog.csdn.net/abc200941410128/article/details/78541273
7.机器学习(二)之无监督学习:数据变换聚类分析聚类算法(clustering algorithm)将数据划分成不同的组,每组包含相似的内容。 无监督学习的一个主要挑战就是评估算法是否学到了有用的东西。我们不知道正确的输出应该是什么,很难判断一个模型是否“表现很好”。,通常来说,评估无监督算法结果的唯一方法就是人工检查。 https://www.flyai.com/article/516
8.17个机器学习的常用算法在非监督式学习中,数据并不被特别标识,学习模型是为了推断出数据的一些内在结构。常见的应用场景包括关联规则的学习以及聚类等。常见算法包括Apriori算法以及k-Means算法。 3.半监督式学习: 在此学习方式下,输入数据部分被标识,部分没有被标识,这种学习模型可以用来进行预测,但是模型首先需要学习数据的内在结构以便合理https://aidc.shisu.edu.cn/78/aa/c13626a161962/page.htm
9.基于聚类和XGboost算法的心脏病预测1.2 聚类算法 本文引用的聚类算法是K-means 算法, K-means算法中的K代表类簇个数, means代表类簇内数据对象的均值(这种均值表示的是类簇中心)[3]. K-means算法是一种经典的聚类算法, 此算法以数据对象之间的距离作为聚类标准, 即数据对象之间距离越小则表示这类数据拥有较高的相似度, 就会朝着一个中心点聚集https://c-s-a.org.cn/html/2019/1/6729.html
10.8个超级经典的聚类算法腾讯云开发者社区DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一种基于密度的聚类算法,用于将高维数据分组为密度相连的、具有相似特征的多个数据簇。其原理如下: 选择参数:DBSCAN算法需要两个关键参数,即ε(eps)和 MinPts。其中,ε用于定义邻域的大小,MinPts是指在邻域内至少应该有的数据点数目。 https://cloud.tencent.com/developer/article/2430459
11.有监督的聚类算法有哪些有监督分类算法有哪些有监督的聚类算法有哪些 有监督分类算法有哪些 机器学习应用分析–有监督算法-分类算法 ###按学习方式分类: 监督学习 无监督学习 半监督学习 强化学习 ①监督学习 数据集中的每个样本有相应的“正确答案”, 根据这些样本做出预测, 分有两类: 回归问题和分类问题。https://blog.51cto.com/u_12228/10764841