文档库 最新最全的文档下载
当前位置:文档库 › 一种选取初始聚类中心的方法

一种选取初始聚类中心的方法

一种选取初始聚类中心的方法
一种选取初始聚类中心的方法

一种选取初始聚类中心的方法

刘立平;孟志青

【期刊名称】《计算机工程与应用》

【年(卷),期】2004(040)008

【摘要】对k平均值聚类法中初始聚类中心的选取问题进行了深入研究,给出了一个较好的聚类中心选取算法.该算法也可以用于需要确定初始中心的其它聚类算法.实验结果表明该算法的效果较好.

【总页数】2页(179-180)

【关键词】聚类 k平均值方法初始聚类中心

【作者】刘立平;孟志青

【作者单位】东莞理工学院计算机系,东莞,523000;浙江工业大学经贸管理学院,杭州,310032

【正文语种】中文

【中图分类】TP301.6

【相关文献】

1.一种有效的k-means聚类初始中心选取方法 [J], 任景彪; 尹绍宏

2.一种改进的k-means初始聚类中心选取算法 [J], 韩凌波; 王强; 蒋正锋; 郝志强

3.一种有效k-均值聚类中心的选取方法 [J], 曹文平

4.一种有效的K-means聚类中心初始化方法 [J], 熊忠阳; 陈若田; 张玉芳

5.一种新的确定K-均值算法初始聚类中心的方法 [J], 王汉芝; 刘振全

(完整word版)各种聚类算法介绍及对比

一、层次聚类 1、层次聚类的原理及分类 1)层次法(Hierarchical methods)先计算样本之间的距离。每次将距离最近的点合并到同一个类。然后,再计算类与类之间的距离,将距离最近的类合并为一个大类。不停的合并,直到合成了一个类。其中类与类的距离的计算方法有:最短距离法,最长距离法,中间距离法,类平均法等。比如最短距离法,将类与类的距离定义为类与类之间样本的最短距离。 层次聚类算法根据层次分解的顺序分为:自下底向上和自上向下,即凝聚的层次聚类算法和分裂的层次聚类算法(agglomerative和divisive),也可以理解为自下而上法(bottom-up)和自上而下法(top-down)。自下而上法就是一开始每个个体(object)都是一个 类,然后根据linkage寻找同类,最后形成一个“类”。自上而下法就是反过来,一开始所有个体都属于一个“类”,然后根据linkage排除异己,最后每个个体都成为一个“类”。这两种路方法没有孰优孰劣之分,只是在实际应用的时候要根据数据特点以及你想要的“类”的个数,来考虑是自上而下更快还是自下而上更快。至于根据Linkage判断“类” 的方法就是最短距离法、最长距离法、中间距离法、类平均法等等(其中类平均法往往被认为是最常用也最好用的方法,一方面因为其良好的单调性,另一方面因为其空间扩张/浓缩的程度适中)。为弥补分解与合并的不足,层次合并经常要与其它聚类方法相结合,如循环定位。 2)Hierarchical methods中比较新的算法有BIRCH(Balanced Iterative Reducing and Clustering Using Hierarchies利用层次方法的平衡迭代规约和聚类)主要是在数据量很大的时候使用,而且数据类型是numerical。首先利用树的结构对对象集进行划分,然后再利用其它聚类方法对这些聚类进行优化;ROCK(A Hierarchical Clustering Algorithm for Categorical Attributes)主要用在categorical的数据类型上;Chameleon(A Hierarchical Clustering Algorithm Using Dynamic Modeling)里用到的linkage是kNN(k-nearest-neighbor)算法,并以此构建一个graph,Chameleon的聚类效果被认为非常强大,比BIRCH好用,但运算复杂度很高,O(n^2)。 2、层次聚类的流程 凝聚型层次聚类的策略是先将每个对象作为一个簇,然后合并这些原子簇为越来越大的簇,直到所有对象都在一个簇中,或者某个终结条件被满足。绝大多数层次聚类属于凝聚型层次聚类,它们只是在簇间相似度的定义上有所不同。这里给出采用最小距离的凝聚层次聚类算法流程: (1) 将每个对象看作一类,计算两两之间的最小距离; (2) 将距离最小的两个类合并成一个新类; (3) 重新计算新类与所有类之间的距离; (4) 重复(2)、(3),直到所有类最后合并成一类。

