基于划分的聚类算法.docx

上传人:b****5 文档编号:30340922 上传时间:2023-08-13 格式:DOCX 页数:12 大小:147.94KB
下载 相关 举报
基于划分的聚类算法.docx_第1页
第1页 / 共12页
基于划分的聚类算法.docx_第2页
第2页 / 共12页
基于划分的聚类算法.docx_第3页
第3页 / 共12页
基于划分的聚类算法.docx_第4页
第4页 / 共12页
基于划分的聚类算法.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

基于划分的聚类算法.docx

《基于划分的聚类算法.docx》由会员分享,可在线阅读,更多相关《基于划分的聚类算法.docx(12页珍藏版)》请在冰豆网上搜索。

基于划分的聚类算法.docx

基于划分的聚类算法

文献阅读报告

 

课程名称:

《模式识别》课程编号:

题目:

基于划分的聚类算法

研究生姓名:

学号:

论文评语:

 

成绩:

任课教师:

评阅日期:

基于划分的聚类算法

2016-11-20

摘 要:

聚类分析是数据挖掘的一个重要研究分支,已经提出了许多聚类算法,划分方法是其中之一。

基于划分的聚类算法就是用统计分析的方法研究分类问题。

本文介绍了聚类的定义以及聚类算法的种类,详细阐述了K均值聚类算法和K中心点聚类算法的基本原理并对他们的性能进行分析,对近年来各学者对基于划分的聚类算法的研究现状进行梳理,对其具体应用实例作简要介绍。

关键字:

数据挖掘;聚类;K均值聚类算法;K中心点聚类算法;K众数算法;k多层次聚类算法

Partitionalclusteringalgorithms

Abstract:

Clusteringanalysisisanimportantbranchofdatamining,manyclusteringalgorithmshavebeenproposed,thedividingmethodisoneofthem.Basedontheclusteringalgorithmisdividedintoclassificationproblemsusingthemethodofstatisticalanalysis.Inthispaper,weintroducesthedefinitionofclusteringandtypeofclusteringalgorithm,thebasicprincipleofk-meansclusteringalgorithmandK-centerclusteringalgorithmareexpoundedindetail,wealsoanalyzetheirperformance,thescholarsinrecentyearsthestudyoftheclusteringalgorithmbasedonpartitioningpresentsituationhascarriedonthecomb,makeabriefintroductiontoitsspecificapplicationinstance.

Keywords:

Datamining;clustering;k-meansclusteringalgorithms;k-medoidsclusteringalgorithms;k-modesclusteringalgorithms;k-prototypeclusteringalgorithms

1.引言

把单个的数据对象的集合划分为相类似的样本组成的多个簇或多个类的过程,这就叫聚类[]。

在无监督的情况下,具有独立的学习能力,这就是聚类。

将数据空间中的所有数据点分别划分到不同的类中,相近距离的划分到相同类,较远距离的划分到不同类,这就是聚类的目的.聚类分析常作为一种数据的预处理过程被用于许多应用当中,它是更深一步分析数据、处理数据的基础。

人们通过聚类分析这一最有效的手段来认识事物、探索事物之间的内在联系,而且,关联规则等分析算法的预处理步骤也可以用它。

现在,在气象分析中,在图像处理时,在模式识别领域,在食品检验过程中,都有用到它。

随着现代科技水平的不断提高、网络的迅猛发展、计算机技术的不断改革和创新,大批量的数据不断涌现。

怎样从这些数据中提取有意义的信息成为人们关注的问题。

这对聚类分析技术来说无疑是个巨大的挑战。

只有具有处理高维的数据的能力的聚类算法才能解决该问题.研究者们开始设计各种聚类算法,于是,基于划分的聚类算法便应运而生,而且,取得了很好的效果。

2.正文

1聚类概述

1.1定义

聚类的定义[]为:

在已知的数据的集合中,寻找数据点集的同类的集合.其中,每一个数据集合为一个类,还确定了一个区域,区域中的对象的密度高于其他区域中的对象的密度.聚类的实质就是“把数据集合中的所有数据分成许多的类簇,其中必有一个类簇内的实体它们都是相似的,而其它不同类簇的实体它们是不相似的;一个类簇是被测试空间中的点的会聚,而且,同一个类簇的任意两个点之间的距离小于不同的类簇的任意两个点之间的距离;一个包含的密度相对较高的点集的多维空间中的连通区域可以被描述为一个类簇,这时,它们可以借助包含的密度相对较低的点集的区域与其他的区域分离开来。

