**:scan: a structural clustering algorithm for networks
該演算法針對的是無向無權圖
如圖,節點0和節點5的鄰居點集分別是和,有4個共同的鄰居,聯絡較大
節點9和節點13,鄰居點集都是,2個共同鄰居,聯絡不大
節點6慘兮兮,雖然位於中間,但是都與他聯絡不大
綜上,6是橋節點(hub),13是離群點(outlier),其餘點構成兩個集群(應該能看出來)
概念:
1.節點相似度
節點相似度定義為兩個節點共同鄰居的數目與兩個節點鄰居數目的幾何平均數的比值(這裡的鄰居均包含節點自身)。
2. ϵ - 鄰居
節點的 ϵ - 鄰居定義為 與其相似度不小於 ϵ 的鄰居節點所組成的集合。
3.核節點
核節點是指 ϵ 鄰居的數目大於 μ 的節點。
4.直接可達
節點 w 是核節點v的ϵ-鄰居,那麼稱從 v 直接可達 w.
5.可達
節點 v 可達 w ,當且僅當存在乙個節點鏈 v1,…,vn∈v,v1=v,vn=w,使得 vi+1 是 從vi 直接可達的
6.相連
若核節點u可達節點v和節點w,則稱節點v和節點w相連.
7.相連聚類
如果乙個非空子圖c中的所有節點是相連的,並且c是滿足可達的最大子圖,那麼稱c是乙個相連聚類
8.橋節點
與至少兩個聚類相鄰的孤立節點
9.離群點
只與乙個聚類相鄰或不與聚類相鄰的孤立節點
10.引理1
如果 v 是乙個核節點,那麼從 v 可達的節點集是乙個結構相連聚類
11.引理2
c是乙個結構相連聚類, p 是 c 中的乙個核節點。那麼 c 等於從 p 結構可達的節點集。
具體演算法:
首先,對每個未分配集群的節點,判斷它是否為核節點
是核節點的話,擴充套件乙個新聚類(得到乙個新的集群號)
對於該核節點的ϵ -鄰居中的每個節點,找其直接可達的節點
對於直接可達的節點,判斷是否未分類或non-member
是的話,則分配到這個集群中
不是核節點,則標記為non-member
對於所有為non-member的節點
如果該節點連線兩個不同的集群,則是hub
否則是outlier
end參考部落格:
SCAN 一種網路結構聚類演算法
一 scan演算法簡介 scan演算法是由機器學習裡的基於密度的聚類演算法dbscan改進而來的一種非重疊社團發現演算法,具有線性時間複雜度。其一大亮點在於能發現社團中橋節點 hub 和離群點 outlier 由圖可知,節點0 5共享了4個節點,節點9 13只共享了2個節點,顯然它們在聚類是應採取不...
一種新的矩形聚類演算法
一種新的矩形聚類演算法 聚類,是資料探勘一種重要的手段,通常所見到的聚類,大都是多維向量點 基於距離的聚類演算法,比如 k means 密度聚類等。本文所討論的是擴充套件物件的聚類,與多維向量點聚類有著明顯的差別,擴充套件物件是非點的物件,延用多維向量點之間的距離是無法準確表達擴充套件物件之間的聚合...
一種基於密度峰值的聚類演算法
2014年science刊發了一篇標題為clustering by fast search and find of density peaks的文章,文章中介紹了一種基於密度峰值的聚類演算法。傳統的聚類演算法k means,通常不適用於非球形的簇。這裡所謂的球形簇是根據k means演算法基本原理得...