聚类算法心得体会
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
聚类算法心得体会
【篇一:聚类算法总结】
聚类算法总结
一、概述
聚类,就是把整个数据集分成不同的簇,并且要使簇与簇之间的区别尽可能的大,而簇内的数据的差异尽可能的小。簇是数据样本的集合,聚类分析使得每簇内部的样本之间的相关性比其他簇中样本之间的相关性更紧密,即簇内的任意两个样本之间具有较高的相似度,而属于不同簇的两个样本间具有较高的相异度。相异度可以根据描述样本的属性值来计算,样本间的“距离”是最常采用的度量标准。
聚类分析(cluster analysis)又称群分析,是根据“物以类聚”的道理,对样品或指标进行分类的一种多元统计分析方法,同时也是数据挖掘的一个重要算法。通过聚类分析,可以在没有任何模式可供参考或依循,即在没有先验知识的情况下,将大量数据样本按各自的特性来进行合理的分类。
在开始聚类之前,用户并不知道要把数据集分成几个簇,也不知道划分的具体标准,在聚类分析时数据集的特征是未知的,聚类算法的任务正是要发现这些特征,并把具有相同特征的数据样本聚在一起。聚类与分类有相似之处,都是将数据进行分组,但两者又有本质的区别。分类中组(类别)是事先已经定义好的,但聚类中的组(在聚类分析中称为“簇”)不是预先定义的,而是根据实际数据的特征按照数据之间的相似性来定义的。
二、聚类算法的性能评价指标
数据挖掘对聚类的典型要求如下:
(1)可伸缩性:当聚类对象由几百上升到几百万,我们希望最后的聚类结果的准确度能一致。(2)处理不同类型属性的能力:有些聚类算法,其处理对象的属性的数据类型只能为数值类型,但是实际应用场景中,我们往往会遇到其他类型的数据,比如二元数据,分类数据等等。当然,在处理过程我们是可以将这些其他类型的数据预处理成数值型数据的,但是在聚类效率上或者聚类准确度上往往会有折损。
(3)发现任意形状的类簇:因为许多聚类算法是用距离(eg:欧几里得距离或者曼哈顿距离)来量化对象之间的相似度的,基于这种
方式,我们往往只能发现相似尺寸和密度的球状类簇或者成为凸形类簇。但是,类簇的形状可能是任意的。
(4)对聚类算法初始化参数的知识需求的最小化:很多算法在分析过程中需要用户提供一定的初始参数,比如期望的类簇个数,类簇初始质点的设定。聚类结果对这些参数是十分敏感的。这不仅加重了用户的负担,也非常影响聚类结果的准确性。
三、聚类算法分类
聚类分析的研究已经有很多年的历史,研究成果主要集中在基于距离和基于相似度的方法上,也产生了大量的聚类算法,大体上,主要的聚类算法可以划分为如下几类:基于划分聚类算法;基于
层次聚类算法;基于密度聚类算法;基于网格的聚类算法;基于神经网络的聚类算法;基于统计学的聚类算法以及模糊聚类算法。
1.基于划分聚类算法(partition clustering)
2.基于层次聚类算法
3.基于密度聚类算法
4.基于网格的聚类算法
5.基于神经网络的聚类算法
6.基于统计学的聚类算法
7.模糊聚类——fcm聚类算法
这个和之前的6种聚类算法相比较比较特殊。1965年美国加州大学柏克莱分校的扎德教授第一次提出了‘集合’的概念。经过十多年的发展,模糊集合理论渐渐被应用到各个实际应用方面。为克服非此即彼的分类缺点,出现了以模糊集合论为数学基础的聚类分析。用模糊数学的方法进行聚类分析,就是模糊聚类分析。fcm算法是一种以隶属度来确定每个数据点属于某个聚类程度的算法。该聚类算法是传统硬聚类算法的一种改进。
算法流程如下: (1) 标准化数据矩阵;
(2) 建立模糊相似矩阵,初始化隶属矩阵; (3) 算法开始迭代,直到目标函数收敛到极小值;
(4) 根据迭代结果,由最后的隶属矩阵确定数据所属的类,显示最后的聚类结果。
四、综合性能评价
几种常用的聚类算法从可伸缩性、适合的数据类型、高维性(处理高维数据的能力)、异常数据的抗干扰度、聚类形状和算法效率6个方面进行了综合性能评价,评价结果如下所示:
五、目前聚类算法研究的主要内容
对聚类进行研究是数据挖掘中的一个热门方向,由于以上所介绍的
聚类方法都存在着某些缺点,因此近些年对于聚类分析的研究很多
都专注于改进现有的聚类方法或者是提出一种新的聚类方法。以下
将对传统聚类方法中存在的问题以及人们在这些问题上所做的努力
做一个简单的总结:
1 从以上对传统的聚类分析方法所做的总结来看,不管是k-means
方法,还是cure方法,在进行聚类之前都需要用户事先确定要得到
的聚类的数目。然而在现实数据中,聚类的数目是未知的,通常要
经过不断的实验来获得合适的聚类数目,得到较好的聚类结果。
2 传统的聚类方法一般都是适合于某种情况的聚类,没有一种方法
能够满足各种情况下的聚类,比如birch方法对于球状簇有很好的聚类性能,但是对于不规则的聚类,则不能很好的工作;k-medoids
方法不太受孤立点的影响,但是其计算代价又很大。因此如何解决
这个问题成为当前的一个研究热点,有学者提出将不同的聚类思想
进行融合以形成新的聚类算法,从而综合利用不同聚类算法的优点,在一次聚类过程中综合利用多种聚类方法,能够有效的缓解这个问题。
3 随着信息时代的到来,对大量的数据进行分析处理是一个很庞大
的工作,这就关系到一个计算效率的问题。有文献提出了一种基于
最小生成树的聚类算法,该算法通过逐渐丢弃最长的边来实现聚类
结果,当某条边的长度超过了某个阈值,那么更长边就不需要计算
而直接丢弃,这样就极大地提高了计算效率,降低了计算成本。
5 目前的许多算法都只是理论上的,经常处于某种假设之下,比如
聚类能很好的被分离,没有突出的
孤立点等,但是现实数据通常是很复杂的,噪声很大,因此如何有
效的消除噪声的影响,提高处理现实数据的能力还有待进一步的提高。
【篇二:聚类算法分析报告】
学院班级:
学生学号:
学生姓名:杨阳
同作者:
实验日期: 2010年12月
聚类算法分析研究