zoukankan      html  css  js  c++  java
  • 最小化局部边际的合并聚类算法(上篇)

    作者:钱烽


    摘要:提出最小化局部边际的合并聚类算法.现有的合并聚类算法主要包括经典合并聚类技术和聚类任意形状的合并聚类技术两种类型.其中,前者能够输出符合严格单调递减规律的完整系统树图结果,但对任意形状类簇不能进行有效聚类.而后者虽然能够聚类任意形状和尺寸的类簇,但却涉及复杂的概念和技术,包含较多数量的算法参数,也无法产生完整的系统树图结构.本文定义出一种满足弱单调递减特性的相似性度量,在保留上述两类方法优点的同时也避免了它们各自的局限.最小化局部边际的合并聚类算法采用了该相似度定义,在合并聚类过程中尽量缩小被合并类簇的边际差异.该算法既能保证系统树图的聚类质量又能较好地聚类任意形状类簇,并且仅包含一个算法参数.基于合成数据和真实数据的实验表明,最小化局部边际的合并聚类算法具有良好的聚类效果和较高的算法执行效率.

    关键词:机器学习;数据挖掘;聚类分析;合并聚类算法

    一、引言

    聚类分析是数据挖掘和机器学习等领域的关键技术之一.它将数据集中的相似样本点汇聚至同一类簇,使不同类簇的样本点之间具有尽量小的相似性,其应用领域包括信息检索、计算机视觉、模式识别等多个方面[1].目前的聚类分析技术主要包括划分聚类、合并聚类、基于密度聚类、网格聚类、谱聚类等几种.其中,合并聚类技术是聚类分析的一个重要分支,它自底向上地逐层合并样本点以达到聚类目的.相比其他聚类技术,合并聚类技术具有以下一些优点[2,3]:(1) 概念简单,易于解释;(2) 聚类过程清晰稳定;(3) 聚类结果层次化、结构化,包含数据集中样本点的偏序信息.基于上述原因,合并聚类技术在实际应用中被广泛使用.

    表示一个给定的数据集,表示其中第个样本点,合并聚类技术采取以下步骤对其进行聚类[4,5]:(1) 初始化每个样本点自成一类,即每一类簇中的样本集为;(2) 计算任意两类之间的相似性度量值,并找到其中的最大值;(3) 合并为一个新类簇;(4) 从第二步开始重复上述操作直至达到目标聚类数目或所有样本点都合并成为同一类.合并聚类算法的结果以一个包含合并过程信息的系统树图结构输出.

    图1例举了对5个示例样本点进行合并聚类的过程及其输出的系统树图结果.其中,系统树图中的每个叶子节点对应一个数据集中的样本点,而非叶子节点则对应一个合并后的类簇.非叶子节点的高度表示了它所包含的两个子类簇之间的非相似距离.相比其他聚类技术,这种多层次结构的聚类结果在文本分类、生物分类学、语义学、耗能系统和松弛系统等研究领域具有重要的应用价值[6,7].在这些领域中,每一个大类下面往往分为很多小类,而每个小类又包含更小的类别,系统树图的结构正好满足这样一种非平坦的分类模式.此外,系统树图结构中还隐含了样本点间距的偏序顺序,在生物信息学等领域也具有重要意义[3].

    目前的合并聚类技术主要包括以下两种类型[2]: 经典合并聚类技术和聚类任意形状的合并聚类技术.

    经典合并聚类技术是历史最为悠久以及研究最为透彻的聚类技术之一.它严格遵循上面提到的四个步骤对数据进行合并聚类,计算的结果以一个完整的系统树图结构输出.其代表方法包括SLINK算法[8]、CLINK算法[9]、ALINK算法[10]和WARD算法[11]等.这些算法通过计算各自不同类型的相似度值来对样本点和类簇进行合并操作.例如SLINK算法使用两类簇之间最近点对的距离来衡量类间相似度.这类技术中,相似度的单调递减特性是研究者关注的重点内容.在相似度满足单调递减特性的聚类结果中,较低层次的类簇间距严格地比较高层次的类簇间距要小.这样的聚类结果能较好地反映样本点之间的真实内在联系,输出的系统树图具有较高的聚类质量[12].上面提到的四种算法都使用了满足这一特性的相似度定义.然而,过分强调严格的单调递减特性也在理论上决定了这类技术无法对任意形状类簇进行有效聚类[3].

    另一种较为现代的合并聚类技术以聚类任意形状类簇为目标.与经典合并聚类技术相比,它在聚类过程中引入了随机采样[13]、最小图划分[14]等其他复杂的技术,因而也包含较多的算法参数.其代表方法包括CURE算法[15]和CHAMELEON算法[16]等.这些算法采用二阶段策略,首先将样本数据集转化为较少数量的基本类簇,然后在基本类簇的基础上进行合并聚类.因此,聚类任意形状的合并聚类技术并不能产生完整的系统树图结构.其输出的系统树图中,叶子节点所表示的是采用其他技术事先生成的基本类簇.由于聚类过程较为复杂,这一类方法所使用的相似度也不满足上面所提到的单调递减特性.

    本文提出一种最小化局部边际的合并聚类算法(Agglomerative Clustering by Minimizing lOcal Margins,简称ACMOM算法),在保留了上述两类方法优点的同时也避免了它们各自的局限.我们利用数据集样本点间的互为k最近邻(Mutual k-Nearest Neighbors,简称MkNN)关系定义出一种满足弱单调递减特性的新颖相似性度量.在该度量方法中,参与类簇间MkNN关系的样本点比例越多则类簇间的相似度就越大.ACMOM算法采用了这一相似度概念,从样本点开始进行合并操作,在合并过程中尽量缩小被合并类簇间的边际差异,最后输出一个完整的系统树图.基于所使用相似度的弱单调递减特性,该算法既能保证系统树图的聚类质量又能较好地聚类任意形状类簇.此外,由于采用的相似度定义较为简单,ACMOM算法只包含一个最近邻参数k,与其他聚类任意形状的合并聚类算法相比更具实际操作性.

    本文的主要贡献包括:(1) 定义基于MkNN关系的相似性度量;(2) 形式化证明该相似度的弱单调递减特性;(3) 基于该相似度,提出最小化局部边际的合并聚类算法并分析其时间和空间复杂度;(4) 通过基于合成数据和真实数据的实验,比较分析ACMOM算法与其他两类合并聚类算法的聚类有效性和算法执行效率以及算法参数k对它们的影响.

    本文第1节介绍现有相关工作.第2节定义和分析基于MkNN关系的相似性度量方法.第3节详细描述最小化局部边际的合并聚类算法.第4节分析该算法的时间复杂度和空间复杂度.第5节实验比较和分析不同算法的聚类有效性和算法执行效率以及算法参数对它们的影响.第6节总结全文并给出未来工作方向。

    二、相关工作

    本节首先对现有的聚类分析技术做简单总结和介绍,接着分别对经典合并聚类技术和聚类任意形状的合并聚类技术做详细描述,最后从算法特征的角度对ACMOM算法以及上述两类合并聚类技术做出比较。

    2.1聚类分析技术概述

    目前的聚类分析技术按照建模方式不同主要分为划分聚类、合并聚类、基于密度聚类、网格聚类、谱聚类等几种。(1) 划分聚类技术通常要求用户事先提供目标类簇数目,在对数据集做初始划分后迭代地更新和优化已有的划分结构.这类技术通常只能对球形类簇进行有效聚类,其代表方法包括k-means算法[17]和k-mediods算法[18]等。(2) 合并聚类技术依据一定的相似性度量对样本点和类簇进行合并操作,最后以系统树图的形式输出聚类过程和结果.其代表方法包括Linkage Metric算法族[2]和CHAMELEON算法等。(3) 基于密度聚类技术通过比较相邻样本点间数据密度的一致性来进行任意形状聚类,其代表方法包括DBSCAN算法[19]和DENCLUE算法[20]等.根据文献[16]的描述,这类方法对于参数值的设置较为敏感,相比CHAMELEON算法具有较低的聚类质量和运行效率。(4) 网格聚类技术使用网格结构来组织空间信息,并使用基于密度聚类技术对网格进行进一步聚类.这种聚类方式在大规模数据集中能够有效提高聚类效率,但在聚类质量上存在相应损失.其代表方法包括STING算法[21]和WaveCluster算法[22]等。(5) 谱聚类技术[23,24]将聚类问题转化为归一化最小割优化问题,对于特定的聚类目标能够收敛于全局最优解.其缺点是算法的时间复杂度较高,一般为数据集样本点个数的三次方以上.

    本文研究的合并聚类技术主要包括经典合并聚类技术和聚类任意形状的合并聚类技术两种类型.与其他聚类分析技术相比,合并聚类技术的聚类过程清晰稳定,所输出的系统树图结果更具分析性和应用性。

    2.2经典合并聚类技术

    经典合并聚类技术采用上文提到的四个步骤对数据进行合并聚类,计算的结果以一个完整的系统树图结构输出.这类技术的主要方法包括Linkage Metric算法族和BIRCH算法[25]。

    Linkage Metric算法族是最早出现的聚类分析技术之一,它以类簇间样本点间距的统计量作为衡量类间相似性的度量标准.其中,SLINK算法[8]、CLINK算法[9]、ALINK算法[10]和WARD算法[11]等由于采用了满足单调递减特性的相似度定义,因而不易陷入局部最优的困境,被认为是该算法族中聚类质量最好的几种算法。

    SLINK算法(Single Linkage Method)采用两类簇间最近样本点对的距离来衡量类间相似度,距离越近则相似度越高.这一算法重点考察了类簇间的边界连接性,理论上与“最小生成树”算法的生成过程一致.其缺点是对于噪声或数据点的波动非常敏感,容易陷入“链式效应”[7]。

    CLINK算法(Complete Linkage Method)则采用两类簇间最远样本点对的距离来衡量类间相似度.同样,距离越近则相似度越高.这一算法重点考察了类簇间的紧密程度,其缺点仍然是对噪声或数据波动较为敏感。

    ALINK算法(Average Linkage Method)是上述两类算法的折中,它采用两类簇间任意样本点对的距离均值来衡量类间相似性.因而这一算法同时从边界连接性和紧密程度两个方面考察了类簇间的相似程度.相比SLINK算法和CLINK算法,ALINK算法在实际应用中具有更好的聚类表现。

    WARD算法又称离差和平方法,它将方差分析的思想用于聚类,通过综合评价类簇内部的离差平方和与类间离差平方和来衡量相似度.这一算法的聚类目标在理论上与k-means等划分聚类算法的优化目标一致。

    另一方面,BIRCH算法的目标是在大规模数据集中进行合并聚类.它为每个类簇保存了一个样本点的向量统计量,进而参与相似度决策.该统计量具有如下形式CF = (N, LS, SS).其中,N表示了类簇中的样本点个数,LS表示了类簇中样本点的线性和,而SS则表示了类簇中样本点的平方和.这一被称为聚类特征的统计量包含了计算类簇之间任意样本点距离均值和中心样本点距离等相似度指标的所需信息.由于所采用的相似性度量方法没有发生改变,该算法的计算结果与Linkage Metric算法族中对应算法的聚类结果一致。

    根据文献[26]的描述,上述经典合并聚类算法的最坏时间复杂度为O(n2d+n2logn),其中n表示数据集中样本点的个数,d表示样本点的维度.而这类算法的最坏空间复杂度则为O(n2)。

    2.3聚类任意形状的合并聚类技术

    与经典合并聚类技术相比,CURE算法和CHAMELEON算法以聚类任意形状类簇为目标,抛弃了凸优化和单调递减特性相似度的约束,在空间数据集中具有更好的聚类表现.

    CURE算法首先对数据集做采样和简单的划分.接着对每个划分后的基本类簇选取固定数量的分散样本点,并在此基础上继续使用SLINK的算法标准来合并相似类簇.因此,随机采样的这些样本点实际上决定了最终的相似度值.由于随机选取样本点的过程是分散的,这些被选取的样本点一定程度上保留了类簇的形状和尺度信息,使得CURE算法对任意形状类簇具有一定的聚类效果.而随机采样的策略在节约了计算开销的同时也直接影响了算法的聚类质量,并使得聚类结果具有不稳定性.该算法的时间复杂度是O(n2dlogn).

    CHAMELEON算法首先将数据集转化为一个k最近邻图,并利用图划分技术将其分割成m个较小的子图,接着对这些子图所代表的基本类簇进行合并聚类.其定义的类簇相似度也使用了较复杂的图分割理论,使得类簇中的每个样本点都动态参与到相似度值的决策.因而该方法又可以被归类为基于图理论的聚类方法.然而该方法需要事先定义五个以上的参数值,在实际应用中具有较低的实际操作性.根据文献[16]的实验结果描述, CHAMELEON算法相比CURE算法和DBSCAN算法能够更好地聚类任意形状和大小的类簇.特别在对于一些给定的测试数据集,其他几种算法出现了明显的误分结果.该算法的时间复杂度是O(nmd+dn2-1/d+m2logm).

    2.4合并聚类算法的特征比较

    上述两类合并聚类技术中,经典合并聚类技术所使用的相似度定义通常概念简单,满足单调递减特性,能够生产完整的系统树图结构.这类方法的缺点是过分强调相似度的严格单调递减特性而无法对任意形状类簇的进行有效聚类.另一方面,聚类任意形状类簇的合并聚类技术虽然能够聚类任意形状和尺度的类簇,但这类算法往往涉及复杂的概念和技术,包含较多数量的算法参数,也无法产生完整的系统树图结构.

    本文所定义的相似性度量基于类簇间的MkNN关系,不仅概念简单而且具备一定的弱单调递减特性.采用该相似度的ACMOM算法在保留上述两类算法优点的同时,也避免了它们各自的局限.表1从算法特征的角度对上面提到的几种合并聚类算法做了相应比较.从中可以看出,本文所提出的ACMOM算法在多个方面都具备一定的优势.下文中,我们将从算法原理和实验分析等角度进一步深入描述这一算法的综合聚类能力.

    Table 1  Property comparison of agglomerative clustering algorithms

    表1  合并聚类算法的特征比较

    Algorithm

    Measure

    Simplicity

    Dendrogram Completeness

    Monotonicity Preserving

    Arbitrary Shape Capturing

    # of Parameters

    Linkage Metric


    0

    BIRCH


    0

    CURE




    4

    CHAMELEON




    more than 5

    ACMOM

    weak

    1

    三、基于MkNN关系的相似性度量

    本节首先定义基于MkNN关系的相似性度量方法,然后形式化证明和分析这一相似度的弱单调递减特性。

    3.1相似度定义

    数据挖掘技术在建立模型之前经常需要对数据特征做出一定的合理假设.为了实施聚类任务,一般的聚类算法往往事先假设真实类簇的内部样本点分布紧密而类簇之间存在较明显的边际差异.我们定义相似性度量所采用的MkNN关系由于能够自然地描述样本点之间的对称邻域关系,因而对于上述假设具有较强的表达能力.具体而言,给定一个较小正整数,样本点间的MkNN关系应仅存在于真实类簇的内部而极少出现在类簇边界的样本点之间(n表示数据集中样本点的个数).文献[27]将上述一致性约束强加于k-means算法的实现中,取得了较好的聚类质量提升效果.

    根据上述分析,当两类簇的边界样本点参与相互之间MkNN关系的比例越多时,它们的相似度应该越大.反之,它们属于同一真实类簇的可能性就越小,所对应的相似度也应该越小.下面,我们给出相关的具体定义.

    定义1 (MkNN连接集). 给定数据集和合并聚类过程中的两个相邻类簇以及较小正整数,类簇的MkNN连接集为.其中, 表示样本点x的k个最近邻居集合,而则表示连接样本点P和O的邻居边.        □

    定义2 (相似度). 给定数据集和合并聚类过程中的两个相邻类簇以及较小正整数,类簇的相似度为.其中分别是类簇中参与相似性决策的边界样本点集合.                    □


    上文中提到,合并聚类算法每次选取相似度最大的类簇对进行合并操作.根据上面的定义,这使得被合并类簇间的边际差异得到最小化,从而保证真实类簇间的边界得以合理区分.另一方面,类簇中参与MKNN连接集比例较多的一方将对相似度值起决定作用.由于实质上只有类簇边界的样本点参与到相似性决策,这意味着较小的类簇易被优先合并。

    2.2相似度的弱单调递减特性

    表示算法进行第i次合并时被合并类簇间的相似度值,单调递减特性是指合并过程始终满足.而以下超度量不等式(Ultrametric Inequation)正是满足这一特性的充分条件[3,12].

    其中是每次合并聚类操作中满足相似度最大的两个相邻类簇,是这两个类簇合并后的新类簇,而则是其他任意类簇.基于上述约束条件,新合并的类簇与其他类簇之间的相似度将一直小于或等于被合并类簇间的相似度,即.这使得合并过程中的单调递减规律得以始终保持.

    Linkage Metric算法族等经典合并聚类技术采用了满足上述超度量不等式的相似度定义,由此产生的系统树图包含以下两个优点[3,7]:(1) 类簇之间的距离排序得到严格保持,算法不易陷入局部最优的困境;(2) 在文本分类、生物分类学等领域,这样的输出结果更具意义,能够保证小类之间具有较小间距而大类之间具有较大间距.另一方面,满足严格单调递减特性的超度量约束又使得这一类方法过于强调个体样本点间的相似性因素,在理论上不能有效聚类任意形状类簇.


    与严格满足超度量不等式相比,定义2所提出的相似度定义只满足一定的弱单调递减特性.这使得采用该相似性度量的合并聚类算法具有聚类任意形状类簇的可能.同时,这一度量方法又为系统树图中不同层次节点的相似度差异提供了合理的理论上限,从而保证了这一结构的表达质量.下面的几个定理和推论中,我们将给出具体的形式化证明和分析.在第五节中,我们还将通过实验进一步验证这些分析结果。

    定理1. 给定数据集和每次合并聚类操作中满足相似度最大的两相邻类簇,以及较小正整数,基于MkNN关系的相似度满足以下弱单调递减特性.

    其中,是将这两个类簇合并后的新类簇,而则是其他任意类簇,并且

    证明:根据定义2,类簇与其他类簇的相似性为.类似的,下面我们不失一般性地假设,则有以下不等式成立.

    又由于类簇的MKNN关系来自于它与间MKNN关系的并集,下面不等式成立.

    从式(2)和式(3)可以进一步得出

    证明结束.                                                                                  


    从定理1可以看出,当一直成立时,基于MKNN关系的相似性度量仍然满足单调递减特性.否则,类簇和任意其他类簇间的相似性有可能大于上一轮合并时的最大相似性值.这使得聚类结果所构建的系统树图中较低层次节点的相似度有可能比较高层次的相似度要小.然而,我们在下面的推论中将证明系统树图中相邻层次的类间相似性差异仍然满足一定的比例上限。

    推论1. 在定理1给定的条件下,下面的不等式成立

     

    证明:根据式(3),下面的不等式成立

    又因为类簇,间的相似度满足当前最大值,所以有

    结合定理1中式(1)的结论,下面的不等式成立

    证明结束.                                                                                  


    由于我们所提出的相似性度量并不严格满足超度量特性,因而它具有聚类任意形状类簇的可能.推论1的结论表示系统树图中任意节点合并时的相似度最多为其父节点相似度的两倍,这为系统树图中不同层次节点的相似度差异提供了一定的理论上限,从而较大程度地保证了系统树图结构仍然能够合理地表达出类簇间的真实距离.下面的定理进一步证明了这一弱单调递减特性的传递性.

    定理2. 给定数据集和较小正整数,当合并聚类过程中类簇及其合并后的新类簇分别连续与类簇发生合并后,最终的合并结果满足

              

    其中,类簇是上述类簇以外的任意其他类簇.

    证明:根据定理1中式(1)的结论,下面的不等式成立


    其中.当合并聚类过程中满足相似性值最大的条件而发生合并时,下面的不等式继续成立.

    按照上述推导方式逐次进行合并,最终的合并结果即满足

    证明结束.                                                                                  

    类似的,下面的推论说明采用上述相似度定义所构建的系统树图中,较低层次节点的类间相似度与较高层次的相似度差异也满足一定的比例上限.

    推论2. 在定理2给定的条件下,下面的不等式成立

    证明:与推论1的证明过程类似,略.                                                         

    推论2表明系统树图中自下而上第i层节点合并时的相似度与第i + r层节点的相似度最多相差倍.从而说明我们所提出的相似性度量能够在聚类任意形状类簇的同时,仍然满足整体上的合理差异上限.第五节中的实验结果表明,这样的系统树图结果具有较高的聚类质量。



    网易云产品免费体验馆,无套路试用,零成本体验云计算价值。  

    本文来自网易实践者社区,经作者潘胜一授权发布

    更多网易研发、产品、运营经验分享请访问网易云社区


    相关文章:
    【推荐】 认识用户访谈
    【推荐】 Question|网站被黑客扫描撞库该怎么应对防范?
    【推荐】 JVM锁实现探究2:synchronized深探

  • 相关阅读:
    Delphi集合的用法
    文字倒序输出(集合)
    如果知道两点的经纬度 如何算两点之间的距离
    Arcengine 开发完后,程序打包,在目标机器上不能使用 已解决
    arcengine License部署
    设置代理
    关于GPS坐标转换的学习笔记相当头疼
    ArcEngine 相关转载
    经纬度到平面坐标的相互转换
    用ArcEngine9.3开发GIS应用程序图层符号化解决方案
  • 原文地址:https://www.cnblogs.com/zyfd/p/9662174.html
Copyright © 2011-2022 走看看