胡 雯,馬 闖,張海峰*
(1. 安徽大學數(shù)學科學學院 合肥 230601;2. 安徽大學互聯(lián)網(wǎng)學院 合肥 230601)
近年來,網(wǎng)絡(luò)科學作為一門新興交叉學科得到越來越多的關(guān)注。現(xiàn)實世界中許多真實系統(tǒng)都可以基于網(wǎng)絡(luò)框架進行理解,如生物網(wǎng)絡(luò)系統(tǒng)[1-2]、社會網(wǎng)絡(luò)系統(tǒng)[3-4]、交通網(wǎng)絡(luò)系統(tǒng)[5-6]等。挖掘網(wǎng)絡(luò)的結(jié)構(gòu)信息可以幫助我們更深入地了解這些系統(tǒng)并加以應(yīng)用,因此如何發(fā)展有效的方法挖掘網(wǎng)絡(luò)的結(jié)構(gòu)信息有著重要的科學價值和廣泛的應(yīng)用前景。如識別網(wǎng)絡(luò)上的關(guān)鍵點用于疾病控制和輿情擴散[7-9]、相對關(guān)鍵節(jié)點的識別用于罪犯挖掘和致病基因查找[10]、鏈路預(yù)測用于好友推薦和應(yīng)對網(wǎng)絡(luò)攻擊[11]、社團劃分用于潛在客戶挖掘和社交網(wǎng)絡(luò)角色檢測[12]以及動力學分析用于通信安全和疫情分析[13-14]等。
現(xiàn)有的網(wǎng)絡(luò)結(jié)構(gòu)分析方法大多是基于網(wǎng)絡(luò)的淺層結(jié)構(gòu)開展的,僅考慮節(jié)點對之間是否有聯(lián)系,使用的網(wǎng)絡(luò)結(jié)構(gòu)信息都是有限的,這些基于淺層結(jié)構(gòu)的分析方法會造成很多深層的、隱藏的信息丟失,而結(jié)構(gòu)信息的缺失會導致真實網(wǎng)絡(luò)的內(nèi)在聯(lián)系無法被完整地反映。真實網(wǎng)絡(luò)具有很多不同種類的子圖,子圖捕捉了網(wǎng)絡(luò)中特定的局部連接模式,這些子圖的大小、類型、屬性都會影響網(wǎng)絡(luò)的結(jié)構(gòu)與功能,因此很多學者開展了關(guān)于網(wǎng)絡(luò)子圖的研究。如文獻[15] 研究了大型稀疏網(wǎng)絡(luò)中子圖頻率與網(wǎng)絡(luò)結(jié)構(gòu)的聯(lián)系,發(fā)現(xiàn)利用不同子圖出現(xiàn)的頻率可挖掘網(wǎng)絡(luò)的局部密集結(jié)構(gòu)。文獻[16] 在大腸桿菌的轉(zhuǎn)錄調(diào)控網(wǎng)絡(luò)中發(fā)現(xiàn)不同的子圖結(jié)構(gòu)在整個網(wǎng)絡(luò)中對應(yīng)的功能是特定的,進而研究網(wǎng)絡(luò)不同結(jié)構(gòu)的子圖捕獲網(wǎng)絡(luò)局部聚集信息的差異性。文獻[17] 將三角形結(jié)構(gòu)的頻繁子圖應(yīng)用于圖聚類,發(fā)現(xiàn)利用子圖結(jié)構(gòu)能更有效地實現(xiàn)網(wǎng)絡(luò)的社團檢測。文獻[18]研究不確定圖的數(shù)據(jù)挖掘,提出一種基于期望支持閾值來尋找不確定圖的頻繁子圖的方法。文獻[19]提出一種基于子圖的近似圖匹配技術(shù),在生物網(wǎng)絡(luò)中高效地搜索具有相似功能的細胞實體。
以上基于子圖的數(shù)據(jù)挖掘研究僅僅考慮了子圖自身的一些屬性,沒有考慮子圖之間的交互關(guān)系。實際上,如何有效地構(gòu)建子圖間的交互關(guān)系來實現(xiàn)網(wǎng)絡(luò)的結(jié)構(gòu)增強,并用于后續(xù)的結(jié)構(gòu)挖掘任務(wù)具有重要的意義。最近文獻[20] 選擇網(wǎng)絡(luò)中不同的子圖結(jié)構(gòu)作為節(jié)點,分別構(gòu)造了不同階數(shù)的子圖網(wǎng)絡(luò)(subgraph network, SGN),實現(xiàn)了子圖之間的交互,并發(fā)現(xiàn)子圖網(wǎng)絡(luò)的集成可以增強后續(xù)一系列圖分類算法。基于SGN 提取的特征補充了原始網(wǎng)絡(luò)的結(jié)構(gòu)特征,可以更深入地挖掘網(wǎng)絡(luò)結(jié)構(gòu)信息,然而構(gòu)建SGN 的過程是復(fù)雜的,并且構(gòu)造更高階的SGN需要知道低一階SGN 的結(jié)構(gòu)。基于此,本文提出了兩種不需要構(gòu)造SGN 的賦權(quán)方法,直接從原始網(wǎng)絡(luò)中挖掘出子圖之間的交互信息,在實現(xiàn)結(jié)構(gòu)增強的同時也大大降低了算法復(fù)雜度。主要思想是基于不同階數(shù)SGN 的構(gòu)建過程,提出兩種加權(quán)方法將SGN 的結(jié)構(gòu)信息在原始網(wǎng)絡(luò)中以邊權(quán)值的形式表現(xiàn)出來,一種是將一階子圖網(wǎng)絡(luò)(first-order subgraph network, SGN(1))節(jié)點的屬性作為原始網(wǎng)絡(luò)對應(yīng)邊的權(quán)重,構(gòu)造一階加權(quán)網(wǎng)絡(luò);另一種是將二階子圖網(wǎng)絡(luò)(second-order subgraph network, SGN(2))節(jié)點集合中包含原始網(wǎng)絡(luò)同一條邊的所有節(jié)點屬性綜合起來作為這條邊的權(quán)重,構(gòu)造二階加權(quán)網(wǎng)絡(luò)。SGN(1)和SGN(2)考慮了兩種最基本的子圖結(jié)構(gòu):邊和開三角結(jié)構(gòu),因此本文提出的兩種賦權(quán)方法以權(quán)重的形式分別體現(xiàn)的是邊和開三角結(jié)構(gòu)的交互關(guān)系,既保留了原始網(wǎng)絡(luò)的結(jié)構(gòu)信息,又補充了特定子圖的交互信息,實現(xiàn)了網(wǎng)絡(luò)結(jié)構(gòu)增強。為了驗證本文提出的兩種加權(quán)方法在后續(xù)結(jié)構(gòu)挖掘任務(wù)中的有效性,本文定義了兩個基于加權(quán)網(wǎng)絡(luò)的中心性指標識別真實網(wǎng)絡(luò)中的關(guān)鍵節(jié)點。實驗結(jié)果表明,在關(guān)鍵點識別問題研究中,基于加權(quán)網(wǎng)絡(luò)的中心性指標比經(jīng)典的度中心性、接近性中心性、介數(shù)中心性、特征向量中心性、K-Shell 中心性、LeaderRank以及顯著性中心性都具有更好的性能。
本文在給網(wǎng)絡(luò)賦權(quán)的過程中涉及不同階數(shù)SGN 的概念及對應(yīng)的構(gòu)造方法,因此先介紹這些概念和構(gòu)造過程。
給定一個無向無權(quán)網(wǎng)絡(luò)G(V,E),其中V={vi|i=1,2,···,N}表示節(jié)點集合,節(jié)點數(shù)為N,E?(V×V)表示邊的集合,E中元素(vi,vj)滿足(vi,vj)=(vj,vi),i,j=1,2,···,N。定義G的子圖gi=(Vi,Ei),其中g(shù)i?G,當且僅當Vi?V且Ei?E。

