欢迎来到天天文库
浏览记录
ID:40220416
大小:2.44 MB
页数:109页
时间:2019-07-26
《数据挖掘导论完整版中》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、聚类分析:附加的问题与算法第9章聚类分析:附加的问题与算法在各种领域,针对不同的应用类型,已经开发了大量聚类算法。在这些算法中没有一种算法能够适应所有的数据类型、簇和应用。事实上,对于更加有效或者更适合特定数据类型、簇和应用的新的聚类算法,看来总是有进一步的开发空间。我们只能说我们已经有了一些技术,对于某些情况运行良好。其原因是,在许多情况下,对于什么是一个好的簇集,仍然凭主观解释。此外,当使用客观度量精确地定义簇时,发现最优聚类问题常常是计算不可行的。比较k均值和DBSCANDBSCAN和k均值都是将每个
2、对象指派到单个簇的划分聚类算法,但是K均值一般聚类所有对象,而DBSCAN丢弃被它识别为噪声的对象。K均值使用簇的基于原形的概念,而DBSCAN使用基于密度的概念。DBSCAN可以处理不同大小和不同形状的簇,并且不太受噪声和离群点的影响。K均值很难处理非球状的簇和不同大小的簇。当簇具有很不同的密度时,两种算法的性能都很差。K均值只能用于具有明确定义的质心(如均值或中位数)的数据。DBSCAN要求密度定义(基于传统的欧几里得密度概念)对于数据是有意义的。K均值可以用于稀疏的高维数据,如文档数据,DBSCAN通
3、常在这类数据上性能很差,因为对于高维数据,传统的欧几里得密度定义不能很好处理。K均值和DBSCAN的最初版本都是针对欧几里得数据设计的,但是它们都被扩展,以便处理其他类型的数据。DBSCAN不对数据的分布做任何假定。基本k均值算法等价于一种统计聚类方法(混合模型),假定所有的簇都来自球形高斯分布,具有不同的均值,但具有相同的斜方差矩阵。DBSCAN和k均值都寻找使用所有属性的簇,即它们都不寻找可能只涉及某个属性子集的簇。K均值可以发现不是明显分离的簇,即便簇有重叠也可以发现,但是DBSCAN会合并有重叠的簇
4、。K均值算法的时间复杂度是O(m),而DBSCAN的时间复杂度是O(m2).DBSCAN多次运行产生相同的结果,而k均值通常使用随机初始化质心,不会产生相同的结果。DBSCAN自动地确定簇个数;对于k均值,簇个数需要作为参数指定。然而,DBSCAN必须指定另外两个参数:Eps和MinptsK均值聚类可以看作优化问题,即最小化每个点到最近的质心的误差的平方和,并且可以看作一种统计聚类的特例。DBSCAN不基于任何形式化模型。数据特性高维性随着维度的增加,体积迅速增加,除非点的个数也随着维度指数增加,否则密度将
5、趋向于0.处理该问题的方法是使用维归约技术规模许多聚类算法对于小规模和中等规模的数据集运行良好,但是不能处理大型数据集稀疏性稀疏数据通常由非对称的属性组成,其中零值没有非零值重要。.噪声和离群点非常见点可能严重地降低聚类算法的性能,特别是k均值这样的基于原型的算法另一方面,噪声也可能导致单链等技术合并两个不应当合并的簇。属性和数据集类型属性可能是分类的(标称的或序数的)或定量的(区间的或比率的),二元的、离散的或连续的。不同的近邻性和密度度量适合于不同类型的数据。尺度不同的属性,如高度和重量,可能用不同的尺
6、度度量。这些差别可能严重影响两个对象之间的距离或相似性,从而影响聚类分析的结果。簇特性数据分布某些聚类技术假定数据具有特定的分布。更具体的说,它们常常假定可以用混合分布对数据建模,其中每个簇对应于一个分布。形状有些簇具有规则的形状,如矩形和球形。但是,更一般地,簇可以具有任意形状。如DBSCAN和单链等技术可以处理任意形状。基于原型的方法和一些层次聚类技术不能进行这样的处理。Chameleon和cure是专门用来处理这一问题的技术不同大小许多聚类算法,如k均值,当簇具有不同的大小时不能很好的处理不同密度具有
7、很不相同的密度的簇可能对诸如DBSCAN和k均值等算法造成影响基于SNN密度的聚类技术可以处理这个问题无明显分离的簇当簇接触或重叠时,有些聚类技术将应当分开的簇合并。甚至有些发现不同簇的技术随意地将点指派到一个或另一个簇。模糊聚类可以处理这一问题簇之间的联系在大部分聚类技术中,都不考虑簇之间的联系,如簇的相对位置自组织映射(SOM)是一种在聚类期间直接考虑簇之间联系的聚类技术。子空间簇簇可能只在维(属性)的一个子集中存在,并且使用一个维集合确定的簇可能也使用另一个维确定的簇很不相同。聚类算法的一般特征次序依
8、赖性对于某些算法,所产生的簇的质量和个数可能因数据处理的次序不同而显著地变化。如SOM非确定性有些算法不是次序依赖的,但是它们每次运行都产生不同的结果,因为它们依赖于需要随机选择的初始化步骤。变换聚类问题到其他领域将聚类问题映射到一个不同的领域。如,基于图的聚类可伸缩性包含数以百万计对象的数据集并不罕见,而用于这种数据集的聚类算法应当具有线性或接近线性的时间或空间复杂度。对于大型数据集,即使具有O(m2)复杂度也
此文档下载收益归作者所有