1.2聚类算法的种类

截止目前,经典的聚类方法[]有基于划分的方法,也有基于层次的方法,更有基于密度的方法,还有基于网格的方法及基于模型的方法。

1.2.1划分方法(partitioningmethods)

给定一个数据集D,其包含有n个数据对象,用一个划分方法来构建数据的k个划分,每一个划分表示一个类,且k≤n。

即它将数据对象划分为个簇,并满足以下两点要求:

1)每一个组至少包含一个数据对象;2)每一个数据对象必须属于某一个组.假定要构建的划分其数目为k,划分方法就是:

首先,先创建一个初始的划分,然后,再采用一种迭代的重定位的技术,通过将数据对象在划分间来回的移动来改进划分.一个好划分的准则为:

同一类中的数据对象之间要尽可能的“接近”,而不同的类中的数据对象之间要尽可能的“远离”。

1.2.2层次方法(hierarchicalmethods)

对给定的数据对象的集合进行层次的分解就是层次的方法.依据层次分解的形成过程,该方法可分为凝聚的层次聚类和分裂的层次聚类两类.自底向上进行的层次分解为凝聚的(agglomerative)层次聚类;自顶向下进行的层次分解为分裂的(divisive)层次聚类.分裂的层次聚类先把全体对象放在一个类中,再将其渐渐地划分为越来越小的类,依此进行,一直到每一个对象能够自成一类.而凝聚的层次聚类则是先将每一个对象作为一个类,再将这些类逐渐地合并起来形成相对较大的类,依此进行,一直到所有的对象都在同一个类中方结束。

1.2.3密度方法(density-basedmethods)

大多数的聚类算法都是用距离来描述数据间的相似性性质的,这些方法只能发现球状的类,而在其他形状的类上,这些算法都无计可施.鉴于此,就只能用密度(密度实际就是对象或数据点的数目)将其的相似性予以取代,该方法就是基于密度的聚类算法。

密度的方法的思想:

一旦“领域”的密度超过某一个阈值,就将给定的簇继续的增长.该算法还能有效的去除噪声。

1.2.4网格的方法(grid-basedmethods)

先把对象空间量化成有限数目的单元,将其形成一个网格空间,再对该空间进行聚类,这就是网格的方法.其主要优点为处理速度快,因为它的处理速度只与量化空间中的每一维的单元数目相关,而与数据对象的数目无关.

1.2.5模型的方法(model-basedmethods)

基于模型的方法就是先给每一个聚类假定一个模型,再去寻找能较好的满足该模型的数据的集合。

此模型也许是数据点在空间中的密度分布的函数,也许是其它.其潜在的假定为:

一系列概率的分布决定该目标数据的集合.统计方案、神经网络方案通常是其研究的两种方向。

2基于划分的聚类算法

给定一个数据集D,其包含有n个数据对象,用一个划分方法来构建数据的k个划分,每一个划分表示一个类,且k≤n。

根据D的属性,使得同一类中的数据对象之间尽可能的“接近”,而不同的类中的数据对象之间尽可能的“远离”。

2.1K-均值聚类算法

2.1.1K均值聚类算法[]基本原理

随机选k个点作为初始的聚类的中心点,根据每个样本到聚类的中心之间的距离,把样本归类到相距它距离最近的聚类中心代表的类中,再计算样本均值.如若相邻的两个聚类中心无变化,调整立即结束,如若不然,该过程不断重复进行。

其特点是:

在每次迭代的时候,均要检查每一个样本分类,看该分类是否正确,不正确的话,就要在全部的样本中进行调整,调整好后,对聚类的中心进行修改,再进行下一次迭代;如若分类正确,聚类的中心就不再调整了,标准测度函数也就收敛了,算法也就结束了。

2.1.2K均值聚类算法步骤

输入项为:

簇的数目k及包含有n个对象的数据的集合。

