各种聚类算法及改进算法的研究

各种聚类算法及改进算法的研究
各种聚类算法及改进算法的研究

论文关键词:数据挖掘;聚类算法;聚类分析论文摘要:该文详细阐述了数据挖掘领域的常用聚类算法及改进算法,并比较分析了其优缺点,提出了数据挖掘对聚类的典型要求,指出各自的特点,以便于人们更快、更容易地选择一种聚类算法解决特定问题和对聚类算法作进一步的研究。并给出了相应的算法评价标准、改进建议和聚类分析研究的热点、难点。上述工作将为聚类分析和数据挖掘等研究提供有益的参考。 1 引言随着经济社会和科学技术的高速发展,各行各业积累的数据量急剧增长,如何从海量的数据中提取有用的信息成为当务之急。聚类是将数据划分成群组的过程,即把数据对象分成多个类或簇,在同一个簇中的对象之间具有较高的相似度,而不同簇中的对象差别较大。它对未知数据的划分和分析起着非常有效的作用。通过聚类,能够识别密集和稀疏的区域,发现全局的分布模式,以及数据属性之间的相互关系等。为了找到效率高、通用性强的聚类方法人们从不同角度提出了许多种聚类算法,一般可分为基于层次的,基于划分的,基于密度的,基于网格的和基于模型的五大类。 2 数据挖掘对聚类算法的要求(1)可兼容性:要求聚类算法能够适应并处理属性不同类型的数据。(2)可伸缩性:要求聚类算法对大型数据集和小数据集都适用。(3)对用户专业知识要求最小化。(4)对数据类别簇的包容性:即聚类算法不仅能在用基本几何形式表达的数据上运行得很好,还要在以其他更高维度形式表现的数据上同样也能实现。(5)能有效识别并处理数据库的大量数据中普遍包含的异常值,空缺值或错误的不符合现实的数据。(6)聚类结果既要满足特定约束条件,又要具有良好聚类特性,且不丢失数据的真实信息。(7)可读性和可视性:能利用各种属性如颜色等以直观形式向用户显示数据挖掘的结果。(8)处理噪声数据的能力。(9)算法能否与输入顺序无关。 3 各种聚类算法介绍随着人们对数据挖掘的深入研究和了解,各种聚类算法的改进算法也相继提出,很多新算法在前人提出的算法中做了某些方面的提高和改进,且很多算法是有针对性地为特定的领域而设计。某些算法可能对某类数据在可行性、效率、精度或简单性上具有一定的优越性,但对其它类型的数据或在其他领域应用中则不一定还有优势。所以,我们必须清楚地了解各种算法的优缺点和应用范围,根据实际问题选择合适的算法。 3.1 基于层次的聚类算法基于层次的聚类算法对给定数据对象进行层次上的分解,可分为凝聚算法和分裂算法。

(1)自底向上的凝聚聚类方法。这种策略是以数据对象作为原子类,然后将这些原子类进行聚合。逐步聚合成越来越大的类,直到满足终止条件。凝聚算法的过程为:在初始时,每一个成员都组成一个单独的簇,在以后的迭代过程中,再把那些相互邻近的簇合并成一个簇,直到所有的成员组成一个簇为止。其时间和空间复杂性均为O(n2)。通过凝聚式的方法将两簇合并后,无法再将其分离到之前的状态。在凝聚聚类时,选择合适的类的个数和画出原始数据的图像很重要。 [!--empirenews.page--] (2)自顶向下分裂聚类方法。与凝聚法相反,该法先将所有对象置于一个簇中,然后逐渐细分为越来越小的簇,直到每个对象自成一簇,或者达到了某个终结条件。其主要思想是将那些成员之间不是非常紧密的簇进行分裂。跟凝聚式方法的方向相反,从一个簇出发,一步一步细化。它的优点在于研究者可以把注意力集中在数据的结构上面。一般情况下不使用分裂型方法,因为在较高的层很难进行正确的拆分。

3.2 基于密度的聚类算法很多算法都使用距离来描述数据之间的相似性,但对于非凸数据集,只用距离来描述是不够的。此时可用密度来取代距离描述相似性,即基于密度的聚类算法。它不是基于各种各样的距离,所以能克服基于距离的算法只能发现“类圆形”的聚类的缺点。其指导思想是:只要一个区域中的点的密度(对象或数据点的数目)大过某个阈值,就把它加到与之相近的聚类中去。该法从数据对象的分布密度出发,把密度足够大的区域连接起来,从而可发现任意形状的簇,并可用来过滤“噪声”数据。常见算法有DBSCAN,DENCLUE 等。[1][2][3]下一页 3.3 基于划分的聚类算法给定一个N个对象的元组或数据库,根据给定要创建的划分的数目k,将数据划分为k个组,每个组表示一个簇类(<=N)时满足如下两点:(1)每个组至少包含一个对象;(2)每个对

象必须属于且只属于一个组。算法先随机创建一个初始划分,然后采用一种迭代的重定位技术,通过将对象根据簇类之间的差异从一个划分移到另一个划分来提高簇类内数据之间的相似程度。一种好的划分的一般准则是:在同一个类中的对象尽可能“接近”或相似,而不同类中的对象尽可能“远离”或不同。为了达到全局最优,基于划分的聚类会要求穷举所有可能的划分。典型的划包括:K-means,PAM,EM等。划分法收敛速度快,在对中小规模的数据库中发现球状簇很适用。缺点是它倾向于识别凸形分布大小相近、密度相近的聚类,不能发现分布形状比较复杂的聚类,它要求类别数目k可以合理地估计,且初始中心的选择和噪声会对聚类结果产生很大影响。还要求用户预先指定聚类个数。 3.4 基于网格的聚类算法首先将数据空间量化为有限个单元的网格结构,然后对量化后的单个的单元为对象进行聚类。典型的算法有STING,CLIQUE等。网格聚类法处理速度快,处理时间与数据对象的数目无关,一般由网格单元的数目决定。缺点是只能发现边界是水平或垂直的聚类,不能检测到斜边界。该类算法也不适用于高维情况,因为网格单元的数目随着维数的增加而呈指数增长。另外还有下列问题:一是如何选择合适的单元大小和数目,二是怎样对每个单元中对象的信息进行汇总,三是存在量化尺度的问题。 3.5 基于模型的聚类算法基于模型的方法给每一个聚簇假定了一个模型,然后去寻找能够很好满足这个模型的数据集。这个模型可能是数据点在空间中的密度分布函数,它由一系列的概率分布决定,也可能通过基于标准的统计数字自动决定聚类的数目。它的一个潜在假定是:目标数据集是由一系列的概率分布所决定的。一般有2种尝试方向:统计的方案和神经网络的方案。COBWEB是一种流行的简单增量概念聚类算法,以一个分类树的形式来创建层次聚类,它的输入对象用分类属性-值对来描述。COBWEB 的优点为:可以自动修正划分中类的数目;不需要用户提供输入参数。缺点为:COBWEB基于这样一个假设:在每个属性上的概率分布是彼此独立的。但这个假设并不总是成立。且对于偏斜的输入数据不是高度平衡的,它可能导致时间和空间复杂性的剧烈变化,不适用于聚类大型数据库的数据。 [!--empirenews.page--] 3.6 模糊聚类算法现实中很多对象没有严格的属性,其类属和形态存在着中介性,适合软划分。恰好模糊聚类具有描述样本类属中间性的优点,因此成为当今聚类分析研究的主流。常用的模糊聚类有动态直接聚类法、最大树法、FCM等。基本原理为:假设有N个要分析的样本,每个样本有M个可量化的指标,一般步骤为:(1)标准化数据:常用的数据标准化方法有:小数定标规范化,最大最小值规范化,标准差规范化等。(2)建立模糊相似矩阵,标定相似系数。(3)计算多极相似矩阵,计算整体相似关系矩阵,有传递闭包法,动态直接聚类法,最大树法等。(4)给定一个聚类水平,计算绝对相似矩阵。按行列调整绝对相似矩阵,每个分块即为一个分类。 3.6.1 模糊C-均值聚类算法FCM算法用隶属度确定每个样本属于某个聚类的程度。它与K平均算法和中心点算法等相比,计算量可大大减少,因为它省去了多重迭代的反复计算过程,效率将大大提高。同时,模糊聚类分析可根据数据库中的相关数据计算形成模糊相似矩阵,形成相似矩阵之后,直接对相似矩阵进行处理即可,无须多次反复扫描数据库。根据实验要求动态设定m值,以满足不同类型数据挖掘任务的需要,适于高维度的数据的处理,具有较好的伸缩性,便于找出异常点。但m值根据经验或者实验得来,具有不确定性,可能影响实验结果。并且,由于梯度法的搜索方向总是沿着能量减小的方向,使得算法存在易陷入局部极小值和对初始化敏感的缺点。为克服上述缺点,可在FCM算法中引入全局寻优法来摆脱FCM聚类运算时可能陷入的局部极小点,优化聚类效果。 3.6.2 免疫进化算法该算法借鉴生命科学中的免疫概念和理论在保留原算法优良特性的前提下,力图有选择、有目的地利用待求问题中的一些特征或知识来抑制其优化过程中出现的退化现象。免疫算法的核心在于免疫算子的构造,通过接种疫苗或免疫选择两个步骤来完成。免疫进化算法能提高个体的适应度和防止群体的退化,从而达到减轻原有进化算法后期的波动现象和提高收敛速度。例如IFCM、IFCL算法。它们既较大地提高了获取全局最优的概率,又减轻了基于遗传聚类算法在遗传后

期的波动现象。进一步的工作是参数的适当选取和减小运行时间等。人对于客观事物的识别往往只通过一些模糊信息的综合,便可以获得足够精确的定论。上一页[1][2][3]下一页3.7 其它聚类算法 3.7.1 基于群的聚类方法该法是进化计算的一个分支,模拟了生物界中蚁群、鱼群等在觅食或避敌时的行为。可分为蚁群算法ACO和PSO。蚁群聚类算法的许多特性,如灵活性、健壮性、分布性和自组织性等,使其非常适合本质上是分布、动态及又要交错的问题求解中,能解决无人监督的聚类问题,具有广阔的前景。PSO模拟了鱼群或鸟群的行为。在优化领域,PSO可以与遗传算法相媲美,并在预测精度和运行速度方面占优势。对ACO或PSO在数据挖掘中应用的研究仍处于早期阶段,要将这些方法用到实际的大规模数据挖掘的聚类分析中还需要做大量的研究工作。 [!--empirenews.page--] 3.7.2 基于粒度的聚类方法从粒度的角度看,我们会发现聚类和分类有很大的相通之处:聚类操作实际上是在一个统一粒度下进行计算的;分类操作是在不同粒度下进行的。所以说在粒度原理下,聚类和分类是相通的,很多分类的方法也可以用在聚类方法中。作为一个新的研究方向,虽然目前粒度计算还不成熟,尤其是对粒度计算语义的研究还相当少,但相信随着粒度理论的不断发展,今后几年它必将在聚类算法及其相关领域得到广泛的应用。 3.7.3 谱聚法谱聚类方法建立在谱图理论基础之上,并利用数据的相似矩阵的特征向量进行聚类,是一种基于两点间相似关系的方法,这使得该方法适用于非测度空间。它与数据点的维数无关,而仅与数据点的个数有关,可以避免由特征向量的过高维数所造成的奇异性问题。它又是一个判别式算法,不用对数据的全局结构作假设,而是首先收集局部信息来表示两点属于同一类的可能性;然后根据某一聚类判据作全局决策,将所有数据点划分到不同的数据集合中。通常这样的判据可以在一个嵌入空间中得到解释,该嵌入空间是由数据矩阵的某几个特征向量张成的。谱聚类算法成功原因在于:通过特征分解,可以获得聚类判据在放松了的连续域中的全局最优解。与其他算法相比,它不仅思想简单、易于实现、不易陷入局部最优解,而且具有识别非凸分布的聚类能力,非常适合于许多实际问题。目前,该算法已应用于语音识别、VLSI设计、文本挖掘等领域。 3.7.4 多种聚类方法的融合实际应用的复杂性和数据的多样性往往使得单一的算法无能为力。因此,很多人对多种算法的融合进行了广泛研究并取得了一些成果。大致可分为以下几类:(1)基于传统聚类方法的融合,如CLIQUE、CUBN等。(2)模糊理论与其他聚类法的融合,如遗传+模糊C2均值混合聚类法等。

(3)遗传算法与机器学习的融合。(4)传统聚类法与其他学科理论的融合,如谱算法等。总之,很多新算法是以上几类方法中两种或两种以上方法有机结合而得的,它们取长补短,优势明显,这也是我们数据挖掘研究人员要努力的研究方向之一。 4 结论综上所述,分层聚类的突出优点是它能够生成比较规整的类集合,聚类结果不依赖元素的初始排列或输入次序,与聚类过程的先后次序无关,聚类结果比较稳定,不易导致类的重构。但计算开销较大,对异常数据比较脆弱。划分聚类的优势是运算量小,能用于处理庞大的样本数据,也为实时处理提供了一定的可能性。但要求用户必须事先给出要生成的簇的数目。网格聚类处理速度快,处理时间与数据对象的数目无关。缺点是只能发现边界是水平或垂直的聚类,而不能检测到斜边界。也不适用于高维情况,并存在量化尺度的问题。密度聚类的优点是一遍扫描,并可以在带有“噪声”的空间数据库中发现形状任意、个数不定的聚类。通常可参考以下建议:(1)如果希望聚类算法对数据输入的顺序不敏感,可选用基于网格的STING算法。

