Ⅰ 聚类分析的基本步骤
聚类分析的主要步骤
聚类分析的主要步骤
1.数据预处理,
2.为衡量数据点间的相似度定义一个距离函数,
3.聚类或分组,
4.评估输出。
数据预处理包括选择数量,类型和特征的标度,它依靠特征选择和特征抽取,特征选择选择重要的特征,特征抽取把输入的特征转化为一个新的显着特征,它们经常被用来获取一个合适的特征集来为避免“维数灾”进行聚类,数据预处理还包括将孤立点移出数据,孤立点是不依附于一般数据行为或模型的数据,因此孤立点经常会导致有偏差的聚类结果,因此为了得到正确的聚类,我们必须将它们剔除。
既然相类似性是定义一个类的基础,那么不同数据之间在同一个特征空间相似度的衡量对于聚类步骤是很重要的,由于特征类型和特征标度的多样性,距离度量必须谨慎,它经常依赖于应用,例如,通常通过定义在特征空间的距离度量来评估不同对象的相异性,很多距离度都应用在一些不同的领域,一个简单的距离度量,如Euclidean距离,经常被用作反映不同数据间的相异性,一些有关相似性的度量,例如PMC和SMC,能够被用来特征化不同数据的概念相似性,在图像聚类上,子图图像的误差更正能够被用来衡量两个图形的相似性。
将数据对象分到不同的类中是一个很重要的步骤,数据基于不同的方法被分到不同的类中,划分方法和层次方法是聚类分析的两个主要方法,划分方法一般从初始划分和最优化一个聚类标准开始。CrispClustering,它的每一个数据都属于单独的类;FuzzyClustering,它的每个数据可能在任何一个类中,CrispClustering和FuzzyClusterin是划分方法的两个主要技术,划分方法聚类是基于某个标准产生一个嵌套的划分系列,它可以度量不同类之间的相似性或一个类的可分离性用来合并和分裂类,其他的聚类方法还包括基 于密度的聚类,基于模型的聚类,基于网格的聚类。
评估聚类结果的质量是另一个重要的阶段,聚类是一个无管理的程序,也没有客观的标准来评价聚类结果,它是通过一个类有效索引来评价,一般来说,几何性质,包括类间的分离和类内部的耦合,一般都用来评价聚类结果的质量,类有效索引在决定类的数目时经常扮演了一个重要角色,类有效索引的最佳值被期望从真实的类数目中获取,一个通常的决定类数目的方法是选择一个特定的类有效索引的最佳值,这个索引能否真实的得出类的数目是判断该索引是否有效的标准,很多已经存在的标准对于相互分离的类数据集合都能得出很好的结果,但是对于复杂的数据集,却通常行不通,例如,对于交叠类的集合。
Ⅱ 聚类算法有哪几种
聚类分析计算方法主要有: 层次的方法(hierarchical method)、划分方法(partitioning method)、基于密度的方法(density-based method)、基于网格的方法(grid-based method)、基于模型的方法(model-based method)等。其中,前两种算法是利用统计学定义的距离进行度量。
k-means 算法的工作过程说明如下:首先从n个数据对象任意选择 k 个对象作为初始聚类中心;而对于所剩下其它对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的(聚类中心所代表的)聚类;然 后再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值);不断重复这一过程直到标准测度函数开始收敛为止。一般都采用均方差作为标准测度函数. k个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。
其流程如下:
(1)从 n个数据对象任意选择 k 个对象作为初始聚类中心;
(2)根据每个聚类对象的均值(中心对象),计算每个对象与这些中心对象的距离;并根据最小距离重新对相应对象进行划分;
(3)重新计算每个(有变化)聚类的均值(中心对象);
(4)循环(2)、(3)直到每个聚类不再发生变化为止(标准测量函数收敛)。
优点: 本算法确定的K个划分到达平方误差最小。当聚类是密集的,且类与类之间区别明显时,效果较好。对于处理大数据集,这个算法是相对可伸缩和高效的,计算的复杂度为 O(NKt),其中N是数据对象的数目,t是迭代的次数。
缺点:
1. K 是事先给定的,但非常难以选定;
2. 初始聚类中心的选择对聚类结果有较大的影响。
Ⅲ 聚类分析方法应用于哪些问题的研究
1.聚类分析的特点
聚类分析(cluster analysis)是根据事物本身的特性研究个体的一种方法,目的在于将相似的事物归类.它的原则是同一类中的个体有较大的相似性,不同类的个体差异性很大.这种方法有三个特征:适用于没有先验知识的分类.如果没有这些事先的经验或一些国际、国内、行业标准,分类便会显得随意和主观.这时只要设定比较完善的分类变量,就可以通过聚类分析法得到较为科学合理的类别;可以处理多个变量决定的分类.例如,要根据消费者购买量的大小进行分类比较容易,但如果在进行数据挖掘时,要求根据消费者的购买量、家庭收入、家庭支出、年龄等多个指标进行分类通常比较复杂,而聚类分析法可以解决这类问题;聚类分析法是一种探索性分析方法,能够分析事物的内在特点和规律,并根据相似性原则对事物进行分组,是数据挖掘中常用的一种技术.
这种较成熟的统计学方法如果在市场分析中得到恰当的应用,必将改善市场营销的效果,为企业决策提供有益的参考.其应用的步骤为:将市场分析中的问题转化为聚类分析可以解决的问题,利用相关软件(如SPSS、SAS等)求得结果,由专家解读结果,并转换为实际操作措施,从而提高企业利润,降低企业成本.
2.应用范围
聚类分析在客户细分中的应用
消费同一种类的商品或服务时,不同的客户有不同的消费特点,通过研究这些特点,企业可以制定出不同的营销组合,从而获取最大的消费者剩余,这就是客户细分的主要目的.常用的客户分类方法主要有三类:经验描述法,由决策者根据经验对客户进行类别划分;传统统计法,根据客户属性特征的简单统计来划分客户类别;非传统统计方法,即基于人工智能技术的非数值方法.聚类分析法兼有后两类方法的特点,能够有效完成客户细分的过程.
例如,客户的购买动机一般由需要、认知、学习等内因和文化、社会、家庭、小群体、参考群体等外因共同决定.要按购买动机的不同来划分客户时,可以把前述因素作为分析变量,并将所有目标客户每一个分析变量的指标值量化出来,再运用聚类分析法进行分类.在指标值量化时如果遇到一些定性的指标值,可以用一些定性数据定量化的方法加以转化,如模糊评价法等.除此之外,可以将客户满意度水平和重复购买机会大小作为属性进行分类;还可以在区分客户之间差异性的问题上纳入一套新的分类法,将客户的差异性变量划分为五类:产品利益、客户之间的相互作用力、选择障碍、议价能力和收益率,依据这些分析变量聚类得到的归类,可以为企业制定营销决策提供有益参考.
以上分析的共同点在于都是依据多个变量进行分类,这正好符合聚类分析法解决问题的特点;不同点在于从不同的角度寻求分析变量,为某一方面的决策提供参考,这正是聚类分析法在客户细分问题中运用范围广的体现.
聚类分析在实验市场选择中的应用
实验调查法是市场调查中一种有效的一手资料收集方法,主要用于市场销售实验,即所谓的市场测试.通过小规模的实验性改变,以观察客户对产品或服务的反应,从而分析该改变是否值得在大范围内推广.
实验调查法最常用的领域有:市场饱和度测试.市场饱和度反映市场的潜在购买力,是市场营销战略和策略决策的重要参考指标.企业通常通过将消费者购买产品或服务的各种决定因素(如价格等)降到最低限度的方法来测试市场饱和度.或者在出现滞销时,企业投放类似的新产品或服务到特定的市场,以测试市场是否真正达到饱和,是否具有潜在的购买力.前述两种措施由于利益和风险的原因,不可能在企业覆盖的所有市场中实施,只能选择合适的实验市场和对照市场加以测试,得到近似的市场饱和度;产品的价格实验.这种实验往往将新定价的产品投放市场,对顾客的态度和反应进行测试,了解顾客对这种价格的是否接受或接受程度;新产品上市实验.波士顿矩阵研究的企业产品生命周期图表明,企业为了生存和发展往往要不断开发新产品,并使之向明星产品和金牛产品顺利过渡.然而新产品投放市场后的失败率却很高,大致为66%到90%.因而为了降低新产品的失败率,在产品大规模上市前,运用实验调查法对新产品的各方面(外观设计、性能、广告和推广营销组合等)进行实验是非常有必要的.
在实验调查方法中,最常用的是前后单组对比实验、对照组对比实验和前后对照组对比实验.这些方法要求科学的选择实验和非实验单位,即随机选择出的实验单位和非实验单位之间必须具备一定的可比性,两类单位的主客观条件应基本相同.
通过聚类分析,可将待选的实验市场(商场、居民区、城市等)分成同质的几类小组,在同一组内选择实验单位和非实验单位,这样便保证了这两个单位之间具有了一定的可比性.聚类时,商店的规模、类型、设备状况、所处的地段、管理水平等就是聚类的分析变量
Ⅳ 聚类分析方法有什么好处
聚类分析:将个体(样品)或者对象(变量)按相似程度(距离远近)划分类别,使得同一类中的元素之间的相似性比其他类的元素的相似性更强。目的在于使类间元素的同质性最大化和类与类间元素的异质性最大化。其主要依据是聚到同一个数据集中的样本应该彼此相似,而属于不同组的样本应该足够不相似。
常用聚类方法:系统聚类法,K-均值法,模糊聚类法,有序样品的聚类,分解法,加入法。
注意事项:
1. 系统聚类法可对变量或者记录进行分类,K-均值法只能对记录进行分类;
2. K-均值法要求分析人员事先知道样品分为多少类;
3. 对变量的多元正态性,方差齐性等要求较高。
应用领域:细分市场,消费行为划分,设计抽样方案等
优点:聚类分析模型的优点就是直观,结论形式简明。
缺点:在样本量较大时,要获得聚类结论有一定困难。由于相似系数是根据被试的反映来建立反映被试间内在联系的指标,而实践中有时尽管从被试反映所得出的数据中发现他们之间有紧密的关系,但事物之间却无任何内在联系,此时,如果根据距离或相似系数得出聚类分析的结果,显然是不适当的,但是,聚类分析模型本身却无法识别这类错误。
Ⅳ 什么是聚类分析
类通过把目标数据放入少数相对同源的组或“类”(cluster)里。分析表达数据,(1)通过一系列的检测将待测的一组基因的变异标准化,然后成对比较线性协方差。(2)通过把用最紧密关联的谱来放基因进行样本聚类,例如用简单的层级聚类(hierarchical clustering)方法。这种聚类亦可扩展到每个实验样本,利用一组基因总的线性相关进行聚类。(3)多维等级分析(multidimensional scaling analysis,MDS)是一种在二维Euclidean “距离”中显示实验样本相关的大约程度。(4)K-means方法聚类,通过重复再分配类成员来使“类”内分散度最小化的方法。
聚类方法有两个显着的局限:首先,要聚类结果要明确就需分离度很好(well-separated)的数据。几乎所有现存的算法都是从互相区别的不重叠的类数据中产生同样的聚类。但是,如果类是扩散且互相渗透,那么每种算法的的结果将有点不同。结果,每种算法界定的边界不清,每种聚类算法得到各自的最适结果,每个数据部分将产生单一的信息。为解释因不同算法使同样数据产生不同结果,必须注意判断不同的方式。对遗传学家来说,正确解释来自任一算法的聚类内容的实际结果是困难的(特别是边界)。最终,将需要经验可信度通过序列比较来指导聚类解释。
第二个局限由线性相关产生。上述的所有聚类方法分析的仅是简单的一对一的关系。因为只是成对的线性比较,大大减少发现表达类型关系的计算量,但忽视了生物系统多因素和非线性的特点。
从统计学的观点看,聚类分析是通过数据建模简化数据的一种方法。传统的统计聚类分析方法包括系统聚类法、分解法、加入法、动态聚类法、有序样品聚类、有重叠聚类和模糊聚类等。采用k-均值、k-中心点等算法的聚类分析工具已被加入到许多着名的统计分析软件包中,如SPSS、SAS等。
从机器学习的角度讲,簇相当于隐藏模式。聚类是搜索簇的无监督学习过程。与分类不同,无监督学习不依赖预先定义的类或带类标记的训练实例,需要由聚类学习算法自动确定标记,而分类学习的实例或数据对象有类别标记。聚类是观察式学习,而不是示例式的学习。
从实际应用的角度看,聚类分析是数据挖掘的主要任务之一。就数据挖掘功能而言,聚类能够作为一个独立的工具获得数据的分布状况,观察每一簇数据的特征,集中对特定的聚簇集合作进一步地分析。
聚类分析还可以作为其他数据挖掘任务(如分类、关联规则)的预处理步骤。
数据挖掘领域主要研究面向大型数据库、数据仓库的高效实用的聚类分析算法。
聚类分析是数据挖掘中的一个很活跃的研究领域,并提出了许多聚类算法。
这些算法可以被分为划分方法、层次方法、基于密度方法、基于网格方法和
基于模型方法。
1 划分方法(PAM:PArtitioning method) 首先创建k个划分,k为要创建的划分个数;然后利用一个循环
定位技术通过将对象从一个划分移到另一个划分来帮助改善划分质量。典型的划分方法包括:
k-means,k-medoids,CLARA(Clustering LARge Application),
CLARANS(Clustering Large Application based upon RANdomized Search).
FCM
2 层次方法(hierarchical method) 创建一个层次以分解给定的数据集。该方法可以分为自上
而下(分解)和自下而上(合并)两种操作方式。为弥补分解与合并的不足,层次合
并经常要与其它聚类方法相结合,如循环定位。典型的这类方法包括:
第一个是;BIRCH(Balanced Iterative Recing and Clustering using Hierarchies) 方法,它首先利用树的结构对对象集进行划分;然后再利
用其它聚类方法对这些聚类进行优化。
第二个是CURE(Clustering Using REprisentatives) 方法,它利用固定数目代表对象来表示相应聚类;然后对各聚类按照指定
量(向聚类中心)进行收缩。
第三个是ROCK方法,它利用聚类间的连接进行聚类合并。
最后一个CHEMALOEN,它则是在层次聚类时构造动态模型。
3 基于密度方法,根据密度完成对象的聚类。它根据对象周围的密度(如
DBSCAN)不断增长聚类。典型的基于密度方法包括:
DBSCAN(Densit-based Spatial Clustering of Application with Noise):该算法通过不断生长足够高密
度区域来进行聚类;它能从含有噪声的空间数据库中发现任意形状的聚类。此方法将一个聚类定义
为一组“密度连接”的点集。
OPTICS(Ordering Points To Identify the Clustering Structure):并不明确产生一
个聚类,而是为自动交互的聚类分析计算出一个增强聚类顺序。。
4 基于网格方法,首先将对象空间划分为有限个单元以构成网格结构;然后利
用网格结构完成聚类。
STING(STatistical INformation Grid) 就是一个利用网格单元保存的统计信息进行基
于网格聚类的方法。
CLIQUE(Clustering In QUEst)和Wave-Cluster 则是一个将基于网格与基于密度相结合的方
法。
5 基于模型方法,它假设每个聚类的模型并发现适合相应模型的数据。典型的
基于模型方法包括:
统计方法COBWEB:是一个常用的且简单的增量式概念聚类方法。它的输入对象是采
用符号量(属性-值)对来加以描述的。采用分类树的形式来创建
一个层次聚类。
CLASSIT是COBWEB的另一个版本.。它可以对连续取值属性进行增量式聚
类。它为每个结点中的每个属性保存相应的连续正态分布(均值与方差);并利
用一个改进的分类能力描述方法,即不象COBWEB那样计算离散属性(取值)
和而是对连续属性求积分。但是CLASSIT方法也存在与COBWEB类似的问题。
因此它们都不适合对大数据库进行聚类处理.
Ⅵ 什么是聚类分析聚类算法有哪几种
聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法。聚类分析起源于
分类学,在古老的分类学中,人们主要依靠经验和专业知识来实现分类,很少利用数学工具进行
定量的分类。随着人类科学技术的发展,对分类的要求越来越高,以致有时仅凭经验和专业知识
难以确切地进行分类,于是人们逐渐地把数学工具引用到了分类学中,形成了数值分类学,之后又
将多元分析的技术引入到数值分类学形成了聚类分析。
聚类分析内容非常丰富,有系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论
聚类法、聚类预报法等。
聚类分析计算方法主要有如下几种:分裂法(partitioning methods):层次法(hierarchical
methods):基于密度的方法(density-based methods): 基于网格的方法(grid-based
methods): 基于模型的方法(model-based methods)。
Ⅶ 聚类的计算方法
传统的聚类分析计算方法主要有如下几种:
1、划分方法(partitioning methods)
给定一个有N个元组或者纪录的数据集,分裂法将构造K个分组,每一个分组就代表一个聚类,K<N。而且这K个分组满足下列条件:(1) 每一个分组至少包含一个数据纪录;(2)每一个数据纪录属于且仅属于一个分组(注意:这个要求在某些模糊聚类算法中可以放宽);对于给定的K,算法首先给出一个初始的分组方法,以后通过反复迭代的方法改变分组,使得每一次改进之后的分组方案都较前一次好,而所谓好的标准就是:同一分组中的记录越近越好,而不同分组中的纪录越远越好。使用这个基本思想的算法有:K-MEANS算法、K-MEDOIDS算法、CLARANS算法;
大部分划分方法是基于距离的。给定要构建的分区数k,划分方法首先创建一个初始化划分。然后,它采用一种迭代的重定位技术,通过把对象从一个组移动到另一个组来进行划分。一个好的划分的一般准备是:同一个簇中的对象尽可能相互接近或相关,而不同的簇中的对象尽可能远离或不同。还有许多评判划分质量的其他准则。传统的划分方法可以扩展到子空间聚类,而不是搜索整个数据空间。当存在很多属性并且数据稀疏时,这是有用的。为了达到全局最优,基于划分的聚类可能需要穷举所有可能的划分,计算量极大。实际上,大多数应用都采用了流行的启发式方法,如k-均值和k-中心算法,渐近的提高聚类质量,逼近局部最优解。这些启发式聚类方法很适合发现中小规模的数据库中小规模的数据库中的球状簇。为了发现具有复杂形状的簇和对超大型数据集进行聚类,需要进一步扩展基于划分的方法。
2、层次方法(hierarchical methods)
这种方法对给定的数据集进行层次似的分解,直到某种条件满足为止。具体又可分为“自底向上”和“自顶向下”两种方案。例如在“自底向上”方案中,初始时每一个数据纪录都组成一个单独的组,在接下来的迭代中,它把那些相互邻近的组合并成一个组,直到所有的记录组成一个分组或者某个条件满足为止。代表算法有:BIRCH算法、CURE算法、CHAMELEON算法等;
层次聚类方法可以是基于距离的或基于密度或连通性的。层次聚类方法的一些扩展也考虑了子空间聚类。层次方法的缺陷在于,一旦一个步骤(合并或分裂)完成,它就不能被撤销。这个严格规定是有用的,因为不用担心不同选择的组合数目,它将产生较小的计算开销。然而这种技术不能更正错误的决定。已经提出了一些提高层次聚类质量的方法。
3、基于密度的方法(density-based methods)
基于密度的方法与其它方法的一个根本区别是:它不是基于各种各样的距离的,而是基于密度的。这样就能克服基于距离的算法只能发现“类圆形”的聚类的缺点。这个方法的指导思想就是,只要一个区域中的点的密度大过某个阀值,就把它加到与之相近的聚类中去。代表算法有:DBSCAN算法、OPTICS算法、DENCLUE算法等;
4、基于网格的方法(grid-based methods)
这种方法首先将数据空间划分成为有限个单元(cell)的网格结构,所有的处理都是以单个的单元为对象的。这么处理的一个突出的优点就是处理速度很快,通常这是与目标数据库中记录的个数无关的,它只与把数据空间分为多少个单元有关。代表算法有:STING算法、CLIQUE算法、WAVE-CLUSTER算法;
很多空间数据挖掘问题,使用网格通常都是一种有效的方法。因此,基于网格的方法可以和其他聚类方法集成。
5、基于模型的方法(model-based methods)
基于模型的方法给每一个聚类假定一个模型,然后去寻找能够很好的满足这个模型的数据集。这样一个模型可能是数据点在空间中的密度分布函数或者其它。它的一个潜在的假定就是:目标数据集是由一系列的概率分布所决定的。通常有两种尝试方向:统计的方案和神经网络的方案。
当然聚类方法还有:传递闭包法,布尔矩阵法,直接聚类法,相关性分析聚类,基于统计的聚类方法等。
Ⅷ 四种聚类方法之比较
四种聚类方法之比较
介绍了较为常见的k-means、层次聚类、SOM、FCM等四种聚类算法,阐述了各自的原理和使用步骤,利用国际通用测试数据集IRIS对这些算法进行了验证和比较。结果显示对该测试类型数据,FCM和k-means都具有较高的准确度,层次聚类准确度最差,而SOM则耗时最长。
关键词:聚类算法;k-means;层次聚类;SOM;FCM
聚类分析是一种重要的人类行为,早在孩提时代,一个人就通过不断改进下意识中的聚类模式来学会如何区分猫狗、动物植物。目前在许多领域都得到了广泛的研究和成功的应用,如用于模式识别、数据分析、图像处理、市场研究、客户分割、Web文档分类等[1]。
聚类就是按照某个特定标准(如距离准则)把一个数据集分割成不同的类或簇,使得同一个簇内的数据对象的相似性尽可能大,同时不在同一个簇中的数据对象的差异性也尽可能地大。即聚类后同一类的数据尽可能聚集到一起,不同数据尽量分离。
聚类技术[2]正在蓬勃发展,对此有贡献的研究领域包括数据挖掘、统计学、机器学习、空间数据库技术、生物学以及市场营销等。各种聚类方法也被不断提出和改进,而不同的方法适合于不同类型的数据,因此对各种聚类方法、聚类效果的比较成为值得研究的课题。
1 聚类算法的分类
目前,有大量的聚类算法[3]。而对于具体应用,聚类算法的选择取决于数据的类型、聚类的目的。如果聚类分析被用作描述或探查的工具,可以对同样的数据尝试多种算法,以发现数据可能揭示的结果。
主要的聚类算法可以划分为如下几类:划分方法、层次方法、基于密度的方法、基于网格的方法以及基于模型的方法[4-6]。
每一类中都存在着得到广泛应用的算法,例如:划分方法中的k-means[7]聚类算法、层次方法中的凝聚型层次聚类算法[8]、基于模型方法中的神经网络[9]聚类算法等。
目前,聚类问题的研究不仅仅局限于上述的硬聚类,即每一个数据只能被归为一类,模糊聚类[10]也是聚类分析中研究较为广泛的一个分支。模糊聚类通过隶属函数来确定每个数据隶属于各个簇的程度,而不是将一个数据对象硬性地归类到某一簇中。目前已有很多关于模糊聚类的算法被提出,如着名的FCM算法等。
本文主要对k-means聚类算法、凝聚型层次聚类算法、神经网络聚类算法之SOM,以及模糊聚类的FCM算法通过通用测试数据集进行聚类效果的比较和分析。
2 四种常用聚类算法研究
2.1 k-means聚类算法
k-means是划分方法中较经典的聚类算法之一。由于该算法的效率高,所以在对大规模数据进行聚类时被广泛应用。目前,许多算法均围绕着该算法进行扩展和改进。
k-means算法以k为参数,把n个对象分成k个簇,使簇内具有较高的相似度,而簇间的相似度较低。k-means算法的处理过程如下:首先,随机地选择k个对象,每个对象初始地代表了一个簇的平均值或中心;对剩余的每个对象,根据其与各簇中心的距离,将它赋给最近的簇;然后重新计算每个簇的平均值。这个过程不断重复,直到准则函数收敛。通常,采用平方误差准则,其定义如下:
这里E是数据库中所有对象的平方误差的总和,p是空间中的点,mi是簇Ci的平均值[9]。该目标函数使生成的簇尽可能紧凑独立,使用的距离度量是欧几里得距离,当然也可以用其他距离度量。k-means聚类算法的算法流程如下:
输入:包含n个对象的数据库和簇的数目k;
输出:k个簇,使平方误差准则最小。
步骤:
(1) 任意选择k个对象作为初始的簇中心;
(2) repeat;
(3) 根据簇中对象的平均值,将每个对象(重新)赋予最类似的簇;
(4) 更新簇的平均值,即计算每个簇中对象的平均值;
(5) until不再发生变化。
2.2 层次聚类算法
根据层次分解的顺序是自底向上的还是自上向下的,层次聚类算法分为凝聚的层次聚类算法和分裂的层次聚类算法。
凝聚型层次聚类的策略是先将每个对象作为一个簇,然后合并这些原子簇为越来越大的簇,直到所有对象都在一个簇中,或者某个终结条件被满足。绝大多数层次聚类属于凝聚型层次聚类,它们只是在簇间相似度的定义上有所不同。四种广泛采用的簇间距离度量方法如下:
这里给出采用最小距离的凝聚层次聚类算法流程:
(1) 将每个对象看作一类,计算两两之间的最小距离;
(2) 将距离最小的两个类合并成一个新类;
(3) 重新计算新类与所有类之间的距离;
(4) 重复(2)、(3),直到所有类最后合并成一类。
2.3 SOM聚类算法
SOM神经网络[11]是由芬兰神经网络专家Kohonen教授提出的,该算法假设在输入对象中存在一些拓扑结构或顺序,可以实现从输入空间(n维)到输出平面(2维)的降维映射,其映射具有拓扑特征保持性质,与实际的大脑处理有很强的理论联系。
SOM网络包含输入层和输出层。输入层对应一个高维的输入向量,输出层由一系列组织在2维网格上的有序节点构成,输入节点与输出节点通过权重向量连接。学习过程中,找到与之距离最短的输出层单元,即获胜单元,对其更新。同时,将邻近区域的权值更新,使输出节点保持输入向量的拓扑特征。
算法流程:
(1) 网络初始化,对输出层每个节点权重赋初值;
(2) 将输入样本中随机选取输入向量,找到与输入向量距离最小的权重向量;
(3) 定义获胜单元,在获胜单元的邻近区域调整权重使其向输入向量靠拢;
(4) 提供新样本、进行训练;
(5) 收缩邻域半径、减小学习率、重复,直到小于允许值,输出聚类结果。
2.4 FCM聚类算法
1965年美国加州大学柏克莱分校的扎德教授第一次提出了‘集合’的概念。经过十多年的发展,模糊集合理论渐渐被应用到各个实际应用方面。为克服非此即彼的分类缺点,出现了以模糊集合论为数学基础的聚类分析。用模糊数学的方法进行聚类分析,就是模糊聚类分析[12]。
FCM算法是一种以隶属度来确定每个数据点属于某个聚类程度的算法。该聚类算法是传统硬聚类算法的一种改进。
算法流程:
(1) 标准化数据矩阵;
(2) 建立模糊相似矩阵,初始化隶属矩阵;
(3) 算法开始迭代,直到目标函数收敛到极小值;
(4) 根据迭代结果,由最后的隶属矩阵确定数据所属的类,显示最后的聚类结果。
3 四种聚类算法试验
3.1 试验数据
实验中,选取专门用于测试分类、聚类算法的国际通用的UCI数据库中的IRIS[13]数据集,IRIS数据集包含150个样本数据,分别取自三种不同的莺尾属植物setosa、versicolor和virginica的花朵样本,每个数据含有4个属性,即萼片长度、萼片宽度、花瓣长度,单位为cm。在数据集上执行不同的聚类算法,可以得到不同精度的聚类结果。
3.2 试验结果说明
文中基于前面所述各算法原理及算法流程,用matlab进行编程运算,得到表1所示聚类结果。
如表1所示,对于四种聚类算法,按三方面进行比较:(1)聚错样本数:总的聚错的样本数,即各类中聚错的样本数的和;(2)运行时间:即聚类整个过程所耗费的时间,单位为s;(3)平均准确度:设原数据集有k个类,用ci表示第i类,ni为ci中样本的个数,mi为聚类正确的个数,则mi/ni为第i类中的精度,则平均精度为:
3.3 试验结果分析
四种聚类算法中,在运行时间及准确度方面综合考虑,k-means和FCM相对优于其他。但是,各个算法还是存在固定缺点:k-means聚类算法的初始点选择不稳定,是随机选取的,这就引起聚类结果的不稳定,本实验中虽是经过多次实验取的平均值,但是具体初始点的选择方法还需进一步研究;层次聚类虽然不需要确定分类数,但是一旦一个分裂或者合并被执行,就不能修正,聚类质量受限制;FCM对初始聚类中心敏感,需要人为确定聚类数,容易陷入局部最优解;SOM与实际大脑处理有很强的理论联系。但是处理时间较长,需要进一步研究使其适应大型数据库。
聚类分析因其在许多领域的成功应用而展现出诱人的应用前景,除经典聚类算法外,各种新的聚类方法正被不断被提出。
Ⅸ 聚类算法有哪几种
聚类算法有:聚类分析是通过数据建模简化数据的一种方法。传统的统计聚类分析方法包括系统聚类法、分解法、加入法、动态聚类法、有序样品聚类、有重叠聚类和模糊聚类等。采用k均值、k中心点等算法的聚类分析工具已被加入到许多着名的统计分析软件包中,如SPSS、SAS等。