各种聚类算法的比较

各种聚类算法的比较 聚类的目标是使同一类对象的相似度尽可能地小;不同类对象之间的相似度尽可能地大。目前聚类的方法很多,根据基本思想的不同,大致可以将聚类算法分为五大类:层次聚类算法、分割聚类算法、基于约束的聚类算法、机器学习中的聚类算法和用于高维度的聚类算法。摘自数据挖掘中的聚类分析研究综述这篇论文。 1、层次聚类算法 1.1聚合聚类 1.1.1相似度依据距离不同:Single-Link:最近距离、Complete-Link:最远距离、Average-Link:平均距离 1.1.2最具代表性算法 1)CURE算法 特点:固定数目有代表性的点共同代表类 优点:识别形状复杂,大小不一的聚类,过滤孤立点 2)ROCK算法 特点:对CURE算法的改进 优点:同上,并适用于类别属性的数据 3)CHAMELEON算法 特点:利用了动态建模技术 1.2分解聚类 1.3优缺点 优点:适用于任意形状和任意属性的数据集;灵活控制不同层次的聚类粒度,强聚类能力 缺点:大大延长了算法的执行时间,不能回溯处理 2、分割聚类算法 2.1基于密度的聚类 2.1.1特点 将密度足够大的相邻区域连接,能有效处理异常数据,主要用于对空间数据的聚类

1)DBSCAN:不断生长足够高密度的区域 2)DENCLUE:根据数据点在属性空间中的密度进行聚类,密度和网格与处理的结合 3)OPTICS、DBCLASD、CURD:均针对数据在空间中呈现的不同密度分不对DBSCAN作了改进 2.2基于网格的聚类 2.2.1特点 利用属性空间的多维网格数据结构,将空间划分为有限数目的单元以构成网格结构; 1)优点:处理时间与数据对象的数目无关,与数据的输入顺序无关,可以处理任意类型的数据 2)缺点:处理时间与每维空间所划分的单元数相关,一定程度上降低了聚类的质量和准确性 2.2.2典型算法 1)STING:基于网格多分辨率,将空间划分为方形单元,对应不同分辨率2)STING+:改进STING,用于处理动态进化的空间数据 3)CLIQUE:结合网格和密度聚类的思想,能处理大规模高维度数据4)WaveCluster:以信号处理思想为基础 2.3基于图论的聚类 2.3.1特点 转换为组合优化问题,并利用图论和相关启发式算法来解决,构造数据集的最小生成数,再逐步删除最长边 1)优点:不需要进行相似度的计算 2.3.2两个主要的应用形式 1)基于超图的划分 2)基于光谱的图划分 2.4基于平方误差的迭代重分配聚类 2.4.1思想 逐步对聚类结果进行优化、不断将目标数据集向各个聚类中心进行重新分配以获最优解

聚类算法比较

聚类算法: 1. 划分法:K-MEANS算法、K-M EDOIDS算法、CLARANS算法; 1)K-means 算法: 基本思想是初始随机给定K个簇中心,按照最邻近原则把待分类样本点分到各个簇。然后按平均法重新计算各个簇的质心,从而确定新的簇心。一直迭代,直到簇心的移动距离小于某个给定的值。 K-Means聚类算法主要分为三个步骤: (1)第一步是为待聚类的点寻找聚类中心 (2)第二步是计算每个点到聚类中心的距离,将每个点聚类到离该点最近的聚类中去 (3)第三步是计算每个聚类中所有点的坐标平均值,并将这个平均值作为新的聚类中心 反复执行(2)、(3),直到聚类中心不再进行大范围移动或者聚类次数达到要求为止 下图展示了对n个样本点进行K-means聚类的效果,这里k取2: (a)未聚类的初始点集 (b)随机选取两个点作为聚类中心 (c)计算每个点到聚类中心的距离,并聚类到离该点最近的聚类中去 (d)计算每个聚类中所有点的坐标平均值,并将这个平均值作为新的聚类中心 (e)重复(c),计算每个点到聚类中心的距离,并聚类到离该点最近的聚类中去 (f)重复(d),计算每个聚类中所有点的坐标平均值,并将这个平均值作为新的聚类中心 优点: 1.算法快速、简单; 2.对大数据集有较高的效率并且是可伸缩性的; 3.时间复杂度近于线性,而且适合挖掘大规模数据集。 缺点: 1. 在 K-means 算法中 K 是事先给定的,这个 K 值的选定是非常难以估计的。 2. 在 K-means 算法中,首先需要根据初始聚类中心来确定一个初始划分,然后对初始划分进行优化。这个初始聚类中心的选择对聚类结果有较大的影响。