输出项为:

k个簇。

具体的方法:

1)在数据的对象的集合中,任选k个对象作为初始的簇的中心;

2)依据簇中的对象的平均值,为每一个对象重新予以最相似的簇;

3)更新簇的平均值(即计算每一个簇中的对象的平均值);

4)重复2)3)两个步骤;

5)一直到不再发生变化为止。

图1K-means算法过程示意图

Fig1K-meansalgorithmprocessdiagram

2.1.3K均值聚类算法性能分析

优点:

该算法的运算速度非常快,而且其结构也很简洁;其类簇之间的区别也很明显;最重要的是其时间复杂度为O(nkt),所以,在处理大型数据集时,它具有可伸缩性和高效性.其中,n是样本的数目,k是类簇的数目,t是迭代的次数,通常k≤n且t≤n。

缺点:

该算法需要事先给定簇类的数目k;它不适合非凸形状的簇,也不适合存在大小差别很大的簇的数据的集合;其对数据集合内的噪声和离群点的敏感较高,因为此类数据也许会对均值造成一定的影响;因为其对初始中心的选择的依赖性较强,所以,产生局部的最优解发生的概率非常大。

2.2K-中心点聚类算法

2.2.1K中心点聚类算法[]基本原理

首先,针对每个类,先为其随机的选择一个实际样本,将其作为初始的中心点,而数据集内剩余的其他样本则依据其与中心点样本的相似度,将其分配到最相似的中心点所在的簇类内,然后,再选择新的中心点对象将原来的中心点对象替换掉,以此达到提高聚类质量(聚类质量是由数据集内的各个样本与所属簇的中心点间的平均相异度来度量的。

)的目的,如此反复的选择,一直到聚类质量不再提高为止.用接近聚类中心的一个数据对象来表示K中心点聚类算法的簇,而在K均值聚类算法中,用该簇中数据对象的平均值来表示每个簇。

2.2.2最早提出的K中心点聚类算法

PAM[](PartioningaroundMedoid)是最早提出的K中心点聚类算法.其原理为:

先为每个类任选一个代表对象,而剩下的数据对象则根据其与代表对象的距离远近而相应的加入到最近的类中,再尝试着用非代表数据对象将代表数据对替换掉,如此反复尝试,直至收敛。

图2对象i被对象h替换的4种情况示意图

Fig2diagramof4casesofobjectIreplacedbyobjecth

为了判定一个非代表对象Oh是否是当前一个代表对象Oi的好的替代,对于每一个非中心点对象Oj,下面的四种情况被考虑:

●第一种情况:

假设Oi被Oh代替作为新的中心点,Oj当前隶属于中心点对象Oi。

如果Oj离这个新的中心点Oh最近,那么Oj被分配给Oh。

●第二种情况:

假设Oi被Oh代替作为新的中心点,但是Oj当前隶属于另一个中心点对象Ot,t≠i。

如果Oj依然离Ot最近,那么对象的隶属不发生变化。

●第三种情况:

假设Oi被Oh代替作为新的中心点,Oj当前隶属于中心点对象Oi。

如果Oj离某个中心点Ot最近,i≠t,那么Oj被重新分配给Ot。

●第四种情况:

假设Oi被Oh代替作为新的中心点,但是Oj当前隶属于另一个中心点对象Ot,t≠i。

如果Oj离这个新的中心点Oh最近,那么Oi被重新分配给Oh。

2.2.3PAM算法步骤

输入项为:

簇的数目k及包含有n个对象的数据的集合。

输出项为:

k个簇。

具体的方法:

1)在数据的对象的集合中,任选k个对象作为初始的簇的中心;

2)对每一个由非中心对象h和中心对象i,计算i被h替代的总代价Tcih=jCjih;

3)对每一个有h和i组成的对象对,如果Tcih<0,i被h替换,然后将每一个非中心点对象根据与中心点的距离分配给离它最近的中心点;

4)重复2)3)两个步骤;

5)一直到不再发生变化为止。

2.2.4K中心点聚类算法性能分析

