一種分層遞階的多粒度社團發現方法
【技術領域】
[0001] 本發明屬于復雜網絡技術,具體地說是一種分層遞階的多粒度社團發現方法。
【背景技術】
[0002] 經對網絡性質的物理意義和數學特性的深入研究,學者們發現許多實際網絡中都 存在著社團結構,即整個網絡由若干個社團構成。社團結構是指整個網絡由若干個社團構 成,社團內的節點連接相對稠密、而社團間的節點連接相對稀疏。近幾年,為了尋找復雜網 絡中的社團結構,研究者們從不同的角度對網絡的社團劃分進行了研究,其中部分研究發 現網絡中存在分層遞階的社團結構,即大社團中包含小社團。為發現分層遞階的社團結構, 研究者們提出了 2類層次聚類算法:凝聚法和分裂法。
[0003] 現有技術中的凝聚式層次聚類方法,其基本步驟如下:1)假設給定N個節點,將每 個節點歸為一粒子,構建N個粒子間NXN的相似度矩陣;2)遍歷相似度矩陣,選擇相似度 最高的兩個粒子合并,于是總的粒子數少了一個;3)計算新的粒子與所有原粒子之間的相 似度,更新相似度矩陣;4)不斷重復2)~3),直到最終得到一個包含N個對象的粒子。利用 此聚類過程,可以建立所有對象之間的層次關系且每層存在粒度不同的粒子。典型的代表 算法有單連接 single-linkage、全連接 complete-linkage 和平均連接 average-linkage, 這些方法的共同點在于每次選兩個最相似的粒子合并,只是在計算合并后的粒子與原粒子 間相似度時有差異。
[0004] 這些傳統的凝聚式層次聚類方法雖然具有廣泛的應用,但這些方法仍存在一些問 題:1)每次都是只選擇兩個具有最高相似度的粒子進行合并;若存在兩個或兩個以上具有 最高相似度的粒子對時,選擇粒子對進行合并的順序會對最終的社團劃分結果產生影響。 2)每次合并后均需重新計算合并后的粒子與原粒子間相似度;這并未保留對象之間的原 始關系,即在合并過程中破壞了網絡的原始拓撲結構。3)合并后的粒子與原粒子計算相似 度的方法不同,會得到不同的社團劃分結果。
【發明內容】
[0005] 本發明為了克服現有技術存在的不足之處,提供一種分層遞階的多粒度社團發現 方法,以期能在原始網絡結構特性的基礎上發現所有節點之間的層次關系以及不同粒度的 社團結構,從而確保社團劃分結果的準確性和層次的唯一性。
[0006] 本發明為解決技術問題采用如下技術方案:
[0007] 本發明一種分層遞階的多粒度社團發現方法的特點是按如下步驟進行:
[0008] 步驟1、定義G = (X,E)表示一個網絡,在所述網絡G中,X = {1,2,…,i,…,j,… ,η}表示網絡G中的節點集合,i和j分別表示所述網絡G中第i個節點和第j個節點,η 表示所述網絡G中的節點總數,I < i < j < n ;E = Ie1, e2,…,ej表示所述網絡G中的邊 集合,m表示所述網絡G中的邊總數;eni表示所述網絡G中第m條邊;
[0009] 步驟2、計算所述網絡G中第i個節點和第j個節點的相似度S1^,且s^> max Isli ,從而構建相似度矩陣
[0010] 步驟3、從所述相似度矩陣R中選取k個互不相同的元素并進行降序排序構成截距 集合L = (I1, 12,…,Ia,…,lk} ;la表示第a個截距;且I a+1< I a;l i表示最大的截距;1 1<表 示最小的截距;I < a < k ;k表示截距的總數,且
[0011] 步驟4、初始化a = 1 ;
[0012] 步驟5、選取所述截距集合L中第a個截距Ia;判斷所述相似度矩陣R中的第i個節 點和第j個節點的相似度S 1,,與第a個截距13之間的大小關系,若s I, ^ I a,則令<,=1 ;否 則令=0 ,從而構建包含最大相容類的第a個相容關系矩陣
[0013] 步驟6、找出所述第a個相容關系矩陣Ra中所有的最大相容類構成第a個最大相 容類集合,記為
4和<)分別表示所述第a個最大相容類集 合Ca中的第b個最大相容類和第d個最大相容類,l<b<(Kr,;r表示第a個最大相容 類集合Ca中最大相容類的總數;
[0014] 步驟7、將a+Ι的值賦給a后,判斷a彡k是否成立,若成立,則返回執行步驟5和 步驟6 ;從而獲得k個最大相容類集合{C1,C2,…,Ca,…,Ck},否則,執行步驟8 ;
[0015] 步驟8、初始化a = 1 ;
[0016] 步驟9、判斷4' η<; =0是否成立;若成立,則將Ca賦值給Pa,從而獲得第a個等價 類集合
:和S分別表示所述第a個最大相容類集合Ca 中的第b個等價類和第d個等價類;否則,執行步驟10 ;
[0017] 步驟10、定義變量μ和ω,并初始化μ = 1 ;
[0018] 步驟11、初始化ω = 1 ;
[0019] 步驟12、定義集合D,并初始化£> = 0 ;
[0020] 步驟13、對所述第a-Ι個等價類集合中第ω個等價類/和所述第a個最大相容 類集合C a中第μ個最大相容類判斷^是否成立;若成立,則將集合D與第ω個 等價類/C1的并集賦值給集合D ;否則,將ω+1的值賦給ω后,判斷ω 是否成立,若成 立,則返回執行步驟13 ;否則,執行步驟14 ;
[0021] 步驟14、判斷是否成立,若成立,則將集合D賦值給第μ個最大相容類<, 從而獲得更新的第μ個最大相容類 否則,將第μ個最大相容類4從第a個最大相容 類集合Ca中刪去;
[0022] 步驟15、將μ+1的值賦給μ后,判斷μ < r是否成立,若成立,則返回執行步驟 11 ;從而獲得更新的第a個最大相容類集合
否則,執行步驟16 ;
[0023] 步驟16、定義集合H,并初始化好._=0;:
[0024] 步驟17、初始化μ = 1 ;
[0025] 步驟18、初始化ω = μ+1 ;
[0026] 步驟19、將所述更新的第a個最大相容類集合C' a中第μ個最大相容類4?和第 ω個最大相容類C取交集并把所獲得的結果賦值給所述集合H ;
[0027] 步驟20、判斷集合丑#0是否成立,若成立,則執行步驟21 ;否則,執行步驟25
[0028] 步驟21、將所述更新的第a個最大相容類集合C' a中第μ個最大相容類 <與所 述集合H的差集賦值給第μ個最大相容類<,將所述更新的第a個最大相容類集合C' a 中第ω個最大相容類< 與所述集合H的差集賦值給第ω個最大相容類,從而獲得再次 更新的第μ個最大相容類和第μ個最大相容類
[0029] 步驟22、假設所述集合H包含γ個元素,并初始化σ = 1 ;
[0030] 步驟23、求更新后的集合H中的第σ個元素分別與再次更新的第μ個最大相容 類和第ω個最大相容類的間相似度,將第σ個元素加入到與其具有最大相似度的第 μ個最大相容類或第ω個最大相容類中;
[0031] 步驟24、將σ+1賦值給σ ;并執行步驟23,直到σ > γ為止,從而將γ個元素 均加入到相應的最大相容類中;
[0032] 步驟25、將ω+l的值賦給ω后,判斷ω < r是否成立,若成立,則返回執行步驟 19 ;否則,將μ+l的值賦給μ后,判斷μ彡r是否成立,若成立,則返回執行步驟18 ;否則, 獲得第a個最大相容類集合
,即第a層社團結構;
[0033] 步驟26、將a+Ι賦值給a,并返回步驟9順序執行,直到a > k為止,從而獲得k層 社團結構。
[0034] 與已有技術相比,本發明有益效果體現在:
[0035] 1、本發明通過分層遞階的方法來判斷相似度與截距間的大小關系來塑造節點間 的相容關系,然后經過相容關系求解其近似等價關系的變換過程得到多個粒度的社團結 構;在截距由大到小的遞階過程中,每一層都選擇節點間的相似度矩陣中大于給定截距的 節點對進行合并,這加快了合并的速度;較粗粒度上的社團劃分結果是根據較細粒度上的 社團劃分結果指導得來的,最終會得到不同粒度下的社團結構,從而使得社團劃分結果更 加準確和可靠。
[0036] 2、根據粒度的思想,本發明首先將每一個節點看作一個粒子,在不同截距的控制 下,根據節點間的相似度矩陣形成不同粒度的粒子。在上一層粒子變化后,下一層不需要重 新計算新粒子與所有舊粒子間的相似度而是直接利用了最原始的節點間的相似度矩陣。因 此,在各層社團結構中,都保持了網絡的原始結構,這樣的社團劃分結果更符合網絡中各節 點的真實拓撲結構關系。
[0037] 3、本