聚类分析方法

第一章Microarray 介绍 1.1 生物信息处理 基于对生物体“硬件”和“软件”的认识 ,提出暂时地撇开生物的物理属性 ,着重研究其信息属性 ,从而进入到生物信息处理 (关于生命硬件的信息和软件的信息 ,即生理信息和生命信息 )的一个分支 ,生物信息学。于是 ,为揭开生命之秘、揭示与生命现象相关的复杂系统的运作机制打开一条新的途径。 什么是生物信息处理 生物信息处理的英文是Bioinformatics。 1994年初 ,诺贝尔医学奖获得者美国教授M·罗德贝尔发表一篇评论 ,题为《生物信息处理 :评估环境卫生的新方法》。他认为生物信息处理是在基因数据库基础上 ,计算机驱动的能快速获得表达基因部分序列的方法。通过MEDLINE数据库 ,可以查阅到很多与生物信息处理 (Bioinformatics)有关的记录,其中JFAiton认为生物信息处理是基于计算机的数据库和信息服务;RPMurray认为生物信息处理包括两方面:第一是大量现存数据的自动化处理 ,第二是新的信息资源的生成;DBenton在题为《生物信息处理———一个新的多学科工具的原理和潜力》的文章中说 ,生物信息处理的材料是生物学数据 ,其方法来自广泛的各种各样的计算机技术。其方法来自广泛的各种各样的计算机技术。近年来 ,生物学数据在爆炸式增长 ,新的计算机方法在不断产生。这些方法在结构生物学、遗传学、结构化药品和分子演变学中是研究工作进展的基础。如果生物医学工程要在各个领域都从研究进展中获取最大好处 ,那么生物学数据健全的基础设施的开发与维护是同等重要的。尽管生物信息处理已经作出重要贡献 ,但是在它成熟时就会面临更大的需求在爆炸式增长 ,新的计算机方法在不断产生。这些方法在结构生物学、遗传学、结构化药品和分子演变学中是研究工作进展的基础。如果生物医学工程要在各个领域都从研究进展中获取最大好处 ,那么生物学数据健全的基础设施的开发与维护是同等重要的。尽管生物信息处理已经作出重要贡献 ,但是在它成熟时就会面临更大的需求。

一种基于K-Means局部最优性的高效聚类算法

ISSN 1000-9825, CODEN RUXUEW E-mail: jos@https://www.wendangku.net/doc/4b10640764.html, Journal of Software, Vol.19, No.7, July 2008, pp.1683?1692 https://www.wendangku.net/doc/4b10640764.html, DOI: 10.3724/SP.J.1001.2008.01683 Tel/Fax: +86-10-62562563 ? 2008 by Journal of Software. All rights reserved. ? 一种基于K-Means局部最优性的高效聚类算法 雷小锋1,2+, 谢昆青1, 林帆1, 夏征义3 1(北京大学信息科学技术学院智能科学系/视觉与听觉国家重点实验室,北京 100871) 2(中国矿业大学计算机学院,江苏徐州 221116) 3(中国人民解放军总后勤部后勤科学研究所,北京 100071) An Efficient Clustering Algorithm Based on Local Optimality of K-Means LEI Xiao-Feng1,2+, XIE Kun-Qing1, LIN Fan1, XIA Zheng-Yi3 1(Department of Intelligence Science/National Laboratory on Machine Perception, Peking University, Beijing 100871, China) 2(School of Computer Science and Technology, China University of Mining and Technology, Xuzhou 221116, China) 3(Logistics Science and Technology Institute, P.L.A. Chief Logistics Department, Beijing 100071, China) + Corresponding author: E-mail: leiyunhui@https://www.wendangku.net/doc/4b10640764.html, Lei XF, Xie KQ, Lin F, Xia ZY. An efficient clustering algorithm based on local optimality of K-Means. Journal of Software, 2008,19(7):1683?1692. https://www.wendangku.net/doc/4b10640764.html,/1000-9825/19/1683.htm Abstract: K-Means is the most popular clustering algorithm with the convergence to one of numerous local minima, which results in much sensitivity to initial representatives. Many researches are made to overcome the sensitivity of K-Means algorithm. However, this paper proposes a novel clustering algorithm called K-MeanSCAN by means of the local optimality and sensitivity of K-Means. The core idea is to build the connectivity between sub-clusters based on the multiple clustering results of K-Means, where these clustering results are distinct because of local optimality and sensitivity of K-Means. Then a weighted connected graph of the sub-clusters is constructed using the connectivity, and the sub-clusters are merged by the graph search algorithm. Theoretic analysis and experimental demonstrations show that K-MeanSCAN outperforms existing algorithms in clustering quality and efficiency. Key words: K-MeanSCAN; density-based; K-Means; clustering; connectivity 摘要: K-Means聚类算法只能保证收敛到局部最优,从而导致聚类结果对初始代表点的选择非常敏感.许多研究 工作都着力于降低这种敏感性.然而,K-Means的局部最优和结果敏感性却构成了K-MeanSCAN聚类算法的基 础.K-MeanSCAN算法对数据集进行多次采样和K-Means预聚类以产生多组不同的聚类结果,来自不同聚类结果的 子簇之间必然会存在交集.算法的核心思想是,利用这些交集构造出关于子簇的加权连通图,并根据连通性合并子 簇.理论和实验证明,K-MeanScan算法可以在很大程度上提高聚类结果的质量和算法的效率. 关键词: K-MeanSCAN;基于密度;K-Means;聚类;连通性 中图法分类号: TP18文献标识码: A ? Supported by the National High-Tech Research and Development Plan of China under Grant No.2006AA12Z217 (国家高技术研究发 展计划(863)); the Foundation of China University of Mining and Technology under Grant No.OD080313 (中国矿业大学科技基金) Received 2006-10-09; Accepted 2007-07-17

聚类比较

聚类的目标是使同一类对象的相似度尽可能地大;不同类对象之间的相似度尽可能地小。目前聚类的方法很多,根据基本思想的不同,大致可以将聚类算法分为五大类:层次聚类算法、分割聚类算法、基于约束的聚类算法、机器学习中的聚类算法和用于高维度的聚类算法。摘自数据挖掘中的聚类分析研究综述这篇论文。 1、层次聚类算法 1.1聚合聚类 1.1.1相似度依据距离不同:Single-Link:最近距离、Complete-Link:最远距离、Average-Link:平均距离 1.1.2最具代表性算法 1)CURE算法 特点:固定数目有代表性的点共同代表类 优点:识别形状复杂,大小不一的聚类,过滤孤立点 2)ROCK算法 特点:对CURE算法的改进 优点:同上,并适用于类别属性的数据 3)CHAMELEON算法 特点:利用了动态建模技术 1.2分解聚类 1.3优缺点

优点:适用于任意形状和任意属性的数据集;灵活控制不同层次的聚类粒度,强聚类能力缺点:大大延长了算法的执行时间,不能回溯处理 2、分割聚类算法 2.1基于密度的聚类 2.1.1特点 将密度足够大的相邻区域连接,能有效处理异常数据,主要用于对空间数据的聚类 2.1.2典型算法 1)DBSCAN:不断生长足够高密度的区域 2)DENCLUE:根据数据点在属性空间中的密度进行聚类,密度和网格与处理的结合 3)OPTICS、DBCLASD、CURD:均针对数据在空间中呈现的不同密度分不对DBSCAN作了改进 2.2基于网格的聚类 2.2.1特点 利用属性空间的多维网格数据结构,将空间划分为有限数目的单元以构成网格结构; 1)优点:处理时间与数据对象的数目无关,与数据的输入顺序无关,可以处理任意类型的数据 2)缺点:处理时间与每维空间所划分的单元数相关,一定程度上降低了聚类的质量和准确性 2.2.2典型算法 1)STING:基于网格多分辨率,将空间划分为方形单元,对应不同分辨率 2)STING+:改进STING,用于处理动态进化的空间数据 3)CLIQUE:结合网格和密度聚类的思想,能处理大规模高维度数据 4)WaveCluster:以信号处理思想为基础 2.3基于图论的聚类 2.3.1特点 转换为组合优化问题,并利用图论和相关启发式算法来解决,构造数据集的最小生成数,再逐步删除最长边 1)优点:不需要进行相似度的计算 2.3.2两个主要的应用形式 1)基于超图的划分 2)基于光谱的图划分 2.4基于平方误差的迭代重分配聚类 2.4.1思想 逐步对聚类结果进行优化、不断将目标数据集向各个聚类中心进行重新分配以获最优解2.4.2具体算法 1)概率聚类算法 期望最大化、能够处理异构数据、能够处理具有复杂结构的记录、能够连续处理成批的数据、具有在线处理能力、产生的聚类结果易于解释 2)最近邻聚类算法——共享最近邻算法SNN 特点:结合基于密度方法和ROCK思想,保留K最近邻简化相似矩阵和个数 不足:时间复杂度提高到了O(N^2) 3)K-Medioids算法 特点:用类中的某个点来代表该聚类