K中心点聚类算法有很强的鲁棒性,因为它用簇内真实样本作为簇中心,这样可以降低噪音及离群点对聚类结果做产生的影响.但缺点是,它不适合于大型的数据集,由其初始的中心是随机选的,仍会存在局部最优解,且时间复杂度为O(k(n-k)2),时间复杂度较大。

由此看来,只要确定恰当的聚类数目k值及初始的聚类中心点,才能加快聚类过程的收敛的速度,以提高聚类的效率。

2.3K-众数聚类算法

K—Modes聚类算法[]是通过对K—Means聚类算法的扩展,使其应用于分类属性数据聚类.它采用简单匹配方法度量同一分类属性下两个属性值之间的距离,用Mode代替K—Means聚类算法中的Means,通过基于频率的方法在聚类过程中不断更新Modes.

相关性d的计算公式是比较两记录之间所有属性,如果属性不同则给d加1,如相同则不加,所以d越大,记录间的不相关程度越强。

假设X,Y是数据集中的两个对象,它们用m维属性描述,则这两个对象之间的相异度为:

d(X,Y)=

当xj=yj时,

=0;当xj

yj时,

=1。

更新modes,使用一个簇的每个属性出现频率最大的那个属性值作为代表簇的属性值(如{[a,1][a,2][b,1][a,1][c,3]}代表模式为[a,1])。

重新调整记录所属的簇,直到不会再产生变化。

2.4K-prototypes聚类算法

K-Prototype算法[]是结合K-Means与K-modes算法,针对混合属性的。

解决两个核心问题如下:

度量具有混合属性的方法是,数值属性采用K-means方法得到P1,分类属性采用K-modes方法P2,那么D=P1+a*P2,a是权重。

如果觉得分类属性重要,则增加a,否则减少a,a=0时即只有数值属性;更新一个簇的中心的方法,是结合K-Means与K-modes的更新。

2.5基于划分的聚类算法研究现状

近几年来,人们对于基于划分的聚类挖掘技术的研究,研究最多的、发展较快的也就是对K均值聚类算法的改进.MacQueen在1967年提出了K均值聚类算法的概念,但该算法不能发现非凸面,而且,对噪声数据的敏感过强.于是,学者们又对其进行改进,在1990年的时候,Rousseeuw等人提出了PAM和CLARA(ClusteringLargeApplications)算法。

国内外研究者们大都把目光集中在聚类中心的初始化和聚类数目k值的确定问题上,但是,聚类中心的初始化和聚类数目k值并没有普遍适用的解决的办法。

2.5.1关于聚类中心初始化的改进

1)Forgy最早提出任选k个数据对象,将其作为初始聚类的中心(也有人把随机的选择初始聚类中心的方法称之为FA(ForgyApproach));2)根据最大距离和最小距离的聚类方法来寻找聚类的中心,以此来确定初始的聚类中心,如BKMishra等人于2012年提出的FarEfficientK-Means聚类算法;3)直观的用将预理数据集内的混合样本分成k类的方法,计算出各个类的均值,将其作为初始的聚类中心;4)最具有代表性的基于数据采样的方法就是Bradley等人提出的RA算法;5)通过“密度法”选择数据样本,将该样本作为初始的聚类中心.2008年的时候,Park等人对密度提出了一种全新的定义[],计算的数据集中了所有数据对象的密度,且选密度最小的k个数据对象,将它们作为初始的聚类中心;6)用全局的思想来初始化聚类中心。

Likas等学者发明了全局K均值聚类的算法,该算法是根据递增的思想提出的,把k个簇的聚类问题转变成一系列的子聚类的问题,先从一个簇的聚类问题开始,每增加一个簇,就用迭代的方法求出k个簇的聚类问题.后来,许多学者对该算法进行研究,并在它的基础上做了一些改进;7)多次对初始值进行选择和聚类,将最优的聚类结果找出。

2.5.2关于聚类数目k值的确定

G.W.Milligan[]在1985年时就最先提出了通过测试的方法来得到最佳的聚类数目k值的思想.其思想就是:

对一定范围内的所有的聚类数目进行测试,观察它们的收敛速度,得出最优的k值。

紧接着,Xu使用一种被称之为次胜者受罚的竞争的学习规则来自动的决定类的适当数目。

其思想就是:

