层次聚类方法--BIRCH

姓名:梁祥        学号:17021210935

【嵌牛导读】:层次聚类方法作为一种能够在一定程度上将聚类过程显化的聚类方法,在很多时候都能大显身手,因此在这里介绍一下层次聚类方法的主要思想,并以BIRCH算法为例进行了详细分析。

【嵌牛鼻子】:层次聚类,BIRCH

【嵌牛提问】:层次聚类过程中,从头到脚与自下而上有区别吗?在聚类的过程中数据是怎么慢慢分散或者逐渐聚拢的呢?

【嵌牛正文】:

一、层次聚类

层次的聚类方法将数据对象组成一棵聚类的树。根据层次分解是底向上, 还是自顶向下形成, 层次的聚类方法可以进一步分为凝聚的(agglomerative)和分裂的(divisive)层次聚类。

凝聚的和分裂的层次聚类图示:

层次聚类的主要缺点:

不具有很好的可伸缩性:时间复杂性至少是平方级;合并和分裂的决定需要检查和估算大量的对象或簇;不能撤销已做的处理,聚类之间不能交换对象。如果某一步没有很好地选择合并或分裂的决定,可能会导致低质量的聚类结果。该算法的特点是能利用有限的内存资源完成对大数据集的高质量的聚类,同时通过单遍扫描数据集能最小化I/O代价。

二、 改进层次方法的聚类质量的方法:

将层次聚类和其他的聚类技术进行集成, 形成多阶段聚类。其中,BIRCH方法使用CF-tree对对象进行层次划分,然后采用其他的聚类算法对聚类结果进行求精。

2.1 两个重要的概念:

聚类特征(Clustering Feature,CF)

聚类特征树(Cluttering Feature Tree,CF树)

2.2 聚类特征

聚类特征(CF)是一个三元组,给出对象子类的信息的汇总描述。

设某个子类中有N个d维的点或对象,则该子类的CF定义如下:

其中,N表示数据点数目,LS表示全体数据的和,SS表示全体数据的平方和。从统计学的观点来看,聚类特征是对给定子类统计汇总: 子聚类的0阶, 1阶和 2阶矩。记录了计算聚类和有效利用存储的关键度量, 并有效地利用了存储,因为它汇总了关于子类的信息,而不是存储所有的对象。

2.3 聚类特征树

CF 树是高度平衡的树,它存储了层次聚类的聚类特征。树中的非叶节点有后代或“孩子”,非叶节点存储了其孩子的CF的总和,即汇总了关于其孩子的聚类信息。CF树有两个参数 ----影响CF树的大小:分支因子B,定义非树叶节点的孩子的最大个数;阈值T:,给出了存储在树的叶子节点中的子类的最大直径。

CF tree的结构类似于一棵B-树,它有3个参数:内部节点平衡因子B,叶节点平衡因子L,簇直径阈值T。树中每个Nlonleaf节点最多包含B个孩子节点,Leaf最多只能有L个MinCluster(初始划分子簇),而一个MinCluster的直径不能超过T。

CF树构造过程:

(1)从根节点开始,自上而下选择最近的孩子节点;

(2)到达叶子节点后,检查最近的元组CFi能否吸收此数据点;

    是,更新CF值;

    否,是否可以添加一个新的元组;

        是,添加一个新的元组;

        否则,分裂最远的一对元组,作为种子,按最近距离重新分配其它元组;

(3)更新每个非叶节点的CF信息,如果分裂节点,在父节点中插入新的元组,检查分裂,直到root。

算法起初,我们扫描数据库,拿到第一个data point instance--(1,2,3),我们创建一个空的Leaf和MinCluster,把点(1,2,3)的id值放入Mincluster,更新MinCluster的CF值为(1,(1,2,3),(1,4,9)),把MinCluster作为Leaf的一个孩子,更新Leaf的CF值为(1,(1,2,3),(1,4,9))。实际上只要往树中放入一个CF(这里我们用CF作为Nonleaf、Leaf、MinCluster的统称),就要更新从Root到该叶子节点的路径上所有节点的CF值。

当又有一个数据点要插入树中时,把这个点封装为一个MinCluster(这样它就有了一个CF值),把新到的数据点记为CF_new,我们拿到树的根节点的各个孩子节点的CF值,根据D2来找到CF_new与哪个节点最近,就把CF_new加入那个子树上面去。这是一个递归的过程。递归的终止点是要把CF_new加入到一个MinCluster中,如果加入之后MinCluster的直径没有超过T,则直接加入,否则譔CF_new要单独作为一个簇,成为MinCluster的兄弟结点。插入之后注意更新该节点及其所有祖先节点的CF值。

插入新节点后,可能有些节点的孩子数大于了B(或L),此时该节点要分裂。对于Leaf,它现在有L+1个MinCluster,我们要新创建一个Leaf,使它作为原Leaf的兄弟结点,同时注意每新创建一个Leaf都要把它插入到双向链表中。L+1个MinCluster要分到这两个Leaf中,怎么分呢?找出这L+1个MinCluster中距离最远的两个Cluster(根据D2),剩下的Cluster看离哪个近就跟谁站在一起。分好后更新两个Leaf的CF值,其祖先节点的CF值没有变化,不需要更新。这可能导致祖先节点的递归分裂,因为Leaf分裂后恰好其父节点的孩子数超过了B。Nonleaf的分裂方法与Leaf的相似,只不过产生新的Nonleaf后不需要把它放入一个双向链表中。如果是树的根节点要分裂,则树的高度加1。

重建过程从旧树的叶子节点建造一个新树。这样,重建树的过程不需要重读所有的对象 ----建树只需读一次数据。在阶段三和四采用任何聚类算法,例如典型的划分方法。

2.3 BIRCH的性能

支持增量聚类:(1)因为它对每一个数据点的聚类的决策都是基于当前已经处理过的数据点,而不是基于全局的数据点。(2)线性可伸缩性: 计算复杂性O(n), 单遍扫描, 附加的扫描可以改善聚类质量。(3)具有较好的聚类质量。

2.4 缺点

(1)只能处理数值数据;(2)对数据的输入次序敏感;(3)CF树结点不总是对应于[用户考虑的]自然簇(参数B和T);(4)簇非球形时效果不好(使用半径/直径控制簇边界).

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容

  • Birch层次聚类算法 标签(空格分隔): CF树建立 主要借鉴的网文地址,并进行大量引用:【非常浅显易懂】htt...
    AresAnt阅读 1,417评论 0 1
  • 前言 其实读完斯坦福的这本《互联网大规模数据挖掘》,让我感觉到,什么是人工智能?人工智能就是更高层次的数据挖掘。机...
    我偏笑_NSNirvana阅读 12,480评论 1 23
  • 1 聚类分析基本概念 聚类分析将数据划分成有意义或有用的簇。如果目标是划分成有意义的组,则簇应当捕获数据的自然结构...
    JasonDing阅读 2,590评论 0 13
  • 参考自初识聚类算法:K均值、凝聚层次聚类和DBSCAN,模糊聚类FCM算法。 聚类的目的 将数据划分为若干个簇,簇...
    胡哈哈哈阅读 4,110评论 0 16
  • 聚簇索引并不是一种单独的索引类型,而是一种数据存储方式。比如,InnoDB的聚簇索引使用B+Tree的数据结构存储...
    大头8086阅读 17,453评论 7 40