主成分分析、聚类分析比较

主成分分析、聚类分析的比较与应用 主成分分析、聚类

分析的比较与应用 摘要:主成分分析、聚类分析是两种比较有价值的多元统计方法,但同时也是在使用过程中容易误用或混淆的几种方法。本文从基本思想、数据的标准化、应用上的优缺点等方面,详细地探讨了两者的异同,并且 举例说明了两者在实际问题中的应用。 关键词:spss、主成分分析、聚类分析 一、基本概念 主成分分析就是设法将原来众多具有一定相关性(比如P个指标),重新组合成一组新的互相无关的综合指标来代替原来的指标。综合指标即为主成分。所得出的少数几个主成分,要尽可能多地保留原始变量的信息,且彼此不相关。因子分析是研究如何以最少的信息丢失,将众多原始变量浓缩成少数几个因子变量,以及如何使因子变量具有较强的可解释性的一种多元统计分析方法。 聚类分析是依据实验数据本身所具有的定性或定量的特征来对大量的数据进行分组归类以了解数据集的内在结构,并且对每一个数据集进行描述的过程。其主要依据是聚到同一个数据集中的样本应该彼此相似,而属于不同组的样本应该足够不相似。 二、基本思想的异同 (一)共同点 主成分分析法和因子分析法都是用少数的几个变量(因子) 来综合反映原始变量(因子) 的主要信息,变量虽然较原始变量少,但所包含的信息量却占原始信息的85 %以上,所以即使用少数的几个新变量,可信度也很高,也可以有效地解释问题。并且新的变量彼此间互不相关,消除了多重共线性。这两种分析法得出的新变量,并不是原始变量筛选后剩余的变量。在主成分分析中,最终确定的新变量是原始变量的线性组合,如原始变量为x1 ,x2 ,. . . ,x3 ,经过坐标变换,将原有的p个相关变量xi 作线性变换,每个主成分都是由原有p 个

主成分分析、聚类分析比较

主成分分析、聚类分析的比较与应用

主成分分析、聚类 分析的比较与应用 摘要:主成分分析、聚类分析是两种比较有价值的多元统计方法,但同时也是在使用过程中容易误用或混淆的几种方法。本文从基本思想、数据的标准化、应用上的优缺点等方面,详细地探讨了两者的异同,并且 举例说明了两者在实际问题中的应用。 关键词:spss、主成分分析、聚类分析 一、基本概念

主成分分析就是设法将原来众多具有一定相关性(比如P个指标),重新组合成一组新的互相无关的综合指标来代替原来的指标。综合指标即为主成分。所得出的少数几个主成分,要尽可能多地保留原始变量的信息,且彼此不相关。因子分析是研究如何以最少的信息丢失,将众多原始变量浓缩成少数几个因子变量,以及如何使因子变量具有较强的可解释性的一种多元统计分析方法。 聚类分析是依据实验数据本身所具有的定性或定量的特征来对大量的数据进行分组归类以了解数据集的内在结构,并且对每一个数据集进行描述的过程。其主要依据是聚到同一个数据集中的样本应该彼此相似,而属于不同组的样本应该足够不相似。 二、基本思想的异同 (一)共同点 主成分分析法和因子分析法都是用少数的几个变量(因子) 来综合反映原始变量(因子) 的主要信息,变量虽然较原始变量少,但所包含的信息量却占原始信息的85 %以上,所以即使用少数的几个新变量,可信度也很高,也可以有效地解释问题。并且新的变量彼此间互不相关,消除了多重共线性。这两种分析法得出的新变量,并不是原始变量筛选后剩余的变量。在主成分分析中,最终确定的新变量是原始变量的线性组合,如原始变量为x1 ,x2 ,. . . ,x3 ,经过坐标变换,将原有的p个相关变量xi 作线性变换,每个主成分都是由原有p 个变量线性组合得到。在诸多主成分Zi中,Z1 在方差中占的比重最大,说明它综合原有变量的能力最强,越往后主成分在方差中的比重也小,综合原信息的能力越弱。因子分析是要利用少数几个公共因子去解释较多个要观测变量中存在的复杂关系,它不是对原始变量的重新组合,而是对原始变量进行分解,分解为公共因子