对每个输入,竞争获胜的单元的权值将被修正以适应输入值,次胜的单元将采用惩罚的方式使其远离输入值。

后期,S.Ray等人研究出了一种新的确定最优k值的方法,它是基于Milligan而提出的.其思想为:

主要考虑类内和类间的距离,认定类内足够紧凑且类间足够分离时,此时的k值是最优的.他们还引入了v(validity)值,v值表示类内的距离与类间的距离的比值,在迭代时计算出k值最小的时候,其对应的k值,此k值就是最优的k值。

根据方差分析的理论,孙才志等人提出了应用混合F统计量来确定最佳的分类数,不仅如此,他还应用模糊划分嫡来验证最佳的分类数正确与否。

2.6其他对于K-均值聚类算法的改进

针对K-均值聚类算法极易陷入局部最优解的问题,刘伟民等研究人员将K-均值算法和模拟退火算法进行结合,得出一种新的算法,以模拟退火算法的全局寻找最优解的能力来解决此问题。

为防止算法陷入到局部极小值,加快收敛的速度,刘韬将一种免疫的计算方法与K-均值聚类算法结合起来,为每一个抗体的亲和度及浓度进行了重新定义,对繁殖率的计算及复制和变异的方法进行了重新的设计。

面对K-均值聚类算法对其它形状的类簇不敏感或不识别的问题,于是,易云飞又一次对K-均值聚类算法进行了改进,它用复合形粒子群的算法对聚类的初始中心点进行选取,再通过执行K-均值聚类算法,最终得到聚类的结果。

郑超等人对粗糙集进行了改进,将其与K-均值聚类算法结合起来,提出了一种全新的算法.该算法对每个样本点所在的区域的密度值进行了考虑,在求均值点过程中加入了权重的计算,规避了噪音点数据对聚类结果产生的影响。

3基于划分的聚类分析技术具体应用

多数学者对基于划分的聚类算法的研究大都在对算法的改进方面,而将算法应用于具体领域的很少。

现在该算法的应用方向集中在图像的分割与识别、文本的聚类、基于聚类的入侵检测、空间的约束聚类等方面.CuiXiao-hui[]将PSO、K-means和混合PSO算法应用于四种不同的文本文件,并对其数据集进行聚类,聚类后,经比较分析,混合PSO算法得到的聚簇结果非常紧致,而且用时非常短。

文献中,学者们把PSO与K-means方法结合起来,新发明了一种PSO-KM的聚类算法,并将该算法应用于无监督的异常的入侵检测当中。

其优点是与输入样本和初始的权值的选择无直接的联系,全局搜索能力比K-means强。

将该算法在KDDCup1999数据集上做实验,结果显示:

误报率2.8%时,检测率则为86%;此方法对Probe、Dos、U2R攻击类型的检测最为有效,正确度可达到78%(U2R)到94%(Dos)。

X光图像中的鱼骨检测技术就是用基于质心划分的PSO聚类做的。

面对X光图像的灰度值分布的问题,是用高斯分布的工具与形态学的方法相结合,结合后将其应用于图像的预处理,以此来消减图像数据的规模,从而得到一个有效的区域。

PSO聚类方法的作用则是将有效的区域分割成为不同的簇。

与传统的图像分割技术MeanShift比较,改良后的方法更为有效。

3.结语

本文在查阅大量文献、资料、书籍的基础上,对基于划分的聚类算法进行了系统的学习和总结,主要对聚类的定义及聚类算法的种类进行了介绍,并对K均值聚类算法和K中心点聚类算法的基本原理进行了详细阐述,还对它们的性能进行了分析,梳理了基于划分的聚类算法的研究现状,最后,对其应用做了简要介绍.经过归纳与总结,基于划分的聚类算法主要有以下几方面研究方向:

1)如何解决基于划分的聚类算法所不能解决的凸型聚类以外的子样集合问题;2)怎样选择值,使基于划分的聚类算法得以优化,性能更佳;3)如何选取初始的中心点,更大程度的增强基于划分的聚类算法的聚类效果;4)怎样对算法做出改进,使其能从各种聚类的结果中,筛选出或确定出最佳的聚类的分布。

 

参考文献:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 简洁抽象

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1