LMF演算法學習筆記

籃砂石發表於2020-11-08

 

社群發現的目標是在以社交網路為代表的複雜網路中發 現網路的模組結構特性,一個社群代表了一個節點的聚簇. 由於實際中不同社群之間可能共享某些節點,重疊社群發現 演算法的目標是能夠在複雜網路中發現重疊的社群. 重疊社 區 發 現 算 法 的 一 個 典 型 代 表 是 LMF 方 法[14]. LMF的基本思想是迭代地從不同的種子節點出發,以貪婪的 方式檢測社群.LMF在一次迭代過程中從不屬於任何社群 的節點中隨機選擇種子,並且為了確定某一節點是否屬於當 前社群,使用式(1)來度量社群中節點相對於社群的適應度 之和.

其中,kin和kout是社群中節點的內部度(與社群內部節點的連 接數量)和外部度(與社群外部節點的連線數量);α是正實 數,用於控制社群大小,α越小,社群越大. 基於該度量方法,LMF在檢測過程中迭代地評估已經在 社群中的節點的所有鄰居節點,找到其中加入社群時能夠增 加社群適應度的節點,並且選擇其中的最佳貢獻者加入到社 區中.一旦新增新節點,LMF再次評估社群中已經存在的節 點對社群適應度的貢獻,並移除貢獻度為負的節點,即排除該 節點能夠增加社群適應度.當所有鄰居的貢獻度為負時,對 一個社群的貪婪發現就此結束.當網路中的所有節點都已分 配社群時,整個社群發現過程將停止.

 

有結點A和無結點A適應度變化量:

 

發現結點A的自然群落演算法步驟(假設A在G中):

1.在G的所有鄰居節點(鄰居結點不在G內)上執行迴圈

2.將適應度最大的鄰居結點加在G上,活得新的G

3.重新計算G中每個結點的適應度

4.如果一個結點的適應度為負,則從G中刪除,生成一個新的G

5.如果4發生,重複第三步,否則從1重複

當步驟1中的所有都有負適應度時,程式結束。

這個過程對應於適應度函式的一種貪婪優化,因為在每次移動時,都要尋找可能的最大增長

 

自然群落的發現方法:

1.隨機選取結點A

2.檢測A的自然群落

3.隨機選取一個尚未分配到任何組的結點B

4.檢測結點B的自然群落,探測所有結點,不考慮他們可能屬於其他組

5.重複步驟3

當所有結點被分配到至少一個組時,演算法停止。

參考文獻:

1. 劉 春 張國良,一種基於重疊社群發現的軟體特徵提取方法

 

相關文章