(2)如果目标数据库比较大,建议使用综合性的聚类算法,如CURE等。(3)如果聚类的形状是球形或者凸形,BIRCH和CLARANS比较适合。(4)将不同类型的聚类算法相互结合以满足不同的聚类要求。 [!--empirenews.page--] 5 结束语各种聚类算法各有优缺点,又由于实际问题的复杂性和数据的多样性,使得无论哪一种方法都只能解决某一类问题。因此,用户应该根据具体问题具体分析,选择恰当的适合自己的聚类算法。近年来,随着数据挖掘、机器学习和人工智能等领域中传统方法的不断发展以及各种新方法和新技术的涌现,聚类算

法得到了长足的发展。不难发现其新趋势:(1)传统聚类方法的融合发展。(2)新方法不断涌现。(3)根据实际需要,有针对性地融合众多领域的技术。总之,聚类算法综合了数据挖掘、模式识别、数学等众多领域的研究成果。随着这些领域中相关理论的发展、完善和相互渗透,以及新技术的出现,聚类分析将得到更快的发展。

PAM聚类算法的分析与实现

毕业论文(设计)论文(设计)题目:PAM聚类算法的分析与实现 系别: 专业: 学号: 姓名: 指导教师: 时间:

毕业论文(设计)开题报告 系别:计算机与信息科学系专业:网络工程 学号姓名高华荣 论文(设计)题目PAM聚类算法的分析与实现 命题来源□√教师命题□学生自主命题□教师课题 选题意义(不少于300字): 随着计算机技术、网络技术的迅猛发展与广泛应用,人们面临着日益增多的业务数据,这些数据中往往隐含了大量的不易被人们察觉的宝贵信息,为了得到这些信息,人们想尽了一切办法。数据挖掘技术就是在这种状况下应运而生了。而聚类知识发现是数据挖掘中的一项重要的内容。 在日常生活、生产和科研工作中,经常要对被研究的对象经行分类。而聚类分析就是研究和处理给定对象的分类常用的数学方法。聚类就是将数据对象分组成多个簇,同一个簇中的对象之间具有较高的相似性,而不同簇中的对象具有较大的差异性。 在目前的许多聚类算法中,PAM算法的优势在于:PAM算法比较健壮,对“噪声”和孤立点数据不敏感;由它发现的族与测试数据的输入顺序无关;能够处理不同类型的数据点。 研究综述(前人的研究现状及进展情况,不少于600字): PAM(Partitioning Around Medoid,围绕中心点的划分)算法是是划分算法中一种很重要的算法,有时也称为k-中心点算法,是指用中心点来代表一个簇。PAM算法最早由Kaufman和Rousseevw提出,Medoid的意思就是位于中心位置的对象。PAM算法的目的是对n个数据对象给出k个划分。PAM算法的基本思想:PAM算法的目的是对成员集合D中的N个数据对象给出k个划分,形成k个簇,在每个簇中随机选取1个成员设置为中心点,然后在每一步中,对输入数据集中目前还不是中心点的成员根据其与中心点的相异度或者距离进行逐个比较,看是否可能成为中心点。用簇中的非中心点到簇的中心点的所有距离之和来度量聚类效果,其中成员总是被分配到离自身最近的簇中,以此来提高聚类的质量。 由于PAM算法对小数据集非常有效,但对大的数据集合没有良好的可伸缩性,就出现了结合PAM的CLARA(Cluster LARger Application)算法。CLARA是基于k-中心点类型的算法,能处理更大的数据集合。CLARA先抽取数据集合的多个样本,然后用PAM方法在抽取的样本中寻找最佳的k个中心点,返回最好的聚类结果作为输出。后来又出现了CLARNS(Cluster Larger Application based upon RANdomized

各种聚类算法及改进算法的研究

论文关键词:数据挖掘;聚类算法;聚类分析论文摘要:该文详细阐述了数据挖掘领域的常用聚类算法及改进算法,并比较分析了其优缺点,提出了数据挖掘对聚类的典型要求,指出各自的特点,以便于人们更快、更容易地选择一种聚类算法解决特定问题和对聚类算法作进一步的研究。并给出了相应的算法评价标准、改进建议和聚类分析研究的热点、难点。上述工作将为聚类分析和数据挖掘等研究提供有益的参考。 1 引言随着经济社会和科学技术的高速发展,各行各业积累的数据量急剧增长,如何从海量的数据中提取有用的信息成为当务之急。聚类是将数据划分成群组的过程,即把数据对象分成多个类或簇,在同一个簇中的对象之间具有较高的相似度,而不同簇中的对象差别较大。它对未知数据的划分和分析起着非常有效的作用。通过聚类,能够识别密集和稀疏的区域,发现全局的分布模式,以及数据属性之间的相互关系等。为了找到效率高、通用性强的聚类方法人们从不同角度提出了许多种聚类算法,一般可分为基于层次的,基于划分的,基于密度的,基于网格的和基于模型的五大类。 2 数据挖掘对聚类算法的要求(1)可兼容性:要求聚类算法能够适应并处理属性不同类型的数据。(2)可伸缩性:要求聚类算法对大型数据集和小数据集都适用。(3)对用户专业知识要求最小化。(4)对数据类别簇的包容性:即聚类算法不仅能在用基本几何形式表达的数据上运行得很好,还要在以其他更高维度形式表现的数据上同样也能实现。(5)能有效识别并处理数据库的大量数据中普遍包含的异常值,空缺值或错误的不符合现实的数据。(6)聚类结果既要满足特定约束条件,又要具有良好聚类特性,且不丢失数据的真实信息。(7)可读性和可视性:能利用各种属性如颜色等以直观形式向用户显示数据挖掘的结果。(8)处理噪声数据的能力。(9)算法能否与输入顺序无关。 3 各种聚类算法介绍随着人们对数据挖掘的深入研究和了解,各种聚类算法的改进算法也相继提出,很多新算法在前人提出的算法中做了某些方面的提高和改进,且很多算法是有针对性地为特定的领域而设计。某些算法可能对某类数据在可行性、效率、精度或简单性上具有一定的优越性,但对其它类型的数据或在其他领域应用中则不一定还有优势。所以,我们必须清楚地了解各种算法的优缺点和应用范围,根据实际问题选择合适的算法。 3.1 基于层次的聚类算法基于层次的聚类算法对给定数据对象进行层次上的分解,可分为凝聚算法和分裂算法。 (1)自底向上的凝聚聚类方法。这种策略是以数据对象作为原子类,然后将这些原子类进行聚合。逐步聚合成越来越大的类,直到满足终止条件。凝聚算法的过程为:在初始时,每一个成员都组成一个单独的簇,在以后的迭代过程中,再把那些相互邻近的簇合并成一个簇,直到所有的成员组成一个簇为止。其时间和空间复杂性均为O(n2)。通过凝聚式的方法将两簇合并后,无法再将其分离到之前的状态。在凝聚聚类时,选择合适的类的个数和画出原始数据的图像很重要。 [!--empirenews.page--] (2)自顶向下分裂聚类方法。与凝聚法相反,该法先将所有对象置于一个簇中,然后逐渐细分为越来越小的簇,直到每个对象自成一簇,或者达到了某个终结条件。其主要思想是将那些成员之间不是非常紧密的簇进行分裂。跟凝聚式方法的方向相反,从一个簇出发,一步一步细化。它的优点在于研究者可以把注意力集中在数据的结构上面。一般情况下不使用分裂型方法,因为在较高的层很难进行正确的拆分。 3.2 基于密度的聚类算法很多算法都使用距离来描述数据之间的相似性,但对于非凸数据集,只用距离来描述是不够的。此时可用密度来取代距离描述相似性,即基于密度的聚类算法。它不是基于各种各样的距离,所以能克服基于距离的算法只能发现“类圆形”的聚类的缺点。其指导思想是:只要一个区域中的点的密度(对象或数据点的数目)大过某个阈值,就把它加到与之相近的聚类中去。该法从数据对象的分布密度出发,把密度足够大的区域连接起来,从而可发现任意形状的簇,并可用来过滤“噪声”数据。常见算法有DBSCAN,DENCLUE 等。[1][2][3]下一页 3.3 基于划分的聚类算法给定一个N个对象的元组或数据库,根据给定要创建的划分的数目k,将数据划分为k个组,每个组表示一个簇类(<=N)时满足如下两点:(1)每个组至少包含一个对象;(2)每个对

K-means-聚类算法研究综述

K-means聚类算法研究综述 摘要:总结评述了K-means聚类算法的研究现状,指出K-means聚类算法是一个NP难优化问题,无法获得全局最优。介绍了K-means聚类算法的目标函数,算法流程,并列举了一个实例,指出了数据子集的数目K,初始聚类中心选取,相似性度量和距离矩阵为K-means聚类算法的3个基本参数。总结了K-means聚类算法存在的问题及其改进算法,指出了K-means 聚类的进一步研究方向。 关键词:K-means聚类算法;NP难优化问题;数据子集的数目K;初始聚类中心选取;相似性度量和距离矩阵 Review of K-means clustering algorithm Abstract: K-means clustering algorithm is reviewed. K-means clustering algorithm is a NP hard optimal problem and global optimal result cannot be reached. The goal,main steps and example of K-means clustering algorithm are introduced. K-means algorithm requires three user-specified parameters: number of clusters K,cluster initialization,and distance metric. Problems and improvement of K-means clustering algorithm are summarized then. Further study directions of K-means clustering algorithm are pointed at last. Key words: K-means clustering algorithm; NP hard optimal problem; number of clusters K; cluster initialization; distance metric K-means聚类算法是由Steinhaus1955年、Lloyed1957年、Ball & Hall1965年、McQueen1967年分别在各自的不同的科学研究领域独立的提出。K-means聚类算法被提出来后,在不同的学科领域被广泛研究和应用,并发展出大量不同的改进算法。虽然K-means聚类算法被提出已经超过50年了,但目前仍然是应用最广泛的划分聚类算法之一[1]。容易实施、简单、高效、成功的应用案例和经验是其仍然流行的主要原因。 文中总结评述了K-means聚类算法的研究现状,指出K-means聚类算法是一个NP难优化问题,无法获得全局最优。介绍了K-means聚类算法的目标函数、算法流程,并列举了一个实例,指出了数据子集的数目K、初始聚类中心选取、相似性度量和距离矩阵为K-means聚类算法的3个基本参数。总结了K-means聚类算法存在的问题及其改进算法,指出了K-means聚类的进一步研究方向。 1经典K-means聚类算法简介 1.1K-means聚类算法的目标函数 对于给定的一个包含n个d维数据点的数据集 12 {x,x,,x,,x} i n X=??????,其中d i x R ∈,以及要生成的数据子集的数目K,K-means聚类算法将数据对象组织为 K个划分{c,i1,2,} k C K ==???。每个划分代表一个类c k,每个类c k有一个类别中心iμ。选取欧氏距离作为相似性和 距离判断准则,计算该类内各点到聚类中心 i μ的距离平方和 2 (c) i i k i k x C J xμ ∈ =- ∑(1) 聚类目标是使各类总的距离平方和 1 (C)(c) K k k J J = =∑最小。 22 1111 (C)(c) i i K K K n k i k ki i k k k x C k i J J x d x μμ ==∈== ==-=- ∑∑∑∑∑ (2)其中, 1 i i ki i i x c d x c ∈ ? =? ? ? 若 若 ,显然,根据最小二乘 法和拉格朗日原理,聚类中心 k μ应该取为类别 k c类各数据点的平均值。 K-means聚类算法从一个初始的K类别划分开始,然

改进的K-means聚类算法及应用

改进的K-means聚类算法及应用 摘要:传统的k-means算法需要事先确定初始聚类中心,聚类精确程度不高。针对以上问题,本文结合熵值法和动态规划算法来对传统的k-means算法进行改进,提出了基于熵值法及动态规划的改进k-means算法。熵值法用来修订算法的距离计算公式,以提高算法的聚类精确程度, 动态规划算法用来确定算法的初始聚类中心。将改进算法应用于矿井监测传感器聚类中,结果显示较传统的k-means算法,改进算法效率有了明显提高,聚类精确程度有较大增强。 关键词:k-means;动态规划;熵值法;聚类精确度;矿井监测传感器 【abstract】the traditional k-means has sensitivity to the initial clustering centers, and its clustering accuracy is low. to against these short comings, an improved k-means algorithm based on the combination of dynamic programming algorithm and entropy method is proposed. the entropy method is used to amend the distance calculating formula to improve the clustering accuracy, and dynamic programming algorithm is used to define the initial cluster centers. the result of the simulation on the clustering in the mine monitoring sensors shows that the proposed algorithm has better

聚类算法总结

聚类算法的种类:

--------------------------------------------------------- 几种常用的聚类算法从可伸缩性、适合的数据类型、高维性(处理高维数据的能力)、异常数据的抗干扰度、聚类形状和算法效率6个方面进行了综合性能评价,评价结果如表1所示:

--------------------------------------------------------- 目前聚类分析研究的主要内容: 对聚类进行研究是数据挖掘中的一个热门方向,由于以上所介绍的聚类方法都 存在着某些缺点,因此近些年对于聚类分析的研究很多都专注于改进现有的聚 类方法或者是提出一种新的聚类方法。以下将对传统聚类方法中存在的问题以 及人们在这些问题上所做的努力做一个简单的总结: 1 从以上对传统的聚类分析方法所做的总结来看,不管是k-means方法,还是CURE方法,在进行聚类之前都需要用户事先确定要得到的聚类的数目。然而在 现实数据中,聚类的数目是未知的,通常要经过不断的实验来获得合适的聚类 数目,得到较好的聚类结果。 2 传统的聚类方法一般都是适合于某种情况的聚类,没有一种方法能够满足各 种情况下的聚类,比如BIRCH方法对于球状簇有很好的聚类性能,但是对于不 规则的聚类,则不能很好的工作;K-medoids方法不太受孤立点的影响,但是 其计算代价又很大。因此如何解决这个问题成为当前的一个研究热点,有学者 提出将不同的聚类思想进行融合以形成新的聚类算法,从而综合利用不同聚类 算法的优点,在一次聚类过程中综合利用多种聚类方法,能够有效的缓解这个 问题。 3 随着信息时代的到来,对大量的数据进行分析处理是一个很庞大的工作,这 就关系到一个计算效率的问题。有文献提出了一种基于最小生成树的聚类算法,该算法通过逐渐丢弃最长的边来实现聚类结果,当某条边的长度超过了某个阈值,那么更长边就不需要计算而直接丢弃,这样就极大地提高了计算效率,降 低了计算成本。 4 处理大规模数据和高维数据的能力有待于提高。目前许多聚类方法处理小规 模数据和低维数据时性能比较好,但是当数据规模增大,维度升高时,性能就 会急剧下降,比如k-medoids方法处理小规模数据时性能很好,但是随着数据 量增多,效率就逐渐下降,而现实生活中的数据大部分又都属于规模比较大、 维度比较高的数据集。有文献提出了一种在高维空间挖掘映射聚类的方法PCKA (Projected Clustering based on the K-Means Algorithm),它从多个维度中选择属性相关的维度,去除不相关的维度,沿着相关维度进行聚类,以此对 高维数据进行聚类。 5 目前的许多算法都只是理论上的,经常处于某种假设之下,比如聚类能很好 的被分离,没有突出的孤立点等,但是现实数据通常是很复杂的,噪声很大, 因此如何有效的消除噪声的影响,提高处理现实数据的能力还有待进一步的提高。

聚类分析算法解析

聚类分析算法解析 一、不相似矩阵计算 1.加载数据 data(iris) str(iris) 分类分析是无指导的分类,所以删除数据中的原分类变量。 iris$Species<-NULL 2. 不相似矩阵计算 不相似矩阵计算,也就是距离矩阵计算,在R中采用dist()函数,或者cluster包中的daisy()函数。dist()函数的基本形式是 dist(x, method = "euclidean", diag = FALSE, upper = FALSE, p = 2) 其中x是数据框(数据集),而方法可以指定为欧式距离"euclidean", 最大距离"maximum", 绝对值距离"manhattan", "canberra", 二进制距离非对称"binary" 和明氏距离"minkowski"。默认是计算欧式距离,所有的属性必须是相同的类型。比如都是连续类型,或者都是二值类型。 dd<-dist(iris) str(dd) 距离矩阵可以使用as.matrix()函数转化了矩阵的形式,方便显示。Iris数据共150例样本间距离矩阵为150行列的方阵。下面显示了1~5号样本间的欧式距离。 dd<-as.matrix(dd)

二、用hclust()进行谱系聚类法(层次聚类) 1.聚类函数 R中自带的聚类函数是hclust(),为谱系聚类法。基本的函数指令是 结果对象<- hclust(距离对象, method=方法) hclust()可以使用的类间距离计算方法包含离差法"ward",最短距离法"single",最大距离法"complete",平均距离法"average","mcquitty",中位数法"median" 和重心法"centroid"。下面采用平均距离法聚类。 hc <- hclust(dist(iris), method="ave") 2.聚类函数的结果 聚类结果对象包含很多聚类分析的结果,可以使用数据分量的方法列出相应的计算结果。 str(hc) 下面列出了聚类结果对象hc包含的merge和height结果值的前6个。其行编号表示聚类过程的步骤,X1,X2表示在该步合并的两类,该编号为负代表原始的样本序号,编号为正代表新合成的类;变量height表示合并时两类类间距离。比如第1步,合并的是样本102和143,其样本间距离是0.0,合并后的类则使用该步的步数编号代表,即样本-102和-143合并为1类。再如第6行表示样本11和49合并,该两个样本的类间距离是0.1,合并后的类称为6类。 head (hc$merge,hc$height)

基于k—means聚类算法的试卷成绩分析研究

基于k—means聚类算法的试卷成绩分析研 究 第39卷第4期 2009年7月 河南大学(自然科学版) JournalofHenanUniversity(NaturalScience) V o1.39NO.4 Ju1.2009 基于k—means聚类算法的试卷成绩分析研究 谭庆' (洛阳师范学院信息技术学院,河南洛阳471022) 摘要:研究_rk-means聚类算法,并将此算法应用于高校学生试卷成绩分析中.首先对数据进行了预处理,然后 使用k-means算法,对学生试卷成绩进行分类评价.用所获得的结果指导学生的学习和今后的教学工作. 关键词:数据挖掘;聚类;k-means算法;试卷成绩 中圈分类号:TP311文献标志码:A文章编号:1003—4978(2009)04—0412—04 AnalysisandResearchofGradesofExaminationPaper BasedonK—meansClusteringAlgorithm TANQing (Acaderny.l,InformationTechnologY,LuoyangNormalUniversity,LuoyangHenan47102 2,China) Abstract:Thispaperresearcheslhekmeansclusteringalgorithmandappliesittotheanalysiso fthegradedataof examinationpaperofhighereducationschoolSstudents.Firstly,itpreprocessesthedatabefor eminingThen,it usesthek—

聚类分析K-means算法综述

聚类分析K-means算法综述 摘要:介绍K-means聚类算法的概念,初步了解算法的基本步骤,通过对算法缺点的分析,对算法已有的优化方法进行简单分析,以及对算法的应用领域、算法未来的研究方向及应用发展趋势作恰当的介绍。 关键词:K-means聚类算法基本步骤优化方法应用领域研究方向应用发展趋势 算法概述 K-means聚类算法是一种基于质心的划分方法,输入聚类个数k,以及包含n个数据对象的数据库,输出满足方差最小标准的k个聚类。 评定标准:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)来进行计算。 解释:基于质心的划分方法就是将簇中的所有对象的平均值看做簇的质心,然后根据一个数据对象与簇质心的距离,再将该对象赋予最近的簇。 k-means 算法基本步骤 (1)从n个数据对象任意选择k 个对象作为初始聚类中心 (2)根据每个聚类对象的均值(中心对象),计算每个对象与这些中心对象的距离;并根据最小距离重新对相应对象进行划分 (3)重新计算每个(有变化)聚类的均值(中心对象) (4)计算标准测度函数,当满足一定条件,如函数收敛时,则算法终止;如果条件不满足则回到步骤(2) 形式化描述 输入:数据集D,划分簇的个数k 输出:k个簇的集合 (1)从数据集D中任意选择k个对象作为初始簇的中心; (2)Repeat (3)For数据集D中每个对象P do (4)计算对象P到k个簇中心的距离 (5)将对象P指派到与其最近(距离最短)的簇;

