21/7/17 读书笔记 数据、簇、聚类算法的性质 基于原型的聚类方法拓展

21/7/17 读书笔记

数据挖掘导论 数据、簇、聚类算法自身特性对于聚类问题的影响因素

本节中主要探讨数据、簇、聚类算法本身的一些性质对于聚类问题会有什么样的影响,以及简要介绍一下解决办法,详细的解决办法将会在我们接下来的学习中成为重点内容。

数据特性

  • 高维性:数据的高维性带来的一个最显著的问题就是,维度上升的同时,“体积”的概念是膨胀的,这使得“密度”和“邻近度”等概念在高维数据下都变得趋于一致,大部分数据点处对应密度均趋于0,大多数点之间的邻近度也都一致,无法再提供足够多的有效信息。主要的应对方法是进行维归约,或者也可以重新定义“密度”和“邻近度”概念。
  • 规模:数据规模对于聚类算法的影响是直观的,具有较好可伸缩性性的算法能够在大的数据集规模下表现较高。
  • 稀疏性:数据的稀疏性主要是因为非对称度量,即零值没有非零值重要。通常需要采用适合非对称属性的邻近度度量方法,而且需要注意非零项的量级对于聚类的影响(非零值的不当量级会扭曲聚类,比如大部分对称属性的属性值都是较小的小数,而非对称属性取0/1时,由于1显著大于其他属性的属性值,可能会导致扭曲发生)
  • 噪声和离群点:正如我们之前提到的,噪声和离群点会影响某些聚类算法的性能,比如K均值算法这种不忽略噪声点的基于原型的算法。主要解决方法是提前处理掉噪声点和离群点,或者使用DBSCAN等可以在计算过程中自动去除噪声点的算法。
  • 属性类型:不同的属性类型(连续或离散、定量或定性等)适合使用不同的邻近度度量,而当数据集中出现大量不同类型的属性时,如何进行邻近度和密度的定义就是一个复杂的问题。
  • 数据尺度:如果不进行数据规范化,数据本身的尺度会影响聚类算法的偏倚性,尺度较大的属性可能更被重视。因此需要在进行聚类前对数据进行规范化。

簇特性

  • 簇的分布:某些聚类算法会假定数据具有特定的分布,其可用多种分布进行混合来描述,而每个簇应该对应一种分布。
  • 形状:正如我们之前讨论的,簇的形状会影响K均值算法等某些聚类算法的性能,这主要和算法本身对于聚类过程的设计有关。
  • 大小:主要指簇的大小分布,当聚类中各个簇的大小差异比较大,K均值聚类算法等许多聚类的性能就会下降。
  • 密度:主要指簇的密度分布,当聚类中各个簇的密度差异较大,DBSCAN、K均值算法等许多聚类算法的性能会下降。
  • 簇的重叠性:当簇接触或重叠时,某些聚类技术不能很好地识别出他们的边界,而随意指派。当聚类中的簇大规模重叠时,这些聚类算法的性能就会被显著影响。
  • 簇之间的联系:簇之间的联系,包括相对位置等,可能会对聚类问题有一定影响。
  • 子空间簇:给出的数据集中,某些簇只在数据的子空间中存在,即忽略某些属性后进行聚类分析才能得到。尤其当维度上升时,维度的子集数量呈指数级上升,在所有可能的子集内寻找子空间簇是计算不可行的。

聚类算法的特性

  • 次序依赖性:当算法处理数据的顺序会影响最终的聚类结果时,我们认为算法具有次序依赖性。虽然其可能导致每次运行算法得到不同的结果,但是次序依赖性对于最终聚类认为相对比较次要。
  • 非确定性:某些聚类算法的初始化可能是随机的,比如K均值算法,不同的初始化会影响结果,称其具有非确定性。
  • 可伸缩性:可伸缩性特指算法能够应用于大型数据集。其要求时间和空间复杂度接近线性,而且对于数据的访问也应该尽可能连续,以保证在面临大型数据集时通常内存放不下所有数据,而进行页面交换时的性能。
  • 参数选择:大部分聚类算法都会或多或少要求一些超参数。超参数越少,用户需要拟合合适的参数所需要的工作量越少,算法相对较好。

数据挖掘导论 基于原型的聚类

本节中主要探讨基于原型的各种聚类技术的intuition,通过介绍来提高读者对于基于原型聚类技术的思想与优化的认识。

我们之前介绍的K均值算法是典型的基于原型的聚类方法,其将质心作为簇原型,并且认为一个对象属于且只属于一个簇。而在本节中探讨的聚类方法从多种角度对其进行了拓展:

  • 允许一个对象属于多个簇:对应模糊聚类方法,以某个权值将对象指派给簇,说明其隶属的可能性与程度。
  • 利用统计分布来描述簇及其原型:对应混合聚类方法,将簇的聚集描述为符合某种统计分布,而聚类则表现为多种统计分布的混合。
  • 考虑簇之间的固定联系:对应基于自组织映射(SOM)的聚类方法,其在一个固定的框架内进行聚类,基于这个框架给出簇之间的指定的相互联系。

模糊聚类

模糊聚类是基于模糊集合论模糊逻辑所给出的。简单来说,模糊集合论允许一个对象以一定概率从属于多个集合,而模糊逻辑允许通过一定概率陈述一个对象属于一个集合。在这种框架下,我们给出模糊簇的概念:

对于一个模糊簇,其可以被描述为一个模糊集合,每个对象以一定概率从属于这个集合,我用\(w_{ij}\)来描述i对象属于j簇的对应权值。可见整个数据的分布都是通过\(w_{ij}\)来描述的。同时,我们需要额外施加模糊伪划分的约束来表示一定客观限制:

  • 对于一个对象,其在所有模糊簇中的概率之和为1。
  • 每个模糊簇至少以非零的权值包含一个点,且不能以1为权值包含所有的点。

在此基础上,我们改进原K均值算法:

  1. 选择一个初始模糊划分,即对所有的\(w_{ij}\)赋合适的值
  2. 在模糊伪划分的限制下,计算每个簇的质心
  3. 重新计算模糊伪划分,回到第二步,直到误差变化低于指定阈值

这种模糊聚类算法称为模糊c均值,其中c均值特指K均值算法下不进行簇质心增量更新,又称为FCM。

FCM下与K均值一样使用SSE进行误差的定义;在计算质心时也类似,只是额外基于权值考虑每个点对质心位置的贡献;对于\(w_{ij}\)仍然需要保存模糊伪划分的约束。因此FCM在优缺点上基本类似传统的K均值算法。

混合聚类

考虑一个簇中所有对象,其在空间内的分布应该是由规律的,我们用一个统计过程的概率分布来描述这个规律性,由此将一个簇描述为一个统计分布。而一个聚类包含多个簇,也就可以描述为多个统计分布混合的结果。我们进行混合聚类,就是去找到这种混合的统计模型的参数,并将其拆分出多个独立的统计分布,对应每个簇,对于每个对象我们并不直接进行指派,而是得出其属于某个簇的概率。

在本节中主要介绍的使用最大似然估计的方法进行对简单统计模型参数的估计。最大似然估计的思想可以被描述为:我们已知或假定数据符合某种分布类型,比如高斯分布,但是不知道具体的参数(对于高斯分布,均值与方差)。某种参数情况下产生我们持有的数据的概率称为该种参数情况下的似然概率,通过对似然概率求取最大值,对应的参数就认为是模型的参数。通常来说这个过程是通过求导进行的,得到的是极大值。

而延伸到混合模型下,即多种简单统计模型混合,最大似然估计也能用于估计混合模型的参数。但我们拿到一个数据点,并不知道其属于混合模型中哪个分布,因此无法去确定似然函数。期望最大化(Expectation Maximization,EM)算法给出了解决方案:

  1. 初始化模型参数
  2. 对于每个对象,计算对象属于每个分布的概率,并基于概率计算出期望似然函数(即按照概率加权计算所有分布对应的似然函数)
  3. 在得到期望似然函数后,找出最大化该期望似然的新的参数估计
  4. 重复步骤2、3,直到参数变化低于某个阈值

通常情况下,我们可以认为所有的簇都符合高斯分布,而且EM算法需要提前给定簇的个数。最后每个点被指派到其对应似然函数最大的簇中。

混合聚类方法能够很好地处理不同形状、密度、大小的簇,并且对于重叠的簇有很好的识别性。但是其也不能很好处理噪声和离群点,而且计算复杂度较高,可伸缩性很低;同时还需要基于对簇的个数和分布类型的估计开展。

自组织映射

自组织映射(SOFM或SOM)算法,是一种源于神经网络的算法,但是也可以表示为一种基于原型的聚类技术的变形。其与一般的基于原型的聚类技术类似,都是通过寻找一系列的质心来将对象进行指派。不同点在于赋予质心以地形序,来反映质心(对应的簇)之间的联系。

在SOM中,质心之间按照一个框架来有序排列,使得能够在质心之间定义“近邻”这一概念。基本的SOM算法可以被描述为:

  1. 初始化质心序列(类似K均值算法),并且设置好其框架中的有序关系

  2. 选择一个对象点(称为A)

    说明:选择策略有很多,一个对象可能被选择多次,某些对象可能一次也没选中。通过提高某些对象出现的频率能够提高算法对这些对象的学习性。

  3. 确定距离该对象点最近的一个质心

  4. 找到该质心(称为G)和与该质心近邻的附近的质心,更新他们

    说明:更新是一个复杂的过程,简单来说,其对于在G邻域内的其他质心的更新程度是递减的,使得离G较远的质心几乎不被更新。更新的本质是让这些质心更靠近该对象点A。

  5. 重复2、3、4,直到质心的改变小于指定阈值

可以看出,SOM的本质还是一个神经网络,每个质心就是一个神经元,通过更新一个神经元及其周边的神经元来进行学习。学习率被定义为第4步中质心移动以靠近对象点的程度。

SOM的优点在于引入了簇之间的关联,这对于文档数据和基因组数据等确实具有簇关联的数据有重要意义。但是SOM作为一种神经网络中延伸来的技术,其缺点也比较明显:

  • 我们必须人为选定用于放置神经元的框架类型及定义在其上的邻域函数、选择对象点的策略、质心个数。
  • 对于形状、密度、大小的适应性不强,仍然会试图分裂与合并不同大小形状密度的自然簇。
  • 缺乏具体的目标函数,不能形式化地解释聚类结果。
posted @ 2021-07-17 14:52  neumy  阅读(560)  评论(0)    收藏  举报