这篇paper是boss在假期布置的任务,主要是对数据挖掘中聚类算法的整理综述,文章分为四部分:(1)聚类方法的概述(2)聚类方法的知识基础(3)聚类方法分类(4)主要的聚类算法:k-means/k-medoids/birch^^^^^
引用请注明出处:http://blog.sina.com.cn/s/blog_4c2cb83f0100ct0l.html
数据挖掘中聚类算法的研究
1 聚类方法概述
聚类方法是将物理或抽象对象的集合组成为由类似的对象组成的多个类的过程被成为聚类。由聚类所组成的簇是一组数据对象的集合,这些对象与同一簇中的对象彼此类似,与其他簇中的对象相异。在许多应用中,可以将一些簇中的数据对象作为一个整体来对待。
聚类是研究数据间逻辑上或物理上的相互关系的技术,其分析结果不仅可以揭示数据间的内在联系与区别,还可以为进一步的数据分析与知识发现提供重要依据。它是数据挖掘技术中的重要组成部分。作为统计学的重要研究内容之一,聚类分析具有坚实的理论基础,并形成了系统的方法学体系。
数据挖掘中聚类算法的应用很广泛。在商务上,聚类能帮助市场分析人员从客户基本库中发现不同的客户群,并且用不同的购买模式来刻画不同的消费群体的特征。在生物学上,聚类能用于帮助推导植物和动物的种类,基因和蛋白质的分类,获得对种群中固定结构的认识。聚类在地球观测数据中相似地区的确定,根据房屋的类型、价值和位置对一个城市中房屋的分类发挥作用。聚类也能用来对web上的文档进行分类,以发现有用的信息。聚类分析能作为一种独立的工具来获得数据分布的情况,观察每个簇的特点,并对某些特定的节点进一步分析。此外,聚类还可以作为其他方法的预处理步骤。
数据聚类正在蓬勃的发展,有贡献的领域包括数据挖掘,统计学,机器学习,空间数据库技术,生物学以及市场营销。现在数据聚类分析已经成为一个非常活跃的研究课题。
作为统计学的一个分支,聚类分析已经被广泛地研究若干年,主要集中在基于距离的聚类分析。基于k-means(k-平均值)、k-medoids(k-中心点)和其他一些的聚类分析工具已经被加入到许多统计分析的软件中,例如S-Plus、SPSS和SAS。
在机器学习领域,聚类分析是无指导学习的例子。与分类不同,聚类不需要依赖事先定义的类和带符号的训练实践。所以聚类分析是观察式学习,而不是示例式学习。
在数据挖掘领域,研究工作已经集中在为大型数据库的有效和实际的聚类分析寻找适当的方法。活跃的研究课题集中在聚类方法的可伸缩性,方法对聚类复杂形状和类型的数据的有效性,高维聚类分析技术,以及针对大型数据库中混合数值和分类数据的聚类方法。
由于研究的需要,现在将重点放在数据挖掘中聚类方法的应用上。数据挖掘中对聚类的典型要求如下:
(1)可伸缩性。一般的聚类算法使用鱼规模小于200的数据集合上,而现在很多大型数据库的数据量达到百万个,这就要求聚类有好的可伸缩性。
(2)处理不同类型属性的能力。应用的多元化,可能要求一个聚类能处理多种数据类型,像二元类型、分类/标称类型、序数型数据,或者这些类型的混合。
(3)发现任意形状的聚类。基于距离的聚类算法趋向于发现相近尺度和密度的球状簇。但一个簇的形状是任意的,所以就要求聚类能发现这些被忽略的聚类。
(4)用于决定输入参数的领域知识的最小化。由于聚类结果对输入参数的要求很敏感,但参数通常很难确定,特别是对于高维对象的数据来说。所以输入参数的质量直接影聚类的结果,这就加重了用户的负担。
(5)处理噪声数据的能力。绝大多数数据集中存在很多孤立点、空缺、未知数据或错误数据。一些聚类算法对于这样的数据敏感,导致低质量聚类结果。
(6)对输入数据的顺序不敏感。
(7)高维性。一个数据库或是数据仓库可能只包含若干维,很多聚类算法只涉及两到三维。人类对于三维以内的数据有判断性,高于三维的数据聚类的挑战性很高,数据可能很稀疏,也可能高度偏斜。
(8)基于约束的聚类。现实世界可能要在约束条件下进行聚类,这就要求既要满足客户特定的约束,又具有良好聚类特性的数据分组。
(9)可理解行和可用性。用户希望聚类结果是可解释的,可理解的,并且是可用的。也就是,聚类与最后的应用相联系。应用目标对聚类方法的影响也是一个重要的课题。
2 聚类方法基础
2.1 聚类过程简述
聚类是一个将数据集划分为若干组或簇的过程,使得同一类的数据对象之间的相似度较高,而不同类的数据对象之间的相似度较低。聚类问题的关键是把相似的事物聚集在一起。如图2-1给出了一个聚类任务遵循的一般步骤:
图 2-1 聚类的一般步骤(图传不上去)
聚类的一般步骤的细节如下:
(1)特征选择。必须适当地选择特征,尽可能多的包含任务关心的信息。在特征中,信息多余减少和最小化是主要目的。
(2)相似性度量。用于定量度量两个特征向量之间如何“相似”或“不相似”。一个简单的度量如欧氏距离经常被用来反应两个特征向量之间的非相似性。
(3)聚类算法。已经选择了合适的相似性度量,这步涉及到选择特定的聚类算法,用于揭示数据集中的聚类结构。