網(wǎng)絡(luò)中最基本的子圖是邊和三角結(jié)構(gòu),它們在大多數(shù)網(wǎng)絡(luò)中出現(xiàn)的頻率較高,不會造成子圖網(wǎng)絡(luò)過于稀疏的情況,并且相比于邊結(jié)構(gòu),三角結(jié)構(gòu)也可以補充更多網(wǎng)絡(luò)局部結(jié)構(gòu)的信息,利于更高階子圖網(wǎng)絡(luò)的構(gòu)造,因此本文選擇這兩種子圖分別構(gòu)造SGN(1)和SGN(2)。本文研究都是基于無向網(wǎng)絡(luò),邊的情況只有一種(如圖1a),三角結(jié)構(gòu)的情況有兩種,分別為開三角結(jié)構(gòu)(如圖1b)和閉三角結(jié)構(gòu)(如圖1c)[21],在構(gòu)造SGN(2)的過程中只考慮更為簡單的開三角結(jié)構(gòu),并將開三角結(jié)構(gòu)中度為2 的節(jié)點記為頂點。接下來分別介紹SGN(1)和SGN(2)的構(gòu)造過程。

圖1 子圖示意圖
1.2.1 SGN(1)的構(gòu)造過程
給定原始網(wǎng)絡(luò)G(V,E),基于邊構(gòu)造相應(yīng)的SGN(1),記為G′(V′,E′)。SGN(1)的節(jié)點集合為原始網(wǎng)絡(luò)的邊,如果兩條邊在原始網(wǎng)絡(luò)有共同端點則相應(yīng)的節(jié)點在SGN(1)中有連邊。這里以圖2a 的原始網(wǎng)絡(luò)舉例說明SGN(1)的構(gòu)造過程,依次提取原始網(wǎng)絡(luò)的邊作為SGN(1)的節(jié)點,如SGN(1)中標簽為(3,4)和(2,4) 的節(jié)點分別表示原始網(wǎng)絡(luò)的邊(v3,v4)和(v2,v4),這兩條邊包含相同的端點v4,那么SGN(1)中這兩個節(jié)點有連邊。按照這樣的構(gòu)造方法,最終得到相應(yīng)的SGN(1),如圖2b 所示。
1.2.2 SGN(2)的構(gòu)造過程
給定原始網(wǎng)絡(luò),基于SGN(1)構(gòu)造相應(yīng)的SGN(2),用G′′(V′′,E′′)表示。SGN(2)考慮更高一階的子圖,即開三角結(jié)構(gòu)作為節(jié)點集合,構(gòu)造出SGN(1)之后進一步提取SGN(1)的邊以獲得開三角結(jié)構(gòu),如果兩個開三角包含相同的邊則相應(yīng)的節(jié)點在SGN(2)中有連邊(需要注意的是,如果以兩個開三角是否包含共同節(jié)點作為連邊條件會導致子圖網(wǎng)絡(luò)過于稠密,反而不利于挖掘網(wǎng)絡(luò)的結(jié)構(gòu)信息)。圖2d 就是基于圖2b 構(gòu)造的SGN(2),SGN(2)中標簽為(1,2,4)的節(jié)點表示原始網(wǎng)絡(luò)節(jié)點v1、v2、v4組成的開三角,標簽為(1,2,4) 和(1,2,3) 的兩個節(jié)點包含共同的邊(v1,v2),那么這兩個節(jié)點之間有連邊。通過這樣的構(gòu)造方法,最終得到節(jié)點數(shù)為6,邊數(shù)為9 的SGN(2),如圖2d 所示。

圖2 SGN(1)和SGN(2)的構(gòu)造過程以及對原始網(wǎng)絡(luò)的賦權(quán)過程
文獻[20]定義了SGN 的構(gòu)造方法之后通過子圖網(wǎng)絡(luò)的結(jié)構(gòu)信息以及原始網(wǎng)絡(luò)的結(jié)構(gòu)信息進行圖分類,這種方法需要對新構(gòu)造的SGN 進行結(jié)構(gòu)分析,有較高的復(fù)雜度,尤其在原始網(wǎng)絡(luò)邊數(shù)很多的情況下,SGN(1)的規(guī)模會很大,并且SGN(2)是基于SGN(1)構(gòu)造的,算法復(fù)雜度會更高。那么是否有方法既能反映不同階子圖信息又不需要添加太多額外的復(fù)雜度?基于此,本文根據(jù)SGN(1)和SGN(2)的拓撲結(jié)構(gòu)對原始網(wǎng)絡(luò)進行賦權(quán),以權(quán)值的形式表現(xiàn)子圖之間的交互關(guān)系,得到的加權(quán)網(wǎng)絡(luò)分別記為一階加權(quán)網(wǎng)絡(luò)和二階加權(quán)網(wǎng)絡(luò)。
首先介紹基于SGN(1)的賦權(quán)方法,SGN(1)的每一個節(jié)點分別代表G的每一條邊,那么可以選擇SGN(1)節(jié)點的度作為G中相應(yīng)邊的權(quán)重,這個權(quán)重表示與這條邊有相同端點的其他邊的數(shù)目,即與這條邊有交互的邊數(shù),基于此方法得到的加權(quán)網(wǎng)絡(luò)即為一階加權(quán)網(wǎng)絡(luò)。
以圖2b 的SGN(1)為例介紹一階加權(quán)網(wǎng)絡(luò)的賦權(quán)過程,即計算出SGN(1)中每個節(jié)點的度作為對應(yīng)邊的權(quán)重。如標簽為(1,2) 的節(jié)點度為2,那么給對應(yīng)邊(v1,v2)賦權(quán)重為2,表示G中有兩條邊(v1,v3)、 (v2,v4)與這條邊包含共同的端點,給G中每條邊都賦權(quán)之后,得到對應(yīng)的一階加權(quán)網(wǎng)絡(luò),如圖2c 所示。

二階加權(quán)網(wǎng)絡(luò)基于SGN(2)對G進行賦權(quán),SGN(2)中的節(jié)點集合由G中 的開三角結(jié)構(gòu)構(gòu)成。要給G中的某一條邊賦權(quán),先在SGN(2)的節(jié)點集合中找出包含這條邊的所有開三角結(jié)構(gòu),選擇這些節(jié)點的度的總和作為權(quán)重,權(quán)重也代表與這條邊相關(guān)的開三角結(jié)構(gòu)有交互的開三角的數(shù)目,基于此得到的加權(quán)網(wǎng)絡(luò)即為二階加權(quán)網(wǎng)絡(luò)。
以圖2d 的SGN(2)為例介紹二階加權(quán)網(wǎng)絡(luò)的賦權(quán)過程,給G的邊(v1,v3)賦權(quán),在SGN(2)中找出包含邊(v1,v3)的3 個節(jié)點,標簽分別為(1,2,3)、(1,3,4)、(1,3,5),這3 個節(jié)點的度分別為3、4、3,計算它們的總和10 即為邊(v1,v3)的權(quán)重。按同樣的方法給所有邊賦權(quán),最終得到對應(yīng)的二階加權(quán)網(wǎng)絡(luò),如圖2e 所示。

從式(2)和式(5)可以發(fā)現(xiàn),一旦知道子圖網(wǎng)絡(luò)SGN 的定義規(guī)則以及賦權(quán)方式,那么并不需要把子圖網(wǎng)絡(luò)構(gòu)造出來并加以分析,可以直接利用原始網(wǎng)絡(luò)節(jié)點的度得到兩種加權(quán)網(wǎng)絡(luò),顯然運算復(fù)雜度會大大降低。
為了表明本文定義的賦權(quán)方法可以包含更深層次的網(wǎng)絡(luò)結(jié)構(gòu)信息,本文以網(wǎng)絡(luò)的關(guān)鍵點識別作為研究對象。為此定義加權(quán)網(wǎng)絡(luò)節(jié)點的強度作為新的中心性指標,然后與原始網(wǎng)絡(luò)上的一些中心性指標進行比較,判斷該中心性指標能否更好地刻畫節(jié)點的重要性。
本文在8 個真實網(wǎng)絡(luò)中進行了關(guān)鍵點識別問題的研究,這8 個真實網(wǎng)絡(luò)分別是Email[22]、TAP[23]、Yeast[24]、CA-GrQc1[25]、Rt-alwefaq[26]、Rt-obama[26]、Power[27]、Y2H[28]。表1 為網(wǎng)絡(luò)的基本信息,其中N為節(jié)點數(shù),M為邊數(shù),<k>為平均度,βc=<k>/<k2>為傳播閾值。
本文考慮一階加權(quán)網(wǎng)絡(luò)和二階加權(quán)網(wǎng)絡(luò)中節(jié)點的強度分別定義了兩個新的中心性指標,一階子圖網(wǎng)絡(luò)中心性(first-order subgraph network centrality,SGN1)和二階子圖網(wǎng)絡(luò)中心性(second-order subgraph network centrality, SGN2):


表1 網(wǎng)絡(luò)的基本信息

特征向量中心性(eigenvector centrality, EC)[32]考慮節(jié)點的鄰居數(shù)以及節(jié)點鄰居的重要性,節(jié)點i的特征向量中心性定義為:

式中,xj表示節(jié)點j的重要性;Ai j=(ai j)N×N是網(wǎng)絡(luò)的鄰接矩陣;c是比例常數(shù)。
K-Shell 中心性(KS)[33]是基于節(jié)點度的一種粗粒度劃分,節(jié)點的核數(shù)代表了其在網(wǎng)絡(luò)中的深度,越深層的節(jié)點重要性越高。其步驟為:1) 刪去網(wǎng)絡(luò)中度為1 的節(jié)點,殘差圖中出現(xiàn)度為1 的節(jié)點繼續(xù)刪除,直至剩余網(wǎng)絡(luò)中沒有度為1 的節(jié)點,此時,所有刪去節(jié)點記為1-shell;2) 使用遞歸的方法刪去網(wǎng)絡(luò)中度為2 的節(jié)點,記為2-shell,依次下去直至網(wǎng)絡(luò)中所有節(jié)點被刪除。
LeaderRank(LR)[34]是基于游走的中心性指標,LR 主要用于有向網(wǎng)絡(luò),對于無向網(wǎng)絡(luò),首先將無向網(wǎng)絡(luò)中的無向邊理解為有向網(wǎng)絡(luò)中的雙向連接,然后添加一個背景節(jié)點g與網(wǎng)絡(luò)中的所有節(jié)點進行雙向連接,考慮了節(jié)點鄰居的重要性,節(jié)點i在t時刻的得分為:

式中,wi j表示邊(i,j)的權(quán)重;懲罰因子α(α ≥1)表示對大度節(jié)點進行懲罰。
本文以SIR(susceptible-infected-recovered)傳播模型[36]評估網(wǎng)絡(luò)中每個節(jié)點的重要性,得到每個節(jié)點作為源頭時所感染的范圍,定義感染范圍的比例為節(jié)點的重要性。為了評估某一個節(jié)點的傳播能力,將這個節(jié)點預(yù)先設(shè)為感染態(tài),其他節(jié)點均為易感態(tài)進行傳播,設(shè)SIR 傳播模型的感染概率為 β,恢復(fù)概率為1,直到網(wǎng)絡(luò)中不存在感染態(tài)節(jié)點就終止SIR 傳播過程。在此過程中,節(jié)點的感染范圍反映了節(jié)點的重要性,感染范圍越大就代表該節(jié)點重要性越大。
用Kendall Rank 相關(guān)系數(shù)[37]τ來評價基于中心性指標的節(jié)點重要性排名(記為X)與節(jié)點在SIR 傳播模型的真實傳播能力排名(記為Y)的相關(guān)性,記X,Y中第i(1 ≤i ≤N)個值分別為Xi,Yi。如果X,Y中的元素滿足Xi>Xj且Yi>Yj,或者滿足Xi<Xj且Yi<Yj,則表明X,Y中這兩對元素一致;如果Xi<Xj且Yi>Yj,或者Xi>Xj且Yi<Yj,則表明這兩對元素不一致;如果Xi=Xj或Yi=Yj則表明這兩對元素既不是一致的也不是不一致的,定義Kendall Rank 相關(guān)系數(shù)τ為:式中,C是X,Y中擁有一致性的元素對數(shù);D是X,Y中擁有不一致性的元素對數(shù)。
定義M值[38]來量化節(jié)點重要性排名X的分辨率:

式中,Nc表示在排名中處于同一等級c的節(jié)點數(shù);M(X)取值在0~1 之間,M(X)越大表示排名X的分辨率越高,當M(X)=1時表示X中所有排名都處于不同等級,M(X)=0表示X中所有排名都處于同一等級。
另外定義ε(p)[33]量化中心性指標在識別網(wǎng)絡(luò)中有影響力的傳播者方面的性能:

式中,p是網(wǎng)絡(luò)規(guī)模N的比例(p∈[0,1]),定義每個節(jié)點作為源頭所感染范圍的比例為節(jié)點的擴散效率;L(p)是中心性最高的pN個節(jié)點的平均擴散效率;Leff(p)是擴散效率最高的pN個節(jié)點的平均擴散效率;ε(p)量化了具有最高中心性的pN個節(jié)點的平均感染范圍與SIR 傳播過程中最優(yōu)的pN個節(jié)點的平均感染范圍的接近程度,ε(p)越小表示中心性指標越能準確識別網(wǎng)絡(luò)中有影響力的節(jié)點。

本文在真實網(wǎng)絡(luò)中,將新定義的兩個中心性指標SGN1、SGN2,與已有的DC、CC、BC、EC、KS、LR、DIC 這7 個中心性指標進行了對比實驗。圖3 比較了基于中心性指標的節(jié)點排名與不同傳播率下的SIR 傳播模型的真實排名的Kendall Rank 相關(guān)系數(shù)τ,實驗結(jié)果取500 次平均。結(jié)果表明,除了在Power 網(wǎng)絡(luò)中,SGN1 和SGN2 指標僅次于LR 指標,在其他7 個網(wǎng)絡(luò)中,本文基于子圖定義的兩種新的中心性指標優(yōu)于其他7 種中心性指標,能更好地識別網(wǎng)絡(luò)中有影響力的節(jié)點。
此外還比較了SGN1、SGN2 和DC、CC、BC、EC、KS、LR、DIC 的M值,表2 表明M(SGN1)、M(SGN2)、M(CC)、M(EC)、M(DIC)的數(shù)值非常接近1,說明這5 種指標有很好的分辨率,并且優(yōu)于M(DC)、M(BC)、M(KS)、M(LR),但由圖3 可知本文定義的中心性指標SGN1、SGN2 在衡量網(wǎng)絡(luò)的節(jié)點重要性方面效果要優(yōu)于CC、EC、DIC。

圖3 真實網(wǎng)絡(luò)中不同中心性指標的τ值比較
對于每一個真實網(wǎng)絡(luò),設(shè)置SIR 模型的感染概率β >〈k〉/(〈k2〉-〈k〉),恢復(fù)概率為1,SIR 傳播模型的傳播范圍取500 次平均。定義網(wǎng)絡(luò)規(guī)模比例p在0.01~0.20 之間等距取20 個值,在真實網(wǎng)絡(luò)中比較了SGN1、SGN2 和DC、CC、BC、EC、KS、LR、DIC 這7 種中心性指標對應(yīng)的ε(p)。圖4的結(jié)果表明本文的中心性指標SGN1 和SGN2 對應(yīng)的ε(p)在大部分的網(wǎng)絡(luò)中最優(yōu),且中心性指標SGN1和SGN2 對應(yīng)的ε(p)都接近0,所以SGN1 和SGN2在識別網(wǎng)絡(luò)中有影響力的節(jié)點方面總體優(yōu)于DC、CC、BC、EC、KS、LR、DIC 指標。

圖4 真實網(wǎng)絡(luò)中不同中心性指標的ε(p)比較

表2 不同中心性指標的M 值比較
綜上所述,本文考慮了如何用特定子圖間的交互關(guān)系來實現(xiàn)網(wǎng)絡(luò)結(jié)構(gòu)增強,進而可以更有效地執(zhí)行結(jié)構(gòu)挖掘方面的任務(wù)。基于SGN 的構(gòu)造過程將子圖的結(jié)構(gòu)信息以權(quán)重的形式在原始網(wǎng)絡(luò)中表現(xiàn)出來,直接對原始網(wǎng)絡(luò)進行賦權(quán)得到一階加權(quán)網(wǎng)絡(luò)和二階加權(quán)網(wǎng)絡(luò)。然后在加權(quán)網(wǎng)絡(luò)中定義新的中心性指標SGN1 和SGN2,并與原始網(wǎng)絡(luò)的7 個中心性指標DC、CC、BC、EC、KS、LR、DIC 進行比較。通過研究發(fā)現(xiàn),這兩種賦權(quán)方式可以更準確地識別網(wǎng)絡(luò)中的關(guān)鍵節(jié)點。因此利用子圖交互關(guān)系的賦權(quán)方法既能挖掘網(wǎng)絡(luò)的深層次結(jié)構(gòu),又能大大降低運算復(fù)雜度。