层次算法聚类(四)

Chameleon聚类算法:使用动态建模的多阶段层次聚类

  Chamelon算法是一种层次聚类算法,它采用动态建模来确定一对簇之间的相似度。在Chamelon算法中簇的相似度依据有如下两点评估:(1)簇中对象的连接情况。(2)簇的邻近性。即如果两个簇的互联性很高并且他们之间又靠的很近,那么就将其合并。

 

  (1)  Chamelon算法采用K-最近邻图的方法来构建稀疏图,,图的每一个顶点代表一个数据点,如果一个对象是另一个对象的K近邻,那么两个顶点之间存在一条边,边的权重反映相似度。(构建稀疏图

  (2)  Chamelon算法使用一种图划分算法,,把K-近邻图划分成大量相对较小的子簇,使得边割最小。如把簇C分割成Ci和Cj,使得Ci和Cj而被切断的边的权重之和最小,即它评估Ci和Cj的绝对互联性。(划分图

  (3)  Chamelon算法使用一种凝聚的层次聚类算法,其基于子簇的相似度反复的合并子簇。为了确定最相似的子簇对,它既考虑每个簇的互联性,又考虑簇的近邻性。更确切的说就是根据两个簇Ci和Cj的相对互联度RI和相对接近度RC来决定它们的相似度。(合并分区

 

  Ci和Cj的相对互联度RI:  EC(Ci,Cj)是包含Ci和Cj的边革。EC(Ci)/EC(Cj)为Ci/Cj划分为大致相等的两部分的割边的最小和。

  Ci和Cj的相对接近度RC: |Ci|为簇Ci内数据点的个数。

基本过程如图所示:

  合并过程算法:

  1、给定度量函数的上限minMetric,

  2、访问每个簇,计算他与邻近的每个簇的RCRI,通过度量函数公式计算出值tempMetric

  3、找到最大的tempMetric,如果最大的tempMetric超过阈值minMetric,将簇与此值对应的簇合并

  4、如果找到的最大的tempMetric没有超过阈值,则表明此聚簇已合并完成,移除聚簇列表,加入到结果聚簇中。

  5、递归步骤2,直到待合并聚簇列表最终大小为空。

  与一些著名的算法(如BIRCH和基于密度的DBSCAN算法)相比,Chamelon算法在发现高质量的任意形状的簇方面具有更强的能力。然而,在最坏的情况下,高维数据的处理代价可能需要On^2)时间。

  我对Chamolon算法的理解:将图论的内容引入到聚类中,将相似度作为边的权重,根据K-近邻来做出稀疏图,然后划分图,再合并。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值