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