在K-Means聚類(lèi)算法原理中,我們講到了K-Means和Mini Batch K-Means的聚類(lèi)原理。這里我們?cè)賮?lái)看看另外一種常見(jiàn)的聚類(lèi)算法BIRCH。BIRCH算法比較適合于數(shù)據(jù)量大,類(lèi)別數(shù)K也比較多的情況。它運(yùn)行速度很快,只需要單遍掃描數(shù)據(jù)集就能進(jìn)行聚類(lèi),當(dāng)然需要用到一些技巧,下面我們就對(duì)BIRCH算法做一個(gè)總結(jié)。
1. BIRCH概述
BIRCH的全稱(chēng)是利用層次方法的平衡迭代規(guī)約和聚類(lèi)(Balanced Iterative Reducing and Clustering Using Hierarchies),名字實(shí)在是太長(zhǎng)了,不過(guò)沒(méi)關(guān)系,其實(shí)只要明白它是用層次方法來(lái)聚類(lèi)和規(guī)約數(shù)據(jù)就可以了。剛才提到了,BIRCH只需要單遍掃描數(shù)據(jù)集就能進(jìn)行聚類(lèi),那它是怎么做到的呢?
BIRCH算法利用了一個(gè)樹(shù)結(jié)構(gòu)來(lái)幫助我們快速的聚類(lèi),這個(gè)數(shù)結(jié)構(gòu)類(lèi)似于平衡B+樹(shù),一般將它稱(chēng)之為聚類(lèi)特征樹(shù)(Clustering Feature Tree,簡(jiǎn)稱(chēng)CF Tree)。這顆樹(shù)的每一個(gè)節(jié)點(diǎn)是由若干個(gè)聚類(lèi)特征(Clustering Feature,簡(jiǎn)稱(chēng)CF)組成。從下圖我們可以看看聚類(lèi)特征樹(shù)是什么樣子的:每個(gè)節(jié)點(diǎn)包括葉子節(jié)點(diǎn)都有若干個(gè)CF,而內(nèi)部節(jié)點(diǎn)的CF有指向孩子節(jié)點(diǎn)的指針,所有的葉子節(jié)點(diǎn)用一個(gè)雙向鏈表鏈接起來(lái)。
有了聚類(lèi)特征樹(shù)的概念,我們?cè)賹?duì)聚類(lèi)特征樹(shù)和其中節(jié)點(diǎn)的聚類(lèi)特征CF做進(jìn)一步的講解。
2. 聚類(lèi)特征CF與聚類(lèi)特征樹(shù)CF Tree
在聚類(lèi)特征樹(shù)中,一個(gè)聚類(lèi)特征CF是這樣定義的:每一個(gè)CF是一個(gè)三元組,可以用(N,LS,SS)表示。其中N代表了這個(gè)CF中擁有的樣本