1. 程式人生 > >社團發現演算法分類及簡介

社團發現演算法分類及簡介

相關概念

複雜網路:具有自組織、自相似、吸引子、小世界、無標度中部分或全部性質的網路稱為複雜網路。

社團結構:網路中的頂點可以分成組,組內頂點間的連線比較稠密,組間頂點的連線比較稀疏。

演算法分類

1. 非重疊社團發現演算法

1.1 模組度優化演算法

模組度:取值範圍[-0.5, 1), 用它來定量衡量網路社區劃分質量,其值接近1,表示劃分質量越好。

模組度優化類演算法分類:

聚合:FN、CNM、MSG-MV

分裂:GN

直接尋優:EO

Newman快速演算法:

將每個節點看作是一個社團,每次迭代選擇產生最大Q值的兩個社團合併,直到整個網絡合併成一個社團。在整個過程中選擇模組度最大的劃分得到最終的社團結構。

CNM演算法:

在Newman快速演算法的基礎上採用堆資料結構計算和更新網路的模組度,提升了計算速度。

MSG-MV演算法:

在Newman快速演算法的基礎上,引入多步擴充套件,每一次迭代過程中可以合併多對社團以避免過早地收縮到少數較大的社團。

GN演算法:

依次刪除網路中邊介數(網路中經過每條邊的最短路徑數)最大的邊,直至每個節點單獨退化為社團,在整個刪除過程中選取對應模組度Q值最大時的結果。

缺點:計算複雜度高,O(n3)。

EO演算法:

將每個節點對模組度Q值貢獻大小定義為區域性變數,然後在隨機初始劃分的基礎上,通過貪婪策略調整區域性變數(具有最小貢獻度的變數)來提高全域性目標函式Q值。

評價:

模組度優化演算法無法發現小於一定粒度的社團,尤其在大規模網路中,社團大小不一,該問題尤為突出;模組度計算的複雜性決定了此類方法的計算複雜性高,不適合大規模網路中的社團劃分。

1.2 基於譜分析的社團發現演算法

思想:

利用圖的鄰接矩陣和對角矩陣將圖用特定矩陣表示出來,如圖的拉普拉斯矩陣L=D-W,D為以每個節點的度為對角元的對角矩陣,W為圖的鄰接矩陣。同一社團的節點對應的特徵分量近似相等,這是譜分析方法實現社團發現的理論基礎。將節點對應的矩陣特徵分量看作空間座標,將網路中的節點對映到多維特徵向量空間中,用傳統的聚類方法將節點聚類成社團。

評價:

因為需要計算矩陣特徵值,計算開銷大;但是因為將問題轉化為尤拉空間的向量聚類問題,可以採用此領域的眾多方法進行聚類,靈活性大。

1.3 基於標號傳播的社團發現演算法

思想:

首先為每個節點指派唯一的標號,在每一步迭代中,每個節點將自己的標號更新為其鄰居節點中出現次數最多的標號,若存在多個相同的最多標號,隨機選擇一個作為更新值,若干次迭代後密集相連的節點會收斂於同一標號,具有相同標號的節點歸為一個社團。

評價:

LPA演算法的優點在於不需要任何引數輸入,而且演算法具有線性時間複雜度,收斂速度非常快,適用於規模較大的複雜網路。

2. 重疊社團發現演算法

2.1 基於團滲透改進的重疊社團發現

思想:

社團是由一系列相互可達的k-團(大小為k的完全子圖)組成,通過合併相鄰的k-團實現社團發現。

快速團滲透演算法:

1.      將網路的邊按順序(權值大小)插入到網路中,同時檢測出現的k-團

2.      將檢測到的k-團根據是否與已有k-社團近鄰,併入k-社團形成新的k-社團。

評價:

基於團滲透思想的演算法需要以團為基本單位來發現重疊,這對於真實網路,特別是稀疏網路而言條件過於嚴格,只能發現少量的重疊社團。

2.2 基於種子擴散思想的重疊社團發現

思想:

以具有某種特徵的子網路為種子,通過合併、擴充套件等操作向鄰接節點擴充套件,直至獲得評價函式最大的社團。

LMF演算法:

定義兩個適應度函式:社團的適應度和節點對社團的適應度。以單個節點v為初始社團g,考慮與其相鄰的節點a,將對其適應度最大的鄰節點加入到當前社團形成g’,重新計算g’中各節點的適應度,將適應度為負的節點剔除,重複上述過程直到擴充套件後的社團其鄰節點對它的適應度均為負。最終由擴充套件得到的若干個區域性社團生成整個網路的覆蓋,得到網路的社團劃分結果。

評價:

演算法的社團劃分結果取決於種子選擇策略和擴充套件評價函式,常用的種子包括單一節點、子圖。擴充套件評價函式的設定也比較靈活,有較大的提升空間。

2.3 基於邊聚類的重疊社團發現

思想:

將原網路轉換為加權線圖,原網路中的邊對映為線圖中的節點,線圖中的節點存在邊當且僅當原網路中所對應的邊存在共享節點。通過對網路的轉換,可以直接應用非重疊社團發現演算法檢測原網路中的重疊社團。

評價:

巧妙地將重疊社團檢測問題轉化為非重疊社團檢測問題,可以應用非重疊社團檢測的若干方法。