您的位置:首页 > 其它

读书笔记 -- 006_数据挖掘_聚类_概念知识

2015-12-10 22:25 295 查看
概论

聚类是把数据对象集划分成多个组或簇的过程,使得簇内的对象具有很高的相似性,但是与其他簇中的对象很不相似。相异性和相似性根据描述对象的属性值评估,并且通常涉及距离度量。聚类作为一种数据挖掘工具已经根植于许多应用领域,如生物学、安全、商务智能和Web搜索。

聚类分析(cluster analysis)简称聚类(clustering),是一个把数据对象(或观测)划分成子集的过程。每个子集是一个簇(cluster),由聚类分析产生的簇的集合称作一个聚类。在相同的数据集上,不同的聚类方法可能产生不同的聚类。划分不是通过人,而是通过聚类算法进行。聚类是有用的,因为他可能导致数据内事先未知的群组的发现。

聚类作为一种数据挖掘功能,聚类分析可以作为一种独立的工具,用来洞察数据的分布,观察每个簇的特征,将进一步分析集中在特定的簇集合上。另外,聚类分析可以作为其他算法(如特征化、属性子集选择和分类)的预处理步骤,之后这些算法将在检测到的簇和选择的属性或特征上进行操作。

在某些应用中,聚类又称作数据分割(data segmentation),因为它根据数据的相似性把大型数据集合划分成组。聚类还可以用于离群点分析(outlier detection),其中离群点(“远离”任何簇的值)可能比普通情况更值得注意。

作为统计学的分支,聚类分析已经被广泛地研究了许多年,主要集中在基于距离的聚类分析。基于k-均值(k-means)、k-中心点(k-medoids)和其他一些方法的聚类分析工具已经被加入到许多统计分析软件包或系统中,如S-Plus、SPSS以及SAS。

在机器学习领域,分类被称之为监督学习,因为给定了类标号信息,即学习算法是监督的,因为它被告知每个训练元组的隶属关系。聚类被称作无监督的学习,而不是通过实例学习。在数据挖掘领域,研究工作一直集中在为大型数据库的有效聚类分析寻找合适的方法上。活跃的研究主题包括聚类方法的可伸缩性,对复杂形状(如非凸性)和各种数据类型(例如,文本、图形和属性)聚类的有效性,高维聚类技术(例如,对具有数千特征的对象聚类),以及针对大型数据库中数值和标称混合数据的聚类方法。

1、对聚类分析的要求

数据挖掘对聚类分析的典型要求如下:

1、)可伸缩性:聚类算法不仅要在小数据集(比如,几百个数据对象)上运行良好,而且要求在大型数据集上也能运行良好,结果不能有偏差。

2、)处理不同属性类型的能力:许多算法是为数值(基于区间)的数据设计的。然而,用于可能要求聚类其他类型的数据。最近,越来越多的应用需要对诸如图、序列、图像和文档这样的复杂类型进行聚类的技术。

3、)发现任意形状的簇:许多聚类算法是基于欧几里得或者曼哈顿距离度量来确定簇。基于这些距离度量的算法趋向于发现具有相近尺寸和密度的球状簇。然而,一个簇可能是任意形状的。

4、)对于确定输入参数的领域知识的要求:许多聚类算法都要求用户以输入参数(如希望产生的簇的数目)的形式提供领域知识。因此,聚类结果可能对这些参数十分敏感。通常,参数很难确定,对于高维数据集和用户尚未深入理解的数据来说更是如此。要求提供领域知识不仅加重了用户的负担,而且使得聚类的质量难以控制。

5、)处理噪声数据的能力:现实世界中的大部分数据集都包含离群点和/或缺失数据、未知或错误的数据。一些聚类算法可能对噪声敏感,从而产生低质量的聚类结果。

6、)增量聚类和对输入次序不敏感:在许多应用中,增量更新(提供新数据)可能随时发生。一些新算法不能将新插入的数据(如数据库更新)合并到已有的聚类结构中去,而使需要从头开始重新聚类。一些聚类算法还可能对输入数据的次序敏感。

7、)聚类高维数据的能力:数据集可能包含大量的维或者属性。许多算法擅长处理低维的数据。发现高维空间中的数据对象的簇是一个挑战,特别是考虑这样的数据可能非常稀疏,并且高度倾斜。

8、)基于约束的聚类:现实世界的应用可能需要在各种约束条件下进行聚类。找到既满足特定的约束又具有良好聚类特性的数据分组是一项具有挑战性的任务。

9、)可解释性和可用性:用户希望聚类结果是可解释的、可理解的和可用的。也就是说,聚类结果可能需要与特定的语义解释和应用相联系。重要的是研究应用目标如何影响聚类特征和聚类方法的选择。