(6)End For (7)计算每个簇中对象的均值,作为新的簇的中心; (8)Until k个簇的簇中心不再发生变化 对算法已有优化方法的分析 (1)K-means算法中聚类个数K需要预先给定 这个K值的选定是非常难以估计的,很多时候,我们事先并不知道给定的数据集应该分成多少个类别才最合适,这也是K一means算法的一个不足"有的算法是通过类的自动合并和分裂得到较为合理的类型数目k,例如Is0DAIA算法"关于K一means算法中聚类数目K 值的确定,在文献中,根据了方差分析理论,应用混合F统计量来确定最佳分类数,并应用了模糊划分嫡来验证最佳分类数的正确性。在文献中,使用了一种结合全协方差矩阵RPCL算法,并逐步删除那些只包含少量训练数据的类。文献中针对“聚类的有效性问题”提出武汉理工大学硕士学位论文了一种新的有效性指标:V(k km) = Intra(k) + Inter(k) / Inter(k max),其中k max是可聚类的最大数目,目的是选择最佳聚类个数使得有效性指标达到最小。文献中使用的是一种称为次胜者受罚的竞争学习规则来自动决定类的适当数目"它的思想是:对每个输入而言不仅竞争获胜单元的权值被修正以适应输入值,而且对次胜单元采用惩罚的方法使之远离输入值。 (2)算法对初始值的选取依赖性极大以及算法常陷入局部极小解 不同的初始值,结果往往不同。K-means算法首先随机地选取k个点作为初始聚类种子,再利用迭代的重定位技术直到算法收敛。因此,初值的不同可能导致算法聚类效果的不稳定,并且,K-means算法常采用误差平方和准则函数作为聚类准则函数(目标函数)。目标函数往往存在很多个局部极小值,只有一个属于全局最小,由于算法每次开始选取的初始聚类中心落入非凸函数曲面的“位置”往往偏离全局最优解的搜索范围,因此通过迭代运算,目标函数常常达到局部最小,得不到全局最小。对于这个问题的解决,许多算法采用遗传算法(GA),例如文献中采用遗传算法GA进行初始化,以内部聚类准则作为评价指标。 (3)从K-means算法框架可以看出,该算法需要不断地进行样本分类调整,不断地计算调整后的新的聚类中心,因此当数据量非常大时,算法的时间开销是非常大 所以需要对算法的时间复杂度进行分析,改进提高算法应用范围。在文献中从该算法的时间复杂度进行分析考虑,通过一定的相似性准则来去掉聚类中心的候选集,而在文献中,使用的K-meanS算法是对样本数据进行聚类。无论是初始点的选择还是一次迭代完成时对数据的调整,都是建立在随机选取的样本数据的基础之上,这样可以提高算法的收敛速度。

基于聚类分析的Kmeans算法研究及应用概要

第24卷第5期 2007年5月 计算机应用研究 Application Resea心h of Computers V01.24.No.5 Mav 2007 基于聚类分析的K—means算法研究及应用爿: 张建萍1,刘希玉2 (1.山东师范大学信息科学与工程学院,山东济南250014;2.山东师范大学管理学院,山东济南250014 摘要:通过对聚类分析及其算法的论述,从多个方面对这些算法性能进行比较,同时以儿童生长发育时期的数据为例通过聚类分析的软件和改进的K.means算法来进一步阐述聚类分析在数据挖掘中的实践应用。 关键词:数据挖掘;聚类分析;数据库;聚类算法 中图分类号:TP311文献标志码:A 文章编号:1001—3695(200705—0166-03 Application in Cluster’s Analysis Is Analyzed in Children DeVelopment Period ZHANG Jian—pin91,UU Xi—yu。 (1.coz比伊矿,咖mo砌n 5c掂Me&E蟛袱^增,|s胁础增Ⅳo丌mf‰洫瑙毋,五n 帆5^a蒯D昭250014,吼i胁;2.cozz学矿讹加舻删眦, s^0n幽凡g舳丌Mf‰i孵璐匆,^加n乩。砌。昭250014,傩iM Abstract: nis paper passed cluster’s analysis and its algorithm corTectly,compared

these algorithm perfbrnlances f}om a lot of respects,and explained that cluster analysis excavates the practice application of in datum further to come through software and impmved K—means aIgorithm,cIuster of analysis at the same time practise appIication. Key words:data mining; cluster analysis; database; cluster algorithm 随着计算机硬件和软件技术的飞速发展,尤其是数据库技 术的普及,人们面临着日益扩张的数据海洋,原来的数据分析工具已无法有效地为决策者提供决策支持所需要的相关知识, 从而形成一种独特的现象“丰富的数据,贫乏的知识”。数据挖掘…又称为数据库中知识发现(Knowledge Discovery from Database,KDD,它是一个从大量数据中抽取挖掘出未知的、有价值的模式或规律等知识的复杂过程。目的是在大量的数据中发现人们感兴趣的知识。 常用的数据挖掘技术包括关联分析、异类分析、分类与预测、聚类分析以及演化分析等。由于数据库中收集了大量的数据,聚类分析已经成为数据挖掘领域的重要技术之一。 1问题的提出 随着社会的发展和人们生活水平的提高,优育观念嵋一。逐渐渗透到每个家庭,小儿的生长发育越来越引起家长们的重视。中国每隔几年都要进行全国儿童营养调查,然而用手工计算的方法在大量的数据中分析出其中的特点和规律,显然是不现实的,也是不可行的。为了有效地解决这个问题,数据挖掘技术——聚类分析发挥了巨大的作用。 在数据挖掘领域,聚类算法经常遇到一些问题如聚类初始点的选择H J、模糊因子的确定‘5o等,大部分均已得到解决。现在的研究工作主要集中在为大型的数据库有效聚类分析寻找适当的方法、聚类算法对复杂分布数据和类别性数据聚类的有效性以及高维数据聚类技术等方面。本文通过对聚类分析算法的分析并重点

[改进的聚类算法在农业经济类型划分中的应用] kmeans聚类算法改进

[改进的聚类算法在农业经济类型划分中的应用] kmeans聚类算法改进 一、引言 吉林省各地自然、经济、社会条件各有差异,对农业经济的 影响很大。为了稳定提高粮食综合生产能力,促进农业经济结构 进一步优化。就需要准确地对省内各市县农业经济类型进行划 分,以期做到合理的资源优化配置。本文采用一种改进的k-均值 聚类分析技术对所采集的吉林省各县市农业生产的相关数据进行 分析,目的是对吉林省各地农业经济类型进行划分,揭示各地区 农业生产的特点和优势,为加快全省农业经济发展提供依据。 二、改进的聚类算法基本原理 改进的聚类算法的基本思想是:首先对数据集合进行系统聚 类分析,得到聚类树及相应的聚类中心矩阵;接着从聚类树中查 找较早形成的大类,并计算其聚类中心,这样我们就得到了较好 的聚类数k及比较具有代表性的初试聚类中心集合;最后通过k- 均值算法进行聚类分析。 虽然此改进算法需要我们人为的设定条件,但是这些条件都 是在进行系统聚类分析之后的数据基础上得来的,比经典的k-均 值算法的直接判断聚类数和随机抽取初始聚类中心要具有明显的 优势。根据本文待挖掘的数据量和系统聚类的结果,初始条件设

定如下:被判定为较早形成的大类聚类,其包含的数据对象应大于4,与下一次合并的聚类间距越小越好,且应小于所有聚类过程中的聚类间距均值。 三、改进的聚类算法在吉林农业经济类型划分中的应用 分类指标的选择 农业经济系统是一个多因素、多层次、结构复杂的系统,要正确地划分农业经济类型,首先必须选择一套能全面反映当前农业经济状况的指标体系。为此我们根据吉林农业的实际情况,选择对农业经济发展起主导作用的因子作为聚类指标,通过实地调查和对统计资料的综合分析,选定以下10个指标:X1 ,年平均降水量;X2 ,年平均温度;X3 ,农业人口;X4 ,每公顷粮食产量;X5 ,农业机械总动力;X6 ,粮食面积占耕地面积比例; X7 ,林业产值占农业总产值比例;X8 ,牧业产值占农业总产值比例;X9,渔业产值占农业总产值比例;X10 ,人均收入。 数据准备 根据以上10项指标,我们通过查阅xx年《吉林省统计年鉴》可以得到吉林省各地区农业经济各项指标的原始数据,如表1所示。 数据来源:根据xx年《吉林省统计年鉴》整理。 数据挖掘结果 首先对以上数据进行标准化转换,之后采用系统聚类分析法得到聚类树,分析聚类树及聚类间距我们可以得到初始聚类数为

聚类算法分析报告汇总

嵌入式方向工程设计实验报告 学院班级:130712 学生学号:13071219 学生姓名:杨阳 同作者:无 实验日期:2010年12月

聚类算法分析研究 1 实验环境以及所用到的主要软件 Windows Vista NetBeans6.5.1 Weka3.6 MATLAB R2009a 2 实验内容描述 聚类是对数据对象进行划分的一种过程,与分类不同的是,它所划分的类是未知的,故此,这是一个“无指导的学习” 过程,它倾向于数据的自然划分。其中聚类算法常见的有基于层次方法、基于划分方法、基于密度以及网格等方法。本文中对近年来聚类算法的研究现状与新进展进行归纳总结。一方面对近年来提出的较有代表性的聚类算法,从算法思想。关键技术和优缺点等方面进行分析概括;另一方面选择一些典型的聚类算法和一些知名的数据集,主要从正确率和运行效率两个方面进行模拟实验,并分别就同一种聚类算法、不同的数据集以及同一个数据集、不同的聚类算法的聚类情况进行对比分析。最后通过综合上述两方面信息给出聚类分析的研究热点、难点、不足和有待解决的一些问题等。 实验中主要选择了K 均值聚类算法、FCM 模糊聚类算法并以UCI Machine Learning Repository 网站下载的IRIS 和WINE 数据集为基础通过MATLAB 实现对上述算法的实验测试。然后以WINE 数据集在学习了解Weka 软件接口方面的基础后作聚类分析,使用最常见的K 均值(即K-means )聚类算法和FCM 模糊聚类算法。下面简单描述一下K 均值聚类的步骤。 K 均值算法首先随机的指定K 个类中心。然后: (1)将每个实例分配到距它最近的类中心,得到K 个类; (2)计分别计算各类中所有实例的均值,把它们作为各类新的类中心。 重复(1)和(2),直到K 个类中心的位置都固定,类的分配也固定。 在实验过程中通过利用Weka 软件中提供的simpleKmeans (也就是K 均值聚类算法对WINE 数据集进行聚类分析,更深刻的理解k 均值算法,并通过对实验结果进行观察分析,找出实验中所存在的问题。然后再在学习了解Weka 软件接口方面的基础上对Weka 软件进行一定的扩展以加入新的聚类算法来实现基于Weka 平台的聚类分析。 3 实验过程 3.1 K 均值聚类算法 3.1.1 K 均值聚类算法理论 K 均值算法是一种硬划分方法,简单流行但其也存在一些问题诸如其划分结果并不一定完全可信。K 均值算法的划分理论基础是 2 1 min i c k i k A i x v ∈=-∑∑ (1) 其中c 是划分的聚类数,i A 是已经属于第i 类的数据集i v 是相应的点到第i 类的平均距离,即

系统聚类分析方法

系统聚类分析方法 聚类分析是研究多要素事物分类问题的数量方法。基本原理是根据样本自身的属性,用数学方法按照某种相似性或差异性指标,定量地确定样本之间的亲疏关系,并按这种亲疏关系程度对样本进行聚类。 常见的聚类分析方法有系统聚类法、动态聚类法和模糊聚类法等。 1. 聚类要素的数据处理 假设有m 个聚类的对象,每一个聚类对象都有个要素构成。它们所对应的要素数据可用表3.4.1给出。(点击显示该表)在聚类分析中,常用的聚类要素的数据处理方法有如下几种。 ①总和标准化 ②标准差标准化

③极大值标准化 经过这种标准化所得的新数据,各要素的极大值为1,其余各数值小于1。 ④极差的标准化 经过这种标准化所得的新数据,各要素的极大值为1,极小值为0,其余的数值均在0与1之间。 2. 距离的计算 距离是事物之间差异性的测度,差异性越大,则相似性越小,所以距离是系统聚类分析的依据和基础。 ①绝对值距离

选择不同的距离,聚类结果会有所差异。在地理分区和分类研究中,往往采用几种距离进行计算、对比,选择一种较为合适的距离进行聚类。

例:表3.4.2给出了某地区九个农业区的七项指标,它们经过极差标准化处理后,如表3.4.3所示。 对于表3.4.3中的数据,用绝对值距离公式计算可得九个农业区之间的绝对值距离矩阵:

3. 直接聚类法 直接聚类法是根据距离矩阵的结构一次并类得到结果。 ▲ 基本步骤: ①把各个分类对象单独视为一类; ②根据距离最小的原则,依次选出一对分类对象,并成新类;③如果其中一个分类对象已归于一类,则把另一个也归入该类;如果一对分类对象正好属于已归的两类,则把这两类并为一类;每一次归并,都划去该对象所在的列与列序相同的行;④那么,经过m-1次就可以把全部分类对象归为一类,这样就可以根据归并的先后顺序作出聚类谱系图。 ★直接聚类法虽然简便,但在归并过程中是划去行和列的,因而难免有信息损失。因此,直接聚类法并不是最好的系统聚类方法。 [举例说明](点击打开新窗口,显示该内容) 例:已知九个农业区之间的绝对值距离矩阵,使用直接聚类法做聚类分析。 解: 根据上面的距离矩阵,用直接聚类法聚类分析:

改进C均值聚类算法

改进C 均值聚类算法 C 均值算法属于聚类技术中一种基本的划分方法,具有简单、快速的优点。其基本思想是选取c 个数据对象作为初始聚类中心,通过迭代把数据对象划分到不同的簇中,使簇内部对象之间的相似度很大,而簇之间对象的相似度很小。对C 均值算法的初始聚类中心选择方法进行了改进,提出了一种从数据对象分布出发动态寻找并确定初始聚类中心的思路以及基于这种思路的改进算法。 1、C-均值聚类算法 ① 给出n 个混合样本,令1=I ,表示迭代运算次数,选取c 个初始聚合中心)1(j Z ,c j ,...,2,1=; ② 计算每个样本与聚合中心的距离))(,(I Z x D j k ,n k ,....,2,1=,c j ,...,2,1=。 若},...,2,1)),(,({min ))(,(,...,2,1n k I Z x D I Z x D j k c j i k ===,则i k w x ∈。 ③ 计算c 个新的集合中心:∑== +j n k j k j j x n I Z 1 )(1)1(,c j ,...,2,1=。 ④ 判断:若)()1(I Z I Z j j ≠+,c j ,...,2,1=,则1+=I I ,返回②,否则算法结束。 2、C-均值改进算法的思想 在C-均值算法中,选择不同的初始聚类中心会产生不同的聚类结果且有不同的准确率,此方法就是如何找到与数据在空间分布上尽可能相一致的初始聚类中心。对数据进行划分,最根本的目的是使得一个聚类中的对象是相似的,而不同聚类中的对象是不相似的。如果用距离表示对象之间的相似性程度,相似对象之间的距离比不相似对象之间的距离要小。如果能够寻找到C 个初始中心,它们分别代表了相似程度较大的数据集合,那么就找到了与数据在空间分布上相一致的初始聚类中心。 目前,初始聚类中心选取的方法有很多种,在此仅介绍两种: 1)基于最小距离的初始聚类中心选取法 其主要思想: (1) 计算数据对象两两之间的距离; (2) 找出距离最近的两个数据对象,形成一个数据对象集合A1 ,并将它们从总的数据集合U 中删除; (3) 计算A1 中每一个数据对象与数据对象集合U 中每一个样本的距离,找出在U 中与A1 中最近的数据对象,将它并入集合A1 并从U 中删除, 直到A1 中的数据对象个数到达一定阈值; (4) 再从U 中找到样本两两间距离最近的两个数据对象构成A2 ,重复上面的过程,直到形成k 个对象集合; (5) 最后对k 个对象集合分别进行算术平均,形成k 个初始聚类中心。 这种方法和Huffman 算法一样。后一种算法介绍是是基于最小二叉树的方法,看

K-means聚类算法分析应用研究

K-means聚类算法分析应用研究 发表时间:2011-05-09T08:59:20.143Z 来源:《魅力中国》2011年3月上作者:李曼赵松林 [导读] 本文浅谈了数字图像处理的发展概况、研究背景并对彩色图像K-means算法进行分析。 李曼赵松林 (商丘职业技术学院河南商丘,476000) 中图分类号:TP39 文献标识码:A 文章编号:1673-0992(2011)03-0000-01 摘要:本文浅谈了数字图像处理的发展概况、研究背景并对彩色图像K-means算法进行分析.主要详细谈论了是对K-means算法的一些认识,并且介绍K-means聚类的算法思想、工作原理、聚类算法流程、以及对算法结果进行分析,得出其特点及实际使用情况。 关键字:数字图像处理;K-means算法;聚类 一、数字图像处理发展概况及边缘的概念 数字图像处理(Digital Image Processing)即计算机图像处理,就是利用计算机对图像进行去除噪声、增强、复原、分割、特征提取、识别等处理的理论、方法和技术[1]。最早出现于20世纪50年代,它作为一门学科大约形成于20世纪60年代初期。它以改善图像的质量为对象,以改善人的视觉效果为目的。在处理过程中,输入低质量图像,输出质量高图像,图像增强、复原、编码、压缩等都是图像处理常用的方法[1]。数字图像处理在航天、航空、星球探测、通信技术、军事公安、生物工程和医学等领域都有广泛的应用,并取得了巨大的成就。 边缘就是图像中灰度有阶跃变化或屋顶变化的像素的集合,边缘是图像最重要的特征之一,它包含了图像的大部分信息。实质上边缘检测就是采用算法提取图像中对象与背景间的交界线。在目标与背景、目标与目标、区域与区域、基元与基元之间都存在边缘,这是图像分割所依赖的最重要的特征之一。根据灰度变化的剧烈程度,边缘可以分为两种:一种是屋顶边缘,一种为阶跃性边缘。对于屋顶状边缘,二阶导数在边缘初取极值,而对阶跃性边缘,二阶导数在边缘处零交叉;。 二、彩色图像的K-means聚类算法 (一)K-means聚类 聚类就是把数据分成几组,按照定义的测量标准,同组内数据与其他组数据相比具有较强的相似性。K-means聚类就是首先从n个数据对象任选k个对象作为初始聚类中心;剩下的其它对象,则根据它们与这些聚类中心的距离(相似度),分别将它们分配给与其最相似的(聚类中心所代表的)聚类;然后再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值);一直重复此过程直至标准测度函数收敛为止。通常都采用均方差作标准测度函数。k个聚类有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。 聚类的用途是很广泛的。在商业上,聚类可以帮助市场分析人员从消费者数据库中区分出不同的消费群体来,并且概括出每一类消费者的消费模式或者说习惯。它作为数据挖掘中的一个模块,可以作为一个单独的工具以发现数据库中分布的一些深层的信息,并且概括出每一类的特点,或者把注意力放在某一个特定的类上以作进一步的分析;并且,聚类分析也可以作为数据挖掘算法中其他分析算法的一个预处理步骤。 (二)算法思想分析 输入:聚类个数k,以及包含 n个数据对象的彩色图片。 输出:满足方差最小标准的k个聚类。 处理流程: (1)从 n个数据对象任意选择 k 个对象作为初始聚类中心; (2)根据每个聚类对象的均值(中心对象),计算每个对象与这些中心对象的距离;并根据最小距离重新对相应对象进行划分; (3)重新计算每个(有变化)聚类的均值(中心对象); (4)循环(2)到(3)直到每个聚类不再发生变化为止。 首先设置K值,也就是确定若干个聚类中心。使用rand函数随机获得K个颜色值,存放在矩阵miu中,第一次对每个像素点中的K种颜色进行迭代运算,得到最小的颜色矩阵的2范数,同时标记该颜色,依次相加的到各点的颜色矩阵总值。再次迭代得到K中颜色的各个矩阵均值。最后提取出标记的各个颜色,依次对各个点进行颜色赋值,使每个像素点的颜色归类。得到聚类后的图像。 (三)算法的数学描述 (四)算法过程分析 设置K值为8,读入一幅图片后计算图像上所有的像素点个数为N,即令N=size(X,1)*size(X,2),令颜色矩阵R为矩阵[N,K]并清零。随机获得颜色聚类中心为Miu=fix(255*rand(K,3))。

相关文档
最新文档