各种聚类算法介绍及对比.docx
《各种聚类算法介绍及对比.docx》由会员分享,可在线阅读,更多相关《各种聚类算法介绍及对比.docx(7页珍藏版)》请在第一文库网上搜索。
1、一一层次聚类1、层次聚类的原理及分类1)层次法(HierarChiCaIInethOdS)先计算样本之间的距离。每次将距离最近的点介并到同一个类。然后,再计算类与类之间的距离,将距离最近的类合并为一个大类。不停的合并,直到合成其中类与类的距离的计算方法有:最短距离法,最长距离法,中间距离法,类平均法等。比如最短距离法,将类与类的距离定义为类与类之间样本的最短距离。层次聚类算法根据层次分解的顺序分为:自下底向上和自上向下,即凝聚的层次聚类算法和分裂的层次聚类算法(agg1omcrative和divisive),也可以理解为自下而上法(bottOnI-UP)和自上而下法(top-down)0日下而
2、上法就是一开始每个个体(Objee【)都是一个类,然后根据1inkage寻找同类,一成一个“类”。自上而下法就是反过来,一开始所有个体都属于一个“类”,然后根据1inkage排除异己,最后每个个体都成为一个“类”,这两种路方法没有孰优孰劣之分,只是在实际应用的时候要根据数据特点以及你想要的“类”的个数,来考虑是自上而下更快还是自下而上更快。至于根据1inkage判断类”的方法就是最短距离法、最长距离法、中间距离法、类平均法等等(其中类平均法往往被认为是最常用也最好用的方法,一方面因为其良好的单调性,另一方面因为其空间扩/浓缩的程度适中)。为弥补分解与合并的不足,层次合并经常要与其它聚类方法相结
3、合,如循环定位。2)Hierarchica1methods中比较新的算法有BIRCH(Ba1ancedIterativeReducingandC1usteringUsingHierarchies利用层次方法的平衡迭代规约和聚类)主要是在数据量很大的时候使川,而“数据;IJZi首先利用树的结构对对象集进行划分,然后再利用其0它聚类方法对这些聚类进行优化;ROCK(AHierarchica1C1usteringxMgorithmforgorica1八I1ribu1eS)上要川在CaIoKcrica11.;Chame1eon(Hierarchica1C1usteringA1gorithmUsingD
4、ynamicModeIing)里用到的1inkage是kNN(k-nearest-neighbor)算法,并以此构建一个graph,Chame1eon的聚类效果被认为非常强大,比BIRCH好用,但运算复杂度很高,0(rT2).2、层次聚类的流程凝聚型层次聚类的策略是先将每个对象作为一个簇,然后合并这些原子簇为越来越大的簇,直到所有对象都在一个簇中,或者某个终结条件被满足。艳大多数层次聚类属凝聚型层次聚它们只是在簇间相1:斤不同。这里给出采用最小距离的凝聚层次聚类算法流程:(1)将每个对象看作一类,计算两两之间的最小距离;(2)将距离最小的两个类合并成一个新类;(3)重新计算新类与所有类之间的距
5、离;(4)重复(2)、(3),直到所有类最后合并成一类。另外我们可以看出凝聚的层次聚类并没有类似基本K均值的全局目标函数,没有局部极小问题或是很难选择初始点的问题。合并的操作往往是最终的,一旦合并两个簇之后就不会撤销。当然其计算存储的代价是昂贵的。3、层次聚类的优缺点优点:1,距离和规则的相似度容易定义,限制少;2,不需要预先制定聚类数;3,可以发现类的层次关系;4,可以聚类成其它形状缺点:1,计算复杂度太高;2,奇异值也能产生很大影响;3,算法很可能聚类成链状r语言中使用hc1;t(d,methodcomp1ete”,members-NU11):进行层次聚类。d为距离矩阵;method表示类
6、的合并方法,sing1e最短距离法,comp1ete最长距离法,median中间距离法,mcquitty相似法,average类平均法,centroid重心法,ward离差平方和法;members为NU11或d长度的矢量。二、划分聚类法k-means基于划分的方法(Partition-basedmethods):其原理简单来说就是,想象你有一堆散点需要聚类,想要的聚类效果就是类的点都足够近,类间的点都足够远”。首先你要确定这堆散点最后聚成几类,然后挑选几个点作为初始中心点,再然后依据预先定好的启发式算法(heuristica1gorithms)给数据点做迭代重置(iterativere1OCa
7、tiOn),克到最后到达“类的点都足够近,类间的点都足够远”的目标效果。Partition-basedmethods聚类多迪最的数据集,但我们也不知道“中等”到底有多“中”,所以不妨理解成,数据集越大,越有可能陷入局部最小。1、Kmeans算法的原理k-ans算法以k为参数,把n个对象分成k个簇,使簇具有较高的相似度,而簇间的相似度较低。k-means算法的处理过程如下:忤先,随机地选择k个月象,每个对象初始地代表了一的平均值或中心,即选择K个初始质心;对剩余的每个对象,根据其与各簇中心的距离,将它赋给最近的簇;然后重新计算每个簇的平均值。这个过程不断重复,直到准则函数收敛,直到质心不发生明显
8、的变化,通常,采用平方误差准则,误差的平方和SSE作为全局的目标函数,即最小化每个点到最近质心的欧几里得距离的平方和。此时,门的为值。选择K个点作为初始质心repeat将每个点指派到最近的质心,形成K个簇重新计算每个簇的质心unti1簇不发生变化或达到最大迭代次数K-Means算法的详细过程从上图中,我们可以看到,A,B,C,D,E是五个在图中点。而灰色的点是我们的种子点,也就是我们用来找点群的点。有两个种子点,所以K=2。然后,K-Means的算法如下:随机在图中取K(这里K=2)个种子点。然后对图中的所有点求到这K个种子点的距离,假如点Pi离种子点Si最近,那么Pi属于Si点群。(我.们可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 各种 算法 介绍 对比