Birch算法介绍

本文详细介绍了Birch算法的工作原理,包括其基本思想、聚类特征CF和CF树的构建,以及算法流程的优化。实验部分探讨了簇数、CF半径阈值和节点CF个数对算法性能的影响,并提供了优化建议。

目录

前言

一、Birch算法基本思想

二、聚类特征CF和CF 树

1.聚类特征CF 

2.CF tree

3.CF tree 的生成

 三、Birch算法流程

1.birch算法的优化

 2.算法优缺点

 四、算法实验实例

 1、研究不指定簇数的情况下,Birch算法的聚类情况

2、研究聚类簇数对Birch算法的影响 

 3、研究CF半径阈值对Birch算法的影响

 4、研究每个节点内最大CF个数对Birch算法的影响

  实验总结

参考文献


前言

 聚类算法中的层次聚类方法是一种已得到广泛使用的经典方法,是通过将数据对象组织成若干组并形成一个相应的树来进行聚类。Birch算法就是一种基于层次聚类的方法,所以我们在本文介绍一下Birch算法


一、Birch算法基本思想

 BIRCH(Balanced Iterative Reducing and Clustering Using Hierarchies)全称是:利用层次方法的平衡迭代规约和聚类。定义很长,但是其实只要明白它是用一棵树来聚类和规约数据就可以了

 先让我们看看CF tree长什么样,如上图所示, BIRCH算法利用了一个树结构来帮助我们快速的聚类,这个数结构类似于平衡B+树,一般将它称之为聚类特征树(Clustering Feature Tree,简称CF Tree)。这颗树的每一个节点是由若干个聚类特征(Clustering Feature,简称CF)组成。从左图我们可以看看聚类特征树是什么样子的:每个节点包括叶子节点都有若干个CF,而内部节点的CF有指向孩子节点的指针,所有的叶子节点用一个双向链表链接起来。

二、聚类特征CF和CF 树

1.聚类特征CF 

如果某个簇包含N个d维的数据对象{o1,o2,…,oN},则聚类特征定义为一个三元组CF=(N,LS,SS)。其中LS是N个对象的线性和,SS是N个对象的平方和,即: 

 聚类特征概括了对象簇的信息,在BIRCH算法中做聚类决策所需要的度量值,如簇的质心、半径、直径、簇间质心距离和平均簇间距离等都可以通过聚类特征CF计算出来。

质心计算公式:

 半径计算公式:

 所以我们可以看到,其实聚类特征是包含了这个簇的很多信息,但是它却不需要全部存储下来,只需要一个简单的三元组就可以囊括了这个簇的所有信息,使得内存占用空间大大减少。

举个例子如图,在CF Tree中的某一个节点的某一个CF中,有下面5个样本(3,4), (2,6), (4,5), (4,7), (3,8)。则它对应的N=5, LS=(3+2+4+4+3,4+6+5+7+8)=(16,30), SS=(3²+2²+4²+4²+3²+4²+6²+5²+7²+8²)=(54+190)=244 

2.CF tree

  CF有一个很好的性质,就是满足线性关系,也就是CF1+CF2=(N1+N2,LS1+LS2,SS1+SS2)。这个性质从定义也很好理解。如果把这个性质放在CF Tree上,也就是说,在CF Tree中,对于每个父节点中的CF节点,它的(N,LS,SS)三元组的值等于这个CF节点所指向的所有子节点的三元组之和。

 从上图中可以看出,根节点的CF1的三元组的值,可以从它指向的6个子节点(CF7 - CF12)的值相加得到。这样我们在更新CF Tree的时候,只需要进行简单的加减操作,可以很高效的进行聚类。

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值