社區發現算法總結(二)


派系過濾CPM方法(clique percolation method)用於發現重疊社區,派系(clique)是任意兩點都相連的頂點的集合,即完全子圖。


在社區內部節點之間連接密切,邊密度高,容易形成派系(clique)。因此,社區內部的邊有較大可能形成大的完全子圖,而社區之間的邊卻幾乎不可能形成較大的完全子圖,從而可以通過找出網絡中的派系來發現社區。

k-派系表示網絡中含有k個節點的完全子圖,如果一個k-派系與另一個k-派系有k-1個節點重疊,則這兩個k-派系是連通的。由所有彼此連通的k-派系構成的集合就是一個k-派系社區。

由所有彼此連通的k-派系構成的集合就是一個k-派系社區。

網絡中會存在一些節點同時屬於多個k-派系,但是它們所屬的這些k-派系可能不相鄰,它們所屬的多個k-派系之間公共的節點數不足k-1個。這些節點同屬的多個k-派系不是相互連通的,導致這幾個k-派系不屬於同一個k-派系社區,因此這些節點最終可以屬於多個不同的社區,從而發現社區的重疊結構。

所以CPM算法的過程是首先尋找網絡中極大的完全子圖(maximal-cliques),然后利用這些完全子圖來尋找k-派系的連通子圖(即 k-派系社區),不同的k值對應不同的社區結構。找到所有的k-派系之后,可以建立這些派系的重疊矩陣(clique overlap matrix)。在這個對稱的矩陣中,每一行(列)代表了一個派系,矩陣中的非對角線元素代表兩個連通派系中共享的結點的數目。對角線元素代表派系的規模。將小於k-1的非對角線元素置為0,小於k的對角線元素置為1,得到k-派系連接矩陣,每個連通部分構成了一個k-派系社區。

由於k是個輸入參數值,從而k的取值將會影響CMP算法的最終社區發現結果,當k取值越小社區將會越大,且社區結構為稀疏。但是實驗證明k的取值影響不是很大,一般k值為4到6。然而,由於該算法是基於完全子圖,因此CPM比較適用於完全子圖比較多的網絡,即邊密集的網絡,對於稀疏網絡效率將會很低,且該算法還無法分配完全子圖外的頂點。CPM的效率取決於尋找所有極大完全子圖的效率,盡管尋找所有極大完全子圖是NP完全問題,但在真實網絡上是非常快的。

如何尋找極大完全子圖?

極大完全子圖是不能在擴展的,那么首先隨機選取種子節點,然后在種子節點周圍擴展成完全子圖,如果這個完全子圖不能再被擴展,那么我們就找到了極大完全子圖。但是這種方式可能會將同一個極大完全子圖產生多次。

下面給出尋找某個點a極大完全子圖Q的算法,主要思想是如果x是在Q里,那么它一定是a的鄰居。

參考資料:

Social and Information Network Analysis Jure Leskovec, Stanford University

標簽傳播算法

標簽傳播算法基本思想是通過標記節點的標簽信息預測未標記節點的標簽情況。節點之間的標簽傳播主要依照標簽相似度進行,在傳播過程中,未標記的節點根據鄰接點的標簽情況來迭代更新自身的標簽信息,如果其鄰接點與其相似度越相近,則表示對其所標注的影響權值就越大,鄰接點的標簽就更容易進行傳播。

基於標簽傳播的非重疊社區發現算法LPA

LPA主要思想是起初每個節點擁有獨立的標簽,那么網絡中有n不同標簽,每次迭代中對於每個節點將其標簽更改為其鄰接點中出現次數最多的標簽,如果這樣的標簽有多個,則隨機選擇一個。通過迭代,直到每個節點的標簽與其鄰接點中出現次數最多的標簽相同,則達到穩定狀態,算法結束。此時具有相同標簽的節點即屬於同一個社區。

LPA算法執行步驟:

利用igraph,給出LPA的R代碼

> library('igraph')
> karate  <-  graph.famous("Zachary")
> community <- label.propagation.community(karate)
> modularity(community)
[1] 0.3717949
> membership(community)
 [1] 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2
> plot(community,karate) 



基於標簽傳播的重疊社區發現算法COPRA

LPA算法雖然有很多優勢,但無法發現重疊社區結構。對此,基於LPA算法,引入了新的標簽結構(c,b),其中,c表示社區標識符,b表示節點x在社區c中的從屬系數,且0≤b≤1。頂點x的所有從屬系數之和等於1,通過bt(c,b)表示迭代次數t時的頂點x對於社區c的從屬系數,N(x)表示頂點x的鄰接頂點集。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM