BIRCH算法
来源:互联网 发布:网络机顶盒哪里有卖 编辑:程序博客网 时间:2024/06/06 20:37
- 概念
- 聚类特征CF
- 聚类特征树CF tree
- 算法流程
- 优缺点
- 参考
概念
BIRCH算法的全称是Balanced Iterative Reducing and Clustering Using Hierarchies,即利用层次方法的迭代归约和聚类。它的主要思想是建立一棵B树,原始数据存放在叶子节点中,并根据聚类个数和其它参数的设置放在不同的叶子节点中。
聚类特征CF
聚类特征CF是BIRCH算法最核心的概念,它是多个数据点的结合表示,是一个三元组
比如有3个点
CF的一个特性是相加性,比如有两个CF,
下面再介绍四个概念,分别是簇质心
聚类特征树CF tree
聚类特征树类似于B-树,它有3个参数:内部节点平衡因子B,叶节点平衡因子L,CF阈值T。其中B的意思是内部节点数要小于等于B,否则要分裂;L的意思是叶子节点数要小于等于L,否则要分裂;T是指示CF是否吸收新数据的阈值。如下图所示,这棵CF树是B为6,L为5,高度为3。我们要建立的最终的CF树就如图所示。
最终的数据点都在叶子节点的CF中,可以看出这极大的压缩了数据,节省了存储空间和减少了IO操作,但是数据本身的特征缺丢失了。这三个参数会决定树的规模,BIRCH就是通过调整这三个参数是数据得以在有限的内存中放下。
算法流程
以B=2,L=3为例说明算法执行过程。
(1) CF树还没有开始建立,新来的数据点是第一个点,那么就建立一个根节点和叶子节点,这时根节点是就只有一个CF,叶节点只有一个且只有一个CF;
(2)当又一个新的点new_CF要加入时,需要自上而下比较每一层的CF,选择每层中最近的那个CF,一直到叶子节点,选择出与new_CF最近的簇try_CF,最后,如果new_CF与try_CF的距离小于T则加入,如下图中的A过程所示,否则新建立一个CF,如下图B过程所示,如果叶子点数>L,则向上分裂,如果内部节点>B就继续向上分裂,如图中的过程C所示,一直分裂到根节点就会使得树高度加1。
优缺点
优点主要有:
- 节省空间,减少了IO操作,因为CF的表示方式极大的压缩了数据,通过调节参数可以有效利用内存。
- 快。合并两个两簇只需要两个CF算术相加即可;计算两个簇的距离只需要用到(N,LS,SS)这三个值足矣。
- 一遍扫描数据库即可建立B树。
- 可识别噪声点。建立好B树后把那些包含数据点少的CF当作outlier。
- 由于B树是高度平衡的,所以在树上进行插入或查找操作很快。
缺点主要有:
- 结果依赖于数据点的插入顺序。本属于同一个簇的点可能由于插入顺序相差很远而分到不同的簇中,即使同一个点在不同的时刻被插入,也会被分到不同的簇中。
- 对非球状的簇聚类效果不好。这取决于簇直径和簇间距离的计算方法。 对高维数据聚类效果不好。
- 由于每个节点只能包含一定数目的子节点,最后得出来的簇可能和自然簇相差很大。
- BIRCH适合于处理需要数十上百小时聚类的数据,但在整个过程中算法一旦中断,一切必须从头再来。
- 局部性也导致了BIRCH的聚类效果欠佳。当一个新点要插入B树时,它只跟很少一部分簇进行了相似性(通过计算簇间距离)比较,高的efficient导致低的effective。
参考
http://www.cnblogs.com/zhangchaoyang/articles/2200800.html
http://blog.csdn.net/qll125596718/article/details/6895291
- BIRCH算法
- BIRCH算法
- BIRCH算法
- BIRCH算法学习
- Birch聚类算法
- BIRCH算法学习
- BIRCH算法学习
- BIRCH算法学习
- BIRCH算法学习
- BIRCH算法(Java实现)
- BIRCH算法(Java实现)
- 关于聚类算法BIRCH
- 聚类算法birch详解
- BIRCH聚类算法原理
- 关于聚类算法-BIRCH算法的详细解析
- 聚类算法之BIRCH(Java实现)
- 聚类算法之BIRCH(Java实现)
- 聚类算法之BIRCH(Java实现)
- Android基础知识
- HDU1200
- Linux系统中redis安装配置详解
- 从零开始学C++之对象的使用(一):static 成员变量、static 成员函数、类/对象的大小
- 工程管理之makefile与自动创建makefile文件过程
- BIRCH算法
- 161024
- haproxy 配置文件说明
- JavaScript eval函数介绍
- JAVA面试(一)
- Lua获取当前时间
- 关于任务栈返回设置的问题
- HDU1262
- leetCode练习(94)