一种高效的混合聚类算法

     聚类分析是数据挖掘中的重要任务,就是根据对象之间的相似度将对象划分为不同的组,使得同一组内的对象相似度最大化,而不同组内的对象相似度最小化的方法。聚类分析通常用于从大量数据中寻找隐含的数据分布和模式,既可以作为一个独立的工具来使用,也可以作为其它算法(如特征构造与分类等)的预处理步骤。聚类分析已得到广泛地研究,在文献中已有许多聚类算法,然而对于大规模数据集的高效聚类算法的研究仍然是一个充满挑战的问题。

     Chameleon算法是一种基于图的层次聚类算法,该算法利用基于图的方法得到的初始数据划分与一种新颖的层次聚类方案相结合,使用簇间的接近性和互连性概念以及簇的局部建模来高质量地发现具有不同形状、大小和密度的簇。Chameleon算法主要存在两方面的不足:(1) 只能处理数值属性数据;(2)时间复杂度为N平方 (N为记录总数),难以适用于大规模数据集。一趟聚类算法具有近似线性时间复杂度,但这一算法本质上是将数据划分为大小几乎相同的超球体,不能用于发现非凸形状的簇,或具有各种不同大小的簇。对于具有任意形状簇的数据集,算法可能将一个大的自然簇划分成几个小的簇,而难以得到理想的聚类结果。

     本文将两种方法的聚类思想结合起来,提出一种两阶段聚类算法。首先对Chameleon算法进行简单推广,使之可以处理含分类属性的数据,在此基础上,对Chameleon算法进一步改进。该算法第一阶段,使用一趟聚类算法对数据集进行初步划分,第二阶段,将第一阶段获得的结果中每个簇看成一个对象,利用改进的Chameleon算法对初始划分进行归并。这种两阶段聚类算法结合了两种聚类算法的优点,达到了优势互补的效果,不仅可以应用于大规模数据集,而且可以发现数据集中任意形状、大小和密度的簇,获得了很好的性能。

    将一趟聚类算法的高效性与Chameleon算法能发现任意形状、大小和密度的簇这个优点结合起来,提出一种两阶段聚类算法。第一阶段,使用一趟聚类算法对数据集进行初步划分,其作用是对原始数据进行压缩表示,将充分接近的对象作为一个整体对待;第二阶段,将第一阶段得到的划分中每个簇看成一个对象,利用Chameleon算法聚类,即使用Chameleon算法对第一阶段获得的聚类结果进行归并。

本文将一趟聚类算法聚类的高效性与Chameleon聚类算法能发现任意形状、大小和密度的数据的优点有机地结合起来,得到一种新的混合聚类算法,不仅可以处理含分类属性的数据,而且能发现任意形状、大小和密度的数据,算法具有近似线性时间复杂度,可以处理大规模高维数据集。实验结果表明,与同类算法相比,在数据类型的适应性、聚类效率及精度方面,本文算法有明显优势。
    类似于Chameleon算法,本文算法第二阶段的合并决策也是最终的,一旦做出合并两个簇的决策,以后就不能撤销,这样就阻碍了局部最优标准变成全局最优标准。本文没有研究第二阶段的图划分阈值选择问题,这将是我们下一步需要研究解决的问题。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值