2、比较聚类方法的诸方面:

1、)划分准则:在某些方法中,所有的对象都被划分,使得簇之间不存在层次结构。也就是说,所有的对象在相同的层。另外,其他方法分层划分数据对象,其中簇可以在不同的语义层形成。

2、)簇的分离性:有些聚类方法把数据对象划分成互斥的簇。每个数据对象只能属于唯一的一个簇。另外,有的算法簇可以不是互斥的,即一个数据对象可以属于多个簇。

3、)相似性度量:有些方法用对象之间的距离确定两个对象之间的相似性。这种距离可以在欧氏距离、公路网、向量空间和其他空间中定义。在其他方法中,相似性可以用于基于密度的连接性或邻近性定义,并且可能不依赖两个对象之间的绝对距离。相似性度量在聚类算法的设计中起着重要的作用。虽然基于距离的方法常常可以利用最优化技术,但是基于密度或基于连通性的方法可以发现任意形状的簇。

4、)聚类空间:许多聚类方法都在整个给定的数据空间中搜索簇。这些方法对于低维数据集是有效的。然而,对于高维数据,可能有许多不相关的属性,可能使得相似性不可靠。因此,在整个空间中发现簇是没有什么意义的。最好在相同数据集的不同子空间内搜索簇。子空间聚类发现揭示对象相似性的簇和子空间(通常是低维的)。

总而言之,聚类算法具有多种要求。这些因素包括可伸缩性和处理不同属性类型、噪声数据、增量更新、任意形状的簇和约束的能力。可解释性和可用性也是重要的。此外,关于划分层次、簇是否互斥、所使用的相似性度量、是否在子空间聚类,聚类方法也可能有区别。

3、基本聚类方法概述

1、)划分方法:划分方法在数据集上进行一层划分。典型地,基于划分方法采取互斥的簇进行划分,即每个对象必须恰好属于一个组。这个要求,可以在模糊划分技术中,可以放宽。为了达到全局最优,基于划分的聚类可能要穷举所有可能的划分,计算量极大。实际上,大多数应用都采用了流行的启发式方法,如k-均值和k-中心点算法,渐近地提高聚类质量,逼近局部最优解。这些启发式聚类方法很适合发现中小规模的数据库中的球状簇。为了发现具有复杂形状的簇和对超大型数据集进行聚类,需要进一步扩展基于划分的方法。

2、)层次方法:

层次方法创建给定数据对象集的层次分解。根据层次分解如何形成,层次方法可以分为凝聚的分裂的方法。凝聚的方法,也称自底向上的方法,开始将每个对象作为一个组,然后组词合并相近的对象或组,指导所有的组合并为一个组(层次的最顶层),或者满足某个终止条件。分裂的方法,也成自顶向下的方法,开始将所有的对象置于一个簇中。在每次相继迭代中,一个簇被划分为更小的簇,直到每个对象在单独的一个簇中,或者满足某个终止条件。

层次聚类方法可以是基于距离的或基于密度和连通性的。层次聚类方法的一些扩展也考虑了子空间聚类。

层次聚类的方法的缺陷在于,一旦一个步骤(合并或分裂)完成,它就不能被撤销。这个严格规定是有用的,因为不用担心不同选择的组合数目,它将产生较小的计算开销。然而,这种技术不能更正错误的决定。

3、)基于密度的方法:大部分划分方法基于对象之间距离进行聚类。这样的方法只能发现球状簇,而在发现任意形状的簇时遇到了困难。已经开发了基于密度概念的聚类方法,其主要思想是:只要“邻域”中的密度(对象或数据点的数目)超过某个阈值,就继续增长给定的簇。也就是说,对给定簇中的每个数据点,在给定半径的邻域中必须至少包含最少数目的点。这样的方法可以用来过滤噪声或离群点,发现任意形状的簇。

基于密度的方法可以把一个对象集划分成多个互斥的簇或簇的分层结构。通常,基于密度的方法只考虑互斥的簇,而不考虑模糊簇。此外,可以把基于密度的方法从整个空间聚类扩展到子空间聚类。

4、)基于网格的方法:基于网格的方法把对象空间量化为有限个单元,形成一个网格结构。所有的聚类操作都在这个网络结构(即量化的空间)上进行。这种方法的优点是处理速度很快,其处理时间通常独立于数据对象的个数,而仅依赖于量化空间中的每一维的单元数。

对于许多空间数据挖掘问题(包括聚类),使用网格通常都是一种有效的方法。因此,基于网格的方法可以与其他聚类方法集成。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: