安曉丹 張曉琴 曹付元
1(山西大學(xué)數(shù)學(xué)科學(xué)學(xué)院 山西 太原 030006)2(山西財(cái)經(jīng)大學(xué)統(tǒng)計(jì)學(xué)院 山西 太原 030006)3(山西大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院 山西 太原 030006)
自然界有許多復(fù)雜網(wǎng)絡(luò),如社會(huì)網(wǎng)絡(luò)、技術(shù)網(wǎng)絡(luò)和生物網(wǎng)絡(luò)等。這些網(wǎng)絡(luò)大部分都會(huì)呈現(xiàn)出社區(qū)結(jié)構(gòu),即社區(qū)內(nèi)部連邊分布較密集,社區(qū)間的連邊分布較分散。社區(qū)發(fā)現(xiàn)對(duì)挖掘復(fù)雜網(wǎng)絡(luò)的結(jié)構(gòu)、預(yù)測(cè)對(duì)象的行為特征、提取網(wǎng)絡(luò)的有用信息具有重要的研究意義。
網(wǎng)絡(luò)的一個(gè)重要類型是二分網(wǎng)絡(luò),現(xiàn)實(shí)中許多真實(shí)的二分網(wǎng)絡(luò),例如用戶-產(chǎn)品購(gòu)買關(guān)系網(wǎng)[1-2]、新陳代謝網(wǎng)絡(luò)[3]和疾病-基因網(wǎng)絡(luò)[4]等。二分網(wǎng)絡(luò)可以體現(xiàn)出一些深層網(wǎng)絡(luò)結(jié)構(gòu)特點(diǎn),對(duì)網(wǎng)絡(luò)結(jié)構(gòu)特性的研究具有非常重要的作用[5]。
目前,主要有兩種二分網(wǎng)絡(luò)社區(qū)劃分方法,一種是將其轉(zhuǎn)化到單模網(wǎng)絡(luò)上進(jìn)行聚類、分析。如Melamed D[6]的雙映射方法,但是這些方法會(huì)損失大量的網(wǎng)絡(luò)信息。為降低映射過(guò)程的信息損失,張嬙嬙等[7]對(duì)兩個(gè)網(wǎng)絡(luò)的資源分布矩陣聚類分析。另外一種是直接在二分網(wǎng)絡(luò)上進(jìn)行劃分,這些方法可以較有效地保留原網(wǎng)絡(luò)大部分信息。如Barber等[8]提出的BRIM算法。周旸等[9]針對(duì)傳統(tǒng)譜方法在二分網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)中的缺點(diǎn),提出了基于最優(yōu)特征向量的譜二分社團(tuán)檢測(cè)方法。Tang等[10]將譜聚類算法的思想推廣到二分網(wǎng)絡(luò),提出了聯(lián)合譜聚類算法。鄒凌君等[11]通過(guò)構(gòu)建廣義后綴樹(shù),提出了一種可以發(fā)現(xiàn)重疊社區(qū)的社區(qū)發(fā)現(xiàn)方法。Lehmann等[12]將K-clique算法[13]推廣到了二分網(wǎng)絡(luò),提出了bi-clique二分網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)算法。bi-clique算法的主要優(yōu)點(diǎn)是可以發(fā)現(xiàn)重疊社區(qū)和不同連接密度的社區(qū);缺點(diǎn)是只挖掘了那些密度超過(guò)指定閾值的二分網(wǎng)絡(luò)[14]。
為了度量社區(qū)劃分結(jié)果,Newman[15]提出了適合單模網(wǎng)絡(luò)的模塊度指標(biāo),因?yàn)樵撃K度依賴于零模型,因此在一些網(wǎng)絡(luò)上存在分辨率限制。在二分網(wǎng)絡(luò)上,Guimera等[16]、Barber[8]和Murata[17]基于Newman的單模網(wǎng)絡(luò)模塊度,提出了二分網(wǎng)絡(luò)的模塊度。雖然二分網(wǎng)絡(luò)的模塊度受到廣泛應(yīng)用,但Xu等[18]和Li等[19]指出以上模塊度也存在一定的分辨率限制。
為緩解模塊度在某些網(wǎng)絡(luò)上的分辨率限制和算法精度不高的問(wèn)題,本文提出一種二分網(wǎng)絡(luò)評(píng)價(jià)指標(biāo)。同時(shí),利用密度傳播和最優(yōu)化評(píng)價(jià)指標(biāo),提出一種可自主識(shí)別社區(qū)的二分網(wǎng)絡(luò)發(fā)現(xiàn)算法,并通過(guò)實(shí)驗(yàn)驗(yàn)證該算法的有效性。
二分網(wǎng)絡(luò)有兩種類型的節(jié)點(diǎn),且只有不同類型節(jié)點(diǎn)間有連邊。二分網(wǎng)絡(luò)可以表示為簡(jiǎn)單無(wú)向圖G(X,Y,E)。X、Y分別表示二分網(wǎng)絡(luò)的兩類節(jié)點(diǎn),E表示X和Y節(jié)點(diǎn)間的連邊。
設(shè)X型和Y型節(jié)點(diǎn)個(gè)數(shù)分別為m和n,由于X(Y)型節(jié)點(diǎn)間沒(méi)有連邊,因此二分網(wǎng)絡(luò)的鄰接矩陣可以表示為:
式中:
0m×m、0n×n分別為m階、n階零矩陣;
二分網(wǎng)絡(luò)的互信息指標(biāo)[16]被用來(lái)比較兩種社區(qū)劃分結(jié)果的一致性,假設(shè)有兩種社區(qū)劃分C和D,其互信息定義如下:
式中:
M表示網(wǎng)絡(luò)總連邊數(shù);
NC和ND分別為C和D劃分的社區(qū)個(gè)數(shù);



若劃分C與D完全一致時(shí),ICD=1;
若劃分C與D不相關(guān)時(shí),ICD=0。
假設(shè)網(wǎng)絡(luò)的總邊數(shù)為M,Vl和Vm分別是X和Y型節(jié)點(diǎn)的社區(qū)(Vl∈VX,Vm∈VY),鄰接矩陣A中的元素為aij。連接Vl和Vm的邊與網(wǎng)絡(luò)總邊數(shù)的比可表示為:
進(jìn)一步定義矩陣B,B中的元素由elm組成,那么矩陣的第l行所有元素和bl為:
Murata的模塊度定義如下:
鑒于二分網(wǎng)絡(luò)同類節(jié)點(diǎn)間沒(méi)有連邊的特點(diǎn),Barber將節(jié)點(diǎn)xi與xj的連邊概率矩陣定義如下:

式中:


BRIM算法是Barber采用遞歸的方法得到的社區(qū)劃分方法,具體如下:

定義指標(biāo)矩陣:

式中:R、T分別為m×c、n×c的矩陣,c為社區(qū)個(gè)數(shù)。那么,Barber的模塊度可寫為:

Zhang等[20]對(duì)聚類系數(shù)做了修正,定義了如下的邊集聚系數(shù):
式中:m是X型節(jié)點(diǎn)i的鄰居,n是Y型節(jié)點(diǎn)j的鄰居。如果鄰居m和n相互連接,則qijmn=1,否則為0。θijmn與qijmn相反。km是節(jié)點(diǎn)m的度,kn是節(jié)點(diǎn)n的度,ki是節(jié)點(diǎn)i的度,kj是節(jié)點(diǎn)j的度。這個(gè)算法如同GN算法[21-22],計(jì)算每條邊的集聚系數(shù),但是去掉集聚系數(shù)最小的邊。
吳亞晶等[23]提出的資源分布算法,通過(guò)構(gòu)建二分網(wǎng)絡(luò)的資源分布矩陣,然后對(duì)資源分布矩陣進(jìn)行K均值聚類,并采用F統(tǒng)計(jì)量確定最終聚類結(jié)果。
以往二分網(wǎng)絡(luò)的模塊度是從社區(qū)中整體連邊角度構(gòu)造,本文由社區(qū)內(nèi)節(jié)點(diǎn)的連邊角度,考慮節(jié)點(diǎn)的連邊密度,將提出一種社區(qū)的平均密度評(píng)價(jià)指標(biāo)。并通過(guò)密度傳播和最優(yōu)化平均密度,得到二分網(wǎng)絡(luò)的社區(qū)發(fā)現(xiàn)算法。
對(duì)給定二分網(wǎng)絡(luò)進(jìn)行社區(qū)劃分,使得社區(qū)內(nèi)部連接相對(duì)較密集,社區(qū)間的連接相對(duì)較分散。若社區(qū)中的節(jié)點(diǎn)與其所在社區(qū)內(nèi)的節(jié)點(diǎn)連邊越多,則與其他社區(qū)節(jié)點(diǎn)的連邊越少,即這個(gè)二分網(wǎng)絡(luò)的社區(qū)結(jié)構(gòu)越好。依據(jù)此思想本文定義了二分網(wǎng)絡(luò)的平均密度,為給出此平均密度的定義,先定義社區(qū)內(nèi)節(jié)點(diǎn)的連邊密度。

(1)
式中:
ki為X型節(jié)點(diǎn)xi的度;
j為Y型節(jié)點(diǎn)下標(biāo);
p為二分網(wǎng)絡(luò)中Y型節(jié)點(diǎn)的總數(shù);
yj為Y型節(jié)點(diǎn)中的節(jié)點(diǎn);
aij為鄰接矩陣A中的元素;

同理,對(duì)于第S個(gè)社區(qū)內(nèi)Y型節(jié)點(diǎn)yj的連邊密度定義為節(jié)點(diǎn)yj在S社區(qū)內(nèi)的連邊比例,具體定義為:
(2)
式中:q為二分網(wǎng)絡(luò)中X型節(jié)點(diǎn)的總數(shù);i為X型節(jié)點(diǎn)下標(biāo)。
社區(qū)S中節(jié)點(diǎn)的平均連邊密度定義為:
(3)
式中:|XS|表示社區(qū)S中X型節(jié)點(diǎn)個(gè)數(shù);|YS|表示社區(qū)S中Y型節(jié)點(diǎn)個(gè)數(shù)。式(3)可簡(jiǎn)寫為:
式中:i為社區(qū)中第i個(gè)節(jié)點(diǎn);為與i節(jié)點(diǎn)相對(duì)的另一種類型節(jié)點(diǎn)。
二分網(wǎng)絡(luò)社區(qū)的平均密度定義為K個(gè)社區(qū)的平均密度,具體定義為:
(4)
式中:K表示社區(qū)劃分個(gè)數(shù)。
由式(4)可知,社區(qū)的平均密度越大,其社區(qū)內(nèi)部節(jié)點(diǎn)連接越緊密,那么,社區(qū)劃分效果也相對(duì)越好。因此,可以利用社區(qū)的平均密度刻畫社區(qū)劃分結(jié)果的好壞。當(dāng)社區(qū)中的節(jié)點(diǎn)連邊均與社區(qū)內(nèi)部的節(jié)點(diǎn)連邊時(shí),社區(qū)的平均密度D達(dá)到最大值1,此時(shí)的劃分社區(qū)結(jié)果最好;當(dāng)社區(qū)內(nèi)的節(jié)點(diǎn)的連邊均與社區(qū)外的節(jié)點(diǎn)連邊時(shí),社區(qū)的平均密度D達(dá)到最小值0,此時(shí)的社區(qū)結(jié)構(gòu)最差。
利用社區(qū)的平均密度劃分社區(qū),可通過(guò)優(yōu)化社區(qū)平均密度的方法進(jìn)行社區(qū)發(fā)現(xiàn)。本文提出的連邊密度傳播算法(EDPR),首先,初始化其中一類節(jié)點(diǎn)的社區(qū);然后,將節(jié)點(diǎn)密度大于參數(shù)θ的另一類節(jié)點(diǎn)加入到社區(qū)中;最后,通過(guò)節(jié)點(diǎn)連接密度D(xi)和D(yj)不斷更新節(jié)點(diǎn)標(biāo)簽,使社區(qū)的平均密度D達(dá)到最大,即可獲得二分網(wǎng)絡(luò)的最終社區(qū)劃分結(jié)果。具體算法如下:
輸入:二分網(wǎng)絡(luò)G(X,Y,E)的鄰接矩陣A和參數(shù)θ。
輸出:二分網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)最終結(jié)果F1,F2,…,Fk。
Step1初始化X型節(jié)點(diǎn)社區(qū),將X型節(jié)點(diǎn)中節(jié)點(diǎn)xi分別分配到一個(gè)社區(qū)中,令xi∈Gi,t=0,D=0;
Step2將Y型節(jié)點(diǎn)yj分配到與其有連邊的Gi社區(qū)中;
Step3根據(jù)式(1)重新更新X型節(jié)點(diǎn)的社區(qū),將節(jié)點(diǎn)xi分配到使得D(xi)>θ的社區(qū)中,并更新為Gi,且將X型節(jié)點(diǎn)從原先所屬的社區(qū)中刪去;
Step4由式(2)分別計(jì)算Y類型節(jié)點(diǎn)yj在社區(qū)Gi中的節(jié)點(diǎn)密度D(yj),并將節(jié)點(diǎn)yj分配到使得式(2)最大的Gi社區(qū)中;
Step5根據(jù)式(4)計(jì)算社區(qū)的平均密度D,若D(t+1) Step6迭代更新,直到二分網(wǎng)絡(luò)的平均密度D最大,即為社區(qū)劃分的最終結(jié)果F1,F2,…,Fk。 算法的Step 3為了確保X型節(jié)點(diǎn)社區(qū)更新,從第二次迭代開(kāi)始變?yōu)楦鶕?jù)式(1)尋找使得D(xi)最大的社區(qū)Gi,并更新xi的標(biāo)簽。 雖然Barber和Murata的模塊度得到了廣泛應(yīng)用,但是這兩個(gè)模塊度指標(biāo)存在一些分辨率限制。本文提出的二分網(wǎng)絡(luò)的平均密度D能夠克服模塊度在一個(gè)完全圖上的分辨率限制,主要通過(guò)一個(gè)具體的實(shí)例說(shuō)明。 如圖1所示,二分網(wǎng)絡(luò)是由一個(gè)完全圖Kn,n組成,該完全圖是由n個(gè)X型節(jié)點(diǎn)和n個(gè)Y型節(jié)點(diǎn)(n≥2)和n2條邊組成。這個(gè)二分網(wǎng)絡(luò)中共有2n個(gè)節(jié)點(diǎn)和n2條邊。 (a) (b)圖1 由完全圖Kn,n組成的二分網(wǎng)絡(luò) 考慮如下兩個(gè)社區(qū)劃分結(jié)果: P0:整個(gè)二分網(wǎng)絡(luò)視為一個(gè)社區(qū),如圖1(a)所示。 P1:將二分網(wǎng)絡(luò)劃分為兩個(gè)社區(qū)C1和C2,社區(qū)C1中X型節(jié)點(diǎn)和Y型節(jié)點(diǎn)均有n1個(gè),社區(qū)C2中X型節(jié)點(diǎn)和Y型節(jié)點(diǎn)均有n2個(gè),n1+n2=n。如圖1(b)所示。 由圖1可以很明顯得出,劃分P0要比P1好,然而,對(duì)于以上兩個(gè)劃分結(jié)果,用Barber和Murata的模塊度計(jì)算求得的模塊度值均為0[18]。因此利用Barber和Murata的模塊度無(wú)法評(píng)價(jià)這兩種劃分的好壞。 本文提出的二分網(wǎng)絡(luò)的平均密度D,對(duì)P0和P1兩個(gè)劃分評(píng)價(jià)的計(jì)算: 在人工網(wǎng)絡(luò)和真實(shí)網(wǎng)絡(luò)上驗(yàn)證EDPR算法的性能,同三種較經(jīng)典的算法(BRIM算法、邊集聚系數(shù)算法和資源分布算法)比較模塊度和社區(qū)平均密度值。 為檢驗(yàn)EDPR算法在給定網(wǎng)絡(luò)結(jié)構(gòu)下,社區(qū)劃分的準(zhǔn)確性,特在8個(gè)人工二分網(wǎng)絡(luò)上進(jìn)行測(cè)試。其中每個(gè)網(wǎng)絡(luò)中節(jié)點(diǎn)的度均為k=64,k=kin+kout,kin表示節(jié)點(diǎn)與社區(qū)中節(jié)點(diǎn)連邊個(gè)數(shù),kout=0,1,…,7表示節(jié)點(diǎn)與其他社區(qū)節(jié)點(diǎn)的連邊數(shù)。具體的網(wǎng)絡(luò)信息如表1所示。 表1 構(gòu)建的人工網(wǎng)絡(luò)信息 分別在人工二分網(wǎng)絡(luò)上,應(yīng)用EDPR算法聚類,并與BRIM算法、邊集聚系數(shù)算法和資源分布算法的聚類結(jié)果比較,互信息指標(biāo)作為評(píng)價(jià)指標(biāo)。如圖2所示,EDPR算法總能準(zhǔn)確自主地劃分這8個(gè)人工二分網(wǎng)絡(luò)的社區(qū)。由于EDPR算法始終尋找使得節(jié)點(diǎn)連邊數(shù)最大的社區(qū),所以在每次實(shí)驗(yàn)中,EDPR算法總能精確的將節(jié)點(diǎn)分配到與其連接最緊密的社區(qū)中,求得互信息指標(biāo)為1,故劃分準(zhǔn)確性均為1。EDPR算法不僅準(zhǔn)確性比其他三種算法都高,而且可以自主地確定社區(qū)劃分個(gè)數(shù)。其中,邊集聚系數(shù)算法在人工網(wǎng)絡(luò)數(shù)據(jù)集上的劃分準(zhǔn)確性出現(xiàn)了較大的波動(dòng),且在kout=4時(shí),正確率僅為0.533 8。資源分布算法和BRIM算法在kout=0,1,…,7的網(wǎng)絡(luò)上雖無(wú)明顯波動(dòng),但其正確率也不及EDPR算法。 圖2 四種算法分類正確率比較 本節(jié)分別在3個(gè)真實(shí)數(shù)據(jù):Moreno Crime(http://konect.uni-koblenz.de/networks/moreno_crime)、Southern Women Data[24]和Scotland Data[25]上驗(yàn)證EDPR算法的準(zhǔn)確度。并與3種經(jīng)典算法—BRIM、邊集聚系數(shù)算法、資源分布算法比較模塊度和社區(qū)平均密度值。 實(shí)驗(yàn)1: Southern Women Data是由Divas等收集的1930年的密西西比州,由18位婦女和14個(gè)活動(dòng)組成的數(shù)據(jù),被廣泛地應(yīng)用于對(duì)二分網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)算法準(zhǔn)確性的檢測(cè)中。 社區(qū)分布圖如圖3所示,將數(shù)據(jù)集中的婦女用圓形表示,編號(hào)為1~18,活動(dòng)用矩形表示編號(hào)為1~14,圖中的連邊表示婦女參加了相應(yīng)的活動(dòng)。Southern Women Data數(shù)據(jù)集上,EDPR算法將其劃分為2個(gè)社區(qū),其中,第一類為活動(dòng){1,2,3,4,5,6,7,8}與婦女{1,2,3,4,5,6,7,8,9},第二類為活動(dòng){9,10,11,12,13,14}與婦女{10,11,12,13,14,15,16,17,18}。計(jì)算得此劃分模塊度和社區(qū)平均密度值分別為0.333 2和0.870 1。圖3中,不同的灰度表示不同的社區(qū)。 圖3 在數(shù)據(jù)集Southern Women上的社區(qū)劃分 在Southern Women數(shù)據(jù)集上,分別采用邊集聚系數(shù)、BRIM和資源分布算法劃分社區(qū),并計(jì)算對(duì)應(yīng)的模塊度和社區(qū)平均密度值。進(jìn)行多次實(shí)驗(yàn),取平均值同EDPR比較,比較結(jié)果如表2所示。 由表2可知,在Southern Women數(shù)據(jù)集上,由EDPR算法求得的模塊度和社區(qū)平均密度值,都比其他三種算法求得的值略高,表明所劃分的社區(qū)結(jié)構(gòu)更加明顯,劃分準(zhǔn)確性也相對(duì)較高。 實(shí)驗(yàn)2: Moreno Crime數(shù)據(jù)集,是由551起刑事案件和與刑事案件有關(guān)的829名人員,1 476條連邊構(gòu)成。網(wǎng)絡(luò)中一類節(jié)點(diǎn)表示案件中的一個(gè)受害者、目擊者或嫌疑人,另一類節(jié)點(diǎn)是相應(yīng)的案件。 在Moreno Crime數(shù)據(jù)集上,EDPR將其分為185個(gè)社區(qū),例如人員{1,93,694,756}與案件{1,2,3,4}為一個(gè)社區(qū);人員{77,205}與案件{98,127}分為一個(gè)社區(qū);案件{108,109,180,279,593,709,814}與人員{163,164,165,166,167,168}為一個(gè)社區(qū);相應(yīng)的模塊度和社區(qū)平均密度值分別為0.971 0和0.907 7。 分別采用邊集聚系數(shù)、資源分布和BRIM 3種算法劃分社區(qū),同時(shí)計(jì)算3種算法對(duì)應(yīng)的模塊度和社區(qū)平均密度。比較結(jié)果如表3所示。 由表3可知,在Moreno Crime數(shù)據(jù)集上,EDPR算法的精確度高于三種經(jīng)典算法,能夠較好地識(shí)別社區(qū)。 實(shí)驗(yàn)3: Scotland Data是一個(gè)較典型的二分網(wǎng)絡(luò)數(shù)據(jù)集,該數(shù)據(jù)集描述了蘇格蘭早期108家連鎖企業(yè)和136位股東之間的任職情況。將該數(shù)據(jù)表示成一個(gè)二分網(wǎng)絡(luò),網(wǎng)絡(luò)中的兩類節(jié)點(diǎn)代表公司和股東,節(jié)點(diǎn)間連邊表示該股東在公司任職。 在Scotland Data數(shù)據(jù)集上,EDPR將其分為25個(gè)社區(qū),例如公司{11,28}與股東{2,48,59,60}為一個(gè)社區(qū);公司{63,93,103,104}與股東{3,16,36,131}分為一個(gè)社區(qū);公司{78,66,95}與股東{82,85,132,120,121}為一個(gè)社區(qū);相應(yīng)模塊度和社區(qū)平均密度值分別為0.627 0和0.721 2。 分別采用邊集聚系數(shù)、資源分布2種算法劃分社區(qū),同時(shí)計(jì)算2種算法對(duì)應(yīng)的模塊度和社區(qū)平均密度值。進(jìn)行多次實(shí)驗(yàn),取其最大的模塊度值同EDPR比較。在Scotland Data數(shù)據(jù)集上模塊度和社區(qū)平均密度值比較結(jié)果如表4所示。 表4 Scotland Data數(shù)據(jù)集上的比較 由表4可知,在Scotland Data數(shù)據(jù)集上,EDPR算法求得的模塊度和社區(qū)平均密度值更大,表現(xiàn)更佳。說(shuō)明EDPR算法可較好地挖掘社區(qū)結(jié)構(gòu),社區(qū)劃分準(zhǔn)確性相對(duì)更高。 本文從社區(qū)的節(jié)點(diǎn)出發(fā),構(gòu)造了節(jié)點(diǎn)的連邊密度和社區(qū)的平均密度,同時(shí)驗(yàn)證了社區(qū)的平均密度作為評(píng)價(jià)指標(biāo),可克服模塊度在特定網(wǎng)絡(luò)上的分辨率限制。并提出了一種二分網(wǎng)絡(luò)發(fā)現(xiàn)算法——連邊密度傳播算法(EDPR),通過(guò)實(shí)驗(yàn)驗(yàn)證該算法可較好地發(fā)現(xiàn)社區(qū),劃分準(zhǔn)確度也較高。希望在今后可以對(duì)多模數(shù)據(jù)做進(jìn)一步研究。2.3 分辨率限制的證明




3 實(shí)驗(yàn)結(jié)果與分析
3.1 人工網(wǎng)絡(luò)實(shí)驗(yàn)


3.2 真實(shí)網(wǎng)絡(luò)上的實(shí)驗(yàn)


4 結(jié) 語(yǔ)