聚类分析中几种算法的比较

聚类分析中几种算法的比较 2009-04-13 23:12 将数据库中的对象进行聚类是聚类分析的基本操作,其准则是使属于同一类的个体间距离尽可能小,而不同类个体间距离尽可能大,为了找到效率高、通用性强的聚类方法人们从不同角度提出了近百种聚类方法,典型的有K-means 方法、K-medoids方法、CLARANS方法,BIRCH方法等,这些算法适用于特定的问题及用户。本文综合提出了评价聚类算法好坏的5个标准,基于这5个标准,对数据挖掘中常用聚类方法作了比较分析,以便于人们更容易、更快捷地找到一种适用于特定问题及用户的聚类算法。 聚类算法研究及比较框架 聚类算法一般有五种方法,最主要的是划分方法和层次方法两种。划分聚类算法通过优化评价函数把数据集分割为K个部分,它需要K作为输人参数。典型的分割聚类算法有K-means算法, K-medoids算法、CLARANS算法。层次聚类由不同层次的分割聚类组成,层次之间的分割具有嵌套的关系。它不需要输入参数,这是它优于分割聚类算法的一个明显的优点,其缺点是终止条件必须具体指定。典型的分层聚类算法有BIRCH算法、DBSCAN算法和CURE算法等。 对各聚类算法的比较研究基于以下5个标准: ①是否适用于大数据量,算法的效率是否满足大数据量高复杂性的要求; ②是否能应付不同的数据类型,能否处理符号属性; ③是否能发现不同类型的聚类; ④是否能应付脏数据或异常数据; ⑤是否对数据的输入顺序不敏感。 下面将在该框架下对各聚类算法作分析比较。 数据挖掘常用聚类算法比较分析 3.1 K-pototypes算法 K-pototypes算法结合了K-means方法和根据K-means方法改进的能够处理符号属性的K-modes方法,同K-means 方法相比,K-pototypes 算法能够处理符号属性。 3.2 CLARANS算法(划分方法) CLARANS算法即随机搜索聚类算法,是一种分割聚类方法。它首先随机选择一个点作为当前点,然后随机检查它周围不超过参数Maxneighbor个的一些邻接点,假如找到一个比它更好的邻接点,则把它移人该邻接点,否则把该点作为局部最小量。然后再随机选择一个点来寻找另一个局部最小量,直至所找到的局部最小量数目达到用户要求为止。该算法要求聚类的对象必须都预先调人内存,并且需多次扫描数据集,这对大数据量而言,无论时间复杂度还是空间复杂度都相当大。虽通过引人R-树结构对其性能进行改善,使之能够处理基于磁盘的大型数据库,但R*-树的构造和维护代价太大。该算法对脏数据和异常数据不敏感,但对数据物人顺序异常敏感,且只能处理凸形或球形边界聚类。 3.3 BIRCH算法(层次方法) BIRCH算法即平衡迭代削减聚类法,其核心是用一个聚类特征3元组表示一个簇的有关信息,从而使一簇点的表示可用对应的聚类特征,而不必用具体的一组点来表示。它通过构造满足分支因子和簇直径限制的聚类特征树来求聚类。BIRCH算法通过聚类特征可以方便地进行中心、半径、直径及类内、类间距离的运算。算法的聚类特征树是一个具有两个参数分枝因子B和类直径T的高度平衡树。分枝因子规定了树的每个节点子女的最多个数,而类直径体现了对一类点的直径大小的限制即这些点在多大范围内可以聚为一类,非叶子结点为它的子女的最大关键字,可以根据这些关键字进行插人索引,它总结了其子女的信息。 聚类特征树可以动态构造,因此不要求所有数据读人内存,而可以在外存上逐个读人。新的数据项总是插人到树中与该数据距离最近的叶子中。如果插人后使得该叶子的直径大于类直径T,则把该叶子节点分裂。其它叶子结点也需要检查是否超过分枝因子来判断其分裂与否,直至该数据插入到叶子中,并且满足不超过类直径,而每个非叶子节点的子女个数不大于分枝因子。算法还可以通过改变类直径修改特征树大小,控制其占内存容量。 BIRCH算法通过一次扫描就可以进行较好的聚类,由此可见,该算法适合于大数据量。对于给定的M兆内存空间,其空间复杂度为O(M),时间间复杂度为O(dNBlnB(M/P)).其中d为维数,N为节点数,P为内存页的大小,B为由P决定的分枝因子。I/O花费与数据量成线性关系。BIRCH算法只适用于类的分布呈凸形及球形的情况,并且由于BIRCH算法需提供正确的聚类个数和簇直径限制,对不可视的高维数据不可行。 3.4 CURE算法(层次方法) CURE算法即使用代表点的聚类方法。该算法先把每个数据点看成一类,然后合并距离最近的类直至类个数为所要求的个数为止。CURE算法将传统对类的表示方法进行了改进,回避了用所有点或用中心和半径来表示一个类,而

各种聚类算法介绍及对比教学内容

各种聚类算法介绍及 对比

一、层次聚类 1、层次聚类的原理及分类 1)层次法(Hierarchical methods)先计算样本之间的距离。每次将距离最近的点合并到同一个类。然后,再计算类与类之间的距离,将距离最近的类合并为一个大类。不停的合并,直到合成了一个类。其中类与类的距离的计算方法有:最短距离法,最长距离法,中间距离法,类平均法等。比如最短距离法,将类与类的距离定义为类与类之间样本的最短距离。 层次聚类算法根据层次分解的顺序分为:自下底向上和自上向下,即凝聚的层次聚类算法和分裂的层次聚类算法(agglomerative和divisive),也可以理解为自下而上法(bottom-up)和自上而下法(top-down)。自下而上法就是一开始每个个体(object)都是一个类,然后根据linkage寻找同类,最后形成一个“类”。自上而下法就是反过来,一开始所有个体都属于一个“类”,然后根据linkage排除异己,最后每个个体都成为一个“类”。这两种路方法没有孰优孰劣之分,只是在实际应用的时候要根据数据特点以及你想要的“类”的个数,来考虑是自上而下更快还是自下而上更快。至于根据Linkage判断“类”的方法就是最短距离法、最长距离法、中间距离法、类平均法等等(其中类平均法往往被认为是最常用也最好用的方法,一方面因为其良好的单调性,另一方面因为其空间扩张/浓缩的程度适中)。为弥补分解与合并的不足,层次合并经常要与其它聚类方法相结合,如循环定位。 2)Hierarchical methods中比较新的算法有BIRCH(Balanced Iterative Reducing and Clustering Using Hierarchies利用层次方法的平衡迭代规约和聚类)主要是在数据量很大的时候使用,而且数据类型是numerical。首先利用树的结构对对象集进行划分,然后再利用其它聚类方法对这些聚类进行优化;ROCK(A Hierarchical Clustering Algorithm for Categorical Attributes)主要用在categorical的数据类型上;Chameleon(A Hierarchical Clustering Algorithm Using Dynamic Modeling)里用到的linkage是kNN(k-nearest-neighbor)算法,并以此构建一个graph,Chameleon的聚类效果被认为非常强大,比BIRCH好用,但运算复杂度很高,O(n^2)。 2、层次聚类的流程 凝聚型层次聚类的策略是先将每个对象作为一个簇,然后合并这些原子簇为越来越大的簇,直到所有对象都在一个簇中,或者某个终结条件被满足。绝大多数层次聚类属于凝聚型层次聚类,它们只是在簇间相似度的定义上有所不同。这里给出采用最小距离的凝聚层次聚类算法流程: (1) 将每个对象看作一类,计算两两之间的最小距离; (2) 将距离最小的两个类合并成一个新类; (3) 重新计算新类与所有类之间的距离; (4) 重复(2)、(3),直到所有类最后合并成一类。

相关文档
相关文档 最新文档