潘嘉琪,鄒俊韜
(南京航空航天大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 南京 211106)
鏈路預(yù)測(cè)不僅能夠幫助人們挖掘網(wǎng)絡(luò)內(nèi)部的結(jié)構(gòu)模式和分析網(wǎng)絡(luò)動(dòng)態(tài)演化的規(guī)律,而且還在學(xué)術(shù)推薦、犯罪治安監(jiān)控、基因交互研究等諸多領(lǐng)域中體現(xiàn)出了實(shí)際的應(yīng)用價(jià)值。
Sarkar等人[1]將非參數(shù)方法運(yùn)用到動(dòng)態(tài)網(wǎng)絡(luò)的鏈路預(yù)測(cè)問(wèn)題中,并使用局部敏感哈希加速了貝葉斯推斷過(guò)程。Zhai和Zhang[2]試圖通過(guò)結(jié)合矩陣分解和自動(dòng)編碼機(jī)來(lái)處理鏈路預(yù)測(cè)問(wèn)題,并同時(shí)利用Dropout技術(shù)來(lái)進(jìn)行模型的訓(xùn)練以防止過(guò)擬合現(xiàn)象。Zhu等人[3]通過(guò)矩陣分解來(lái)對(duì)動(dòng)態(tài)網(wǎng)絡(luò)進(jìn)行鏈路預(yù)測(cè),并且通過(guò)理論分析,提出了一種局部塊坐標(biāo)下降的優(yōu)化策略。Zhang等人[4]提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的鏈路預(yù)測(cè)模型,該模型首先提取目標(biāo)節(jié)點(diǎn)對(duì)的k步局部子圖,然后再通過(guò)標(biāo)簽傳播算法對(duì)子圖內(nèi)的每個(gè)節(jié)點(diǎn)進(jìn)行哈希編碼,最后將編碼后的特征用于卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行有監(jiān)督的分類(lèi)學(xué)習(xí)。Keikha等人[5]提出了一種基于深度學(xué)習(xí)的鏈路預(yù)測(cè)框架,該框架利用網(wǎng)絡(luò)表征學(xué)習(xí)來(lái)構(gòu)建節(jié)點(diǎn)對(duì)間的特征,然后利用分類(lèi)器進(jìn)行鏈路預(yù)測(cè)。Zhang等人[6]利用堆疊自動(dòng)編碼機(jī)對(duì)引文網(wǎng)絡(luò)進(jìn)行鏈路預(yù)測(cè),取得了不錯(cuò)的預(yù)測(cè)結(jié)果。
傳統(tǒng)的關(guān)于動(dòng)態(tài)網(wǎng)絡(luò)鏈路預(yù)測(cè)的方法都是在單個(gè)時(shí)態(tài)下執(zhí)行網(wǎng)絡(luò)的特征提取,然后通過(guò)加權(quán)組合進(jìn)行預(yù)測(cè),這很可能會(huì)導(dǎo)致同一節(jié)點(diǎn)對(duì)在特征空間中的位置在兩個(gè)鄰近的時(shí)態(tài)間出現(xiàn)較大的波動(dòng),從而造成誤差。為了解決動(dòng)態(tài)網(wǎng)絡(luò)鏈路預(yù)測(cè)中節(jié)點(diǎn)對(duì)的時(shí)序特征提取面臨的問(wèn)題,文中提出一種基于深度RTRBM的動(dòng)態(tài)網(wǎng)絡(luò)鏈路預(yù)測(cè)方法。通過(guò)使用網(wǎng)絡(luò)嵌入學(xué)習(xí)算法構(gòu)建動(dòng)態(tài)網(wǎng)絡(luò)的時(shí)序特征,再結(jié)合深度學(xué)習(xí)理論將多個(gè)改進(jìn)后的RTRBM縱向堆疊以構(gòu)成深度學(xué)習(xí)結(jié)構(gòu),最后結(jié)合Logistic回歸分類(lèi)器對(duì)動(dòng)態(tài)網(wǎng)絡(luò)中的鏈路進(jìn)行分類(lèi)和預(yù)測(cè)。
問(wèn)題定義:動(dòng)態(tài)網(wǎng)絡(luò)鏈路預(yù)測(cè)是指根據(jù)網(wǎng)絡(luò)前T個(gè)時(shí)間快照{(diào)G1,G2,…,GT}對(duì)應(yīng)的結(jié)構(gòu)信息來(lái)預(yù)測(cè)網(wǎng)絡(luò)在T+1時(shí)刻中的鏈路狀態(tài)。其中Gt=(Vt,Et)表示網(wǎng)絡(luò)在t時(shí)刻的狀態(tài),Vt表示t時(shí)刻網(wǎng)絡(luò)中的節(jié)點(diǎn)集合,Et表示t時(shí)刻網(wǎng)絡(luò)中的邊集合,T為網(wǎng)絡(luò)的時(shí)間快照個(gè)數(shù)。為了便于分析網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的演化機(jī)制,文中暫不考慮節(jié)點(diǎn)隨時(shí)間變化的情況,即Vt保持不變。
循環(huán)時(shí)序玻爾茲曼機(jī)(recurrent temporal restricted Boltzmann machine,RTRBM)[7]是由一系列條件受限玻爾茲曼機(jī)(conditional restricted Boltzmann machine,CRBM)[8]組成的鏈?zhǔn)浇Y(jié)構(gòu),其主要作用是對(duì)帶有時(shí)序關(guān)系的數(shù)據(jù)進(jìn)行建模,其結(jié)構(gòu)如圖1所示。
圖1 RTRBM結(jié)構(gòu)示意圖
在圖1中,上面用虛線(xiàn)框住的部分是一個(gè)基本的RBM結(jié)構(gòu),其作用是提取數(shù)據(jù)的隱含特征,而下面虛線(xiàn)框住的部分是一個(gè)循環(huán)鏈?zhǔn)浇Y(jié)構(gòu),其目的是對(duì)數(shù)據(jù)的時(shí)序特性進(jìn)行建模表達(dá)。其中,vt∈RNv和ht∈RNh分別為樣本對(duì)應(yīng)于t時(shí)刻的數(shù)據(jù)和隱含特征。令θ={W,U,b,c}為RTRBM的模型參數(shù),W∈RNh×Nv為可見(jiàn)層和隱含層之間的連接權(quán)重,U∈RNh×Nh為隱含層在時(shí)間鏈上彼此之間的連接權(quán)重,b∈RNv和c∈RNh分別為可見(jiàn)層和隱含層的偏置,rt∈RNh表示輸入樣本數(shù)據(jù)在時(shí)間鏈上關(guān)于t時(shí)刻的隱含特征,它作為傳遞項(xiàng)捆綁了輸入樣本的時(shí)間屬性。
RTRBM考慮了前一時(shí)刻樣本在時(shí)間通道上的期望輸出,并以此作為條件得到可見(jiàn)層變量和隱含層變量的條件聯(lián)合概率分布。對(duì)于任意時(shí)刻t(t>1),給定樣本前一時(shí)刻在時(shí)間通道上的期望輸出rt-1,RTRBM關(guān)于可見(jiàn)層變量和隱含層變量的條件聯(lián)合分布定義為:
(1)
其中,Zrt-1為歸一化因子,它依賴(lài)于rt-1,而E(vt,ht|rt-1)為RTRBM對(duì)應(yīng)于t時(shí)刻的能量函數(shù),其定義為:
(2)
rt是一個(gè)時(shí)間變量,并且依賴(lài)于rt-1。在時(shí)間鏈上給定一組時(shí)序樣本數(shù)據(jù){v1,v2,…,vT},rt的定義如下:
(3)
從形式上可以看出,rt本質(zhì)上就是關(guān)于第t個(gè)RBM在隱含層上的概率輸出期望,即rt=[ht|vt]。對(duì)于時(shí)間鏈長(zhǎng)度為T(mén)的RTRBM,假定時(shí)間鏈上的每個(gè)單元之間彼此獨(dú)立,則其所有可見(jiàn)層和隱含層的聯(lián)合條件概率分布可以表述為:
(4)
其中Z為第一個(gè)RBM的歸一化因子,且有:
(5)
給定rt-1(t>1),則第t個(gè)RBM在隱含層和可見(jiàn)層上的采樣概率變?yōu)椋?/p>
p(ht,j=1|vt,rt-1)=sigm(Wj.vt+cj+Uj.rt-1)
(6)
(7)
在r1,r2,…,rT-1已知的情況下,RTRBM結(jié)構(gòu)中的所有RBM都可以看成是相互獨(dú)立的,因此,對(duì)于每個(gè)RBM而言,可以單獨(dú)地執(zhí)行分塊Gibbs采樣來(lái)近似求解模型參數(shù)的梯度。
對(duì)于一般的復(fù)雜網(wǎng)絡(luò),雖然網(wǎng)絡(luò)內(nèi)部的節(jié)點(diǎn)數(shù)量較多,但是節(jié)點(diǎn)對(duì)之間的連接卻很少,這一方面表現(xiàn)出了網(wǎng)絡(luò)的稀疏性,另一方面反映了除非特殊事件或異常情況的發(fā)生,大部分節(jié)點(diǎn)在網(wǎng)絡(luò)中的狀態(tài)應(yīng)該基本保持不變,也就是說(shuō)隨著時(shí)間的推移,大部分節(jié)點(diǎn)對(duì)應(yīng)的特征向量在潛層空間中所處的位置相對(duì)保持穩(wěn)定[9]?;谶@一假設(shè),文中在RTRBM的能量函數(shù)中加入了對(duì)時(shí)序樣本的平滑處理,即
(8)
RTRBM模型的學(xué)習(xí)過(guò)程涉及到輸入數(shù)據(jù)的對(duì)數(shù)似然概率logp(v1,v2,…,vT)關(guān)于模型參數(shù)θ求梯度的過(guò)程,而在使用CD算法求解模型該近似梯度時(shí),又涉及到了式(8)中能量函數(shù)關(guān)于參數(shù)θ求梯度的過(guò)程。為了方便描述具體的梯度推導(dǎo)過(guò)程,文中將式(8)中的能量函數(shù)改寫(xiě)為E=-H-Q2-β·L的形式,其中
(9)
基于分塊K-CD算法的RTRBM模型參數(shù)θ的梯度為:
Δθ=Eh1,…,hT|v1,…,vT;r1,…,rT-1[-θE]-
Ev1,…,vT;h1,…,hT|r1,…,rT-1[-θE]=
(10)
(1)H關(guān)于參數(shù)θ的梯度θH。
H關(guān)于參數(shù)θ的梯度求解比較簡(jiǎn)單,就相當(dāng)于在每個(gè)RBM上分別對(duì)參數(shù)θ進(jìn)行求導(dǎo),即
(11)
(2)Q2關(guān)于參數(shù)θ的梯度θQ2。
由于Q2關(guān)于參數(shù)θ的梯度都依賴(lài)于rt,所以在計(jì)算梯度時(shí),需要先計(jì)算rt關(guān)于參數(shù)θ的梯度,而rt關(guān)于參數(shù)θ的梯度可以通過(guò)時(shí)序反向傳播算法(back propagation through time,BPTT)[10]來(lái)進(jìn)行遞歸式的求解。
(12)
其中⊙為元素對(duì)乘積。由于Qt+1不是關(guān)于r1,r2,…,rt-1的函數(shù),故有rtQ2=rtQt+1,因此Q2關(guān)于rt(t≥1)的偏導(dǎo)數(shù)可以通過(guò)遞歸的形式逐一求解。
同理,Q2關(guān)于參數(shù)U的偏導(dǎo)數(shù)可以根據(jù)鏈?zhǔn)椒▌t遞歸求解,即
(13)
根據(jù)式(10)和式(13),可以求出RTRBM模型關(guān)于參數(shù)U的梯度。令Dt=〈rtQt+1〉0-〈rtQt+1〉K,2≤t≤T+1,且DT+1=0,則
ΔUQ2=
(14)
Dt=UT[Dt+1⊙rt+1⊙(1-rt+1)+
〈ht+1〉0-〈ht+1〉K]
(15)
其中1≤t≤T-1。
同理,RTRBM模型關(guān)于參數(shù)W,b,c的梯度分別為:
(16)
(17)
(18)
(3)L關(guān)于參數(shù)θ的梯度θL。
L關(guān)于參數(shù)θ的梯度需要先計(jì)算L關(guān)于rt的梯度,其計(jì)算過(guò)程可以根據(jù)鏈?zhǔn)椒▌t進(jìn)行求解,即:
(19)
而
(20)
其中rT=0。所以L(fǎng)關(guān)于參數(shù)W,U,b,c的梯度分別為:
(21)
(22)
(23)
(24)
RTRBM具體的實(shí)現(xiàn)如算法1所示:
算法1:基于分塊CD-K的RTRBM訓(xùn)練流程。
輸入:時(shí)序樣本數(shù)據(jù)v1,v2,…,vT,最大訓(xùn)練迭代次數(shù)maxIter,學(xué)習(xí)速率η,CD算法執(zhí)行步長(zhǎng)K,懲罰項(xiàng)系數(shù)β,以及每個(gè)RBM共享的模型參數(shù):可見(jiàn)層神經(jīng)元個(gè)數(shù)n_visible,隱含層神經(jīng)元個(gè)數(shù)n_hidden
輸出:RTRBM模型的最優(yōu)參數(shù)θ*={W*,U*,b*,c*}
1.隨機(jī)初始化模型參數(shù)W,U,b,c;
2.for iter=1 to maxIter do
3.根據(jù)式(3)計(jì)算出第t個(gè)RBM在時(shí)間鏈上的輸出期望rt;
4.fort=1 toTdo
5.fork=1 toKdo
8.end for
9.根據(jù)式(15)計(jì)算Dt(2≤t≤T)
10.end for
11.根據(jù)式(11)計(jì)算出H關(guān)于參數(shù)W,U,b,c的梯度WH,UH,bH,cH
12.根據(jù)式(14)、(16)、(17)和(18)計(jì)算模型在Q2上關(guān)于參數(shù)W,U,b,c的梯度ΔWQ2,ΔUQ2,ΔbQ2,ΔcQ2
14.根據(jù)式(21)~式(24)計(jì)算L關(guān)于參數(shù)W,U,b,c的梯度WL,UL,bL,cL
15.根據(jù)式(10)計(jì)算參數(shù)的梯度Δθ
16.利用隨機(jī)梯度下降法更新參數(shù)θ(iter+1)=θ(iter)+η·Δθ
17.end for
如圖2所示,基于深度RTRBM模型的動(dòng)態(tài)網(wǎng)絡(luò)鏈路預(yù)測(cè)框架總共分為數(shù)據(jù)預(yù)處理和模型訓(xùn)練兩個(gè)部分。數(shù)據(jù)預(yù)處理部分主要負(fù)責(zé)樣本集的構(gòu)建和訓(xùn)練測(cè)試集的劃分,而模型訓(xùn)練部分則主要負(fù)責(zé)訓(xùn)練深度RTRBM模型。具體的預(yù)測(cè)流程為:
步驟1:對(duì)原始網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行預(yù)處理得到時(shí)序樣本集,其中樣本屬性由t1~tT-1時(shí)刻的節(jié)點(diǎn)對(duì)特征組成,樣本標(biāo)簽由節(jié)點(diǎn)對(duì)在tT時(shí)刻的狀態(tài)構(gòu)成,有連邊則為1,否則為0;然后再采用隨機(jī)抽樣或十折交叉驗(yàn)證法對(duì)樣本集進(jìn)行劃分,得到訓(xùn)練集trainSet和測(cè)試集testSet;
步驟2:將訓(xùn)練集trainSet輸入至深度RTRBM模型,通過(guò)橫向BPTT算法逐層訓(xùn)練,獲得第n層的隱含特征;
步驟3:將第n層的隱含特征作為L(zhǎng)ogistic回歸模型的輸入,通過(guò)隨機(jī)梯度下降和反向傳播(back propagation,BP)對(duì)第n層的模型參數(shù)進(jìn)行微調(diào);
步驟4:將測(cè)試集testSet輸入至已訓(xùn)練好的預(yù)測(cè)模型,得出最后的預(yù)測(cè)結(jié)果。
圖2 基于深度RTRBM的動(dòng)態(tài)網(wǎng)絡(luò)鏈路預(yù)測(cè)框架
圖3 兩層RTRBM結(jié)構(gòu)示意圖
給定一組網(wǎng)絡(luò)的時(shí)間快照{(diào)G1,G2,…,GT},文中首先利用Node2Vec算法[11]提取各個(gè)網(wǎng)絡(luò)快照狀態(tài)下的節(jié)點(diǎn)特征,然后在此基礎(chǔ)上構(gòu)建節(jié)點(diǎn)對(duì)的特征,并且為了保證樣本集擁有足夠的區(qū)分度,還添加了CN、RA、AA相似性度量指標(biāo)得分作為擴(kuò)充屬性集,最后將每個(gè)時(shí)間快照的樣本數(shù)據(jù)合并為最終的時(shí)序樣本集。
3.1.1 數(shù)據(jù)集
實(shí)驗(yàn)部分使用的數(shù)據(jù)集全部來(lái)源于Koblenz Network Collection(http://konect.uni-koblenz.de/)和Stanford Large Network Dataset(http://snap.stanford.edu/data/),其中包含2個(gè)人際關(guān)系網(wǎng)絡(luò)和5個(gè)郵件傳遞網(wǎng)絡(luò),其相關(guān)統(tǒng)計(jì)信息如表1所示。
表1 動(dòng)態(tài)網(wǎng)絡(luò)的相關(guān)統(tǒng)計(jì)信息
3.1.2 對(duì)比算法
為了驗(yàn)證提出方法的有效性,使用兩種動(dòng)態(tài)網(wǎng)絡(luò)鏈路預(yù)測(cè)方法與之進(jìn)行對(duì)比實(shí)驗(yàn),即基于相似性度量的方法和基于深度學(xué)習(xí)的方法。
(1)基于相似性度量的方法。
對(duì)于給定的一組網(wǎng)絡(luò)時(shí)間快照序列{G1,G2,…,GT},基于相似性度量的方法首先將前T-1個(gè)網(wǎng)絡(luò)快照{(diào)G1,G2,…,GT-1}壓縮成對(duì)應(yīng)的概念圖G1,T-1,然后在G1,T-1上做靜態(tài)網(wǎng)絡(luò)鏈路預(yù)測(cè),預(yù)測(cè)GT的鏈路情況[12]。G1,T-1的鄰接矩陣A1,T-1定義如下:
(25)
其中Ak為圖Gk的鄰接矩陣。文中采用的度量指標(biāo)為CN、RA和AA。
(2)基于深度學(xué)習(xí)的方法。
基于深度學(xué)習(xí)的方法主要區(qū)別在于所使用的學(xué)習(xí)模型,文中采用的學(xué)習(xí)模型有:條件時(shí)序受限玻爾茲曼機(jī)(conditional temporal Restricted Boltzmann Machine,ctRBM)[13]和深度條件置信網(wǎng)(conditional Deep Belief Network,cDBN)[14]。
3.1.3 超參數(shù)設(shè)置
在模型參數(shù)的設(shè)置上,RBM作為DRTRBM和cDBN的基本單元,其權(quán)重矩陣W采用文獻(xiàn)[15]中的方式進(jìn)行隨機(jī)初始化,學(xué)習(xí)速率η設(shè)為0.01,CD算法的執(zhí)行步長(zhǎng)K設(shè)為1,最大訓(xùn)練次數(shù)maxIter設(shè)為100。另外,DRTRBM的懲罰項(xiàng)系數(shù)β設(shè)為0.001。
在實(shí)驗(yàn)結(jié)果上,文中采用十折交叉驗(yàn)證法,對(duì)每個(gè)網(wǎng)絡(luò)分別重復(fù)實(shí)驗(yàn)30次,并取平均值作為最終的實(shí)驗(yàn)結(jié)果。
文中使用AUC指標(biāo)來(lái)評(píng)估各個(gè)算法在不同數(shù)據(jù)集上的預(yù)測(cè)性能,實(shí)驗(yàn)結(jié)果如圖4所示。
圖4 算法關(guān)于動(dòng)態(tài)網(wǎng)絡(luò)鏈路預(yù)測(cè)的AUC得分
對(duì)于Email數(shù)據(jù)集,DRTRBM的平均AUC得分最高,相對(duì)于CN、RA、AA、ctRBM、cDBN和RTRBM分別將基準(zhǔn)線(xiàn)提高了26.70%、31.14%、31.36%、2.54%、5.84%和5.46%。此外,改進(jìn)后的RTRBM(ImRTRBM)性能比未改進(jìn)的RTRBM提高了3.32%,說(shuō)明Email網(wǎng)絡(luò)在短時(shí)間間隔內(nèi)節(jié)點(diǎn)對(duì)之間的關(guān)聯(lián)相對(duì)較為穩(wěn)定。DRTRBM的平均AUC得分比ImRTRBM提高了近2.08%,說(shuō)明通過(guò)堆疊多個(gè)RTRBM提取動(dòng)態(tài)網(wǎng)絡(luò)的深度時(shí)序特征能夠有效地提高鏈路預(yù)測(cè)的精度。
對(duì)于Email-D1數(shù)據(jù)集,ctRBM、cDBN、RTRBM、ImRTRBM和DRTRBM的平均AUC得分都在0.85以上,而CN、RA和AA的平均AUC得分都在0.65左右。其中DRTRBM的平均AUC得分最高,相比于ctRBM、cDBN、RTRBM和ImRTRBM分別將基準(zhǔn)線(xiàn)提高了2.04%、5.49%、2.68%和2.39%。ImRTRBM的平均AUC得分比RTRBM只提高了0.28%,說(shuō)明對(duì)于RTRBM的時(shí)間平滑處理效果并不是很明顯。另外,ctRBM的平均AUC得分次高,說(shuō)明網(wǎng)絡(luò)前一時(shí)刻的狀態(tài)對(duì)于后一時(shí)刻的狀態(tài)影響很大。
此外,在Email-D2~D4、Haggle、Infection數(shù)據(jù)集上,ImRTRBM和DRTRBM的平均AUC得分都比其他算法要高。
總的來(lái)說(shuō),基于機(jī)器學(xué)習(xí)的方法在AUC指標(biāo)上均比基于相似性度量的方法要高;其次,文中提出的基于深度RTRBM的動(dòng)態(tài)網(wǎng)絡(luò)鏈路預(yù)測(cè)方法不僅可以有效地提取動(dòng)態(tài)網(wǎng)絡(luò)的深度時(shí)序特征,而且可以處理節(jié)點(diǎn)對(duì)特征隨時(shí)間演化而發(fā)生的驟變問(wèn)題,進(jìn)而提高鏈路預(yù)測(cè)的準(zhǔn)確性。
將RTRBM應(yīng)用于動(dòng)態(tài)網(wǎng)絡(luò)的鏈路預(yù)測(cè),對(duì)RTRBM模型的能量函數(shù)和訓(xùn)練過(guò)程進(jìn)行了改進(jìn)。在所提出的動(dòng)態(tài)網(wǎng)絡(luò)鏈路預(yù)測(cè)框架中,首先利用Node2Vec算法提取網(wǎng)絡(luò)節(jié)點(diǎn)的嵌入特征,并基于該特征構(gòu)建用于后續(xù)學(xué)習(xí)分類(lèi)的時(shí)序樣本集,然后結(jié)合深度學(xué)習(xí)理論將多個(gè)改進(jìn)后的RTRBM縱向堆疊以構(gòu)成深度學(xué)習(xí)結(jié)構(gòu)來(lái)提取網(wǎng)絡(luò)的深度時(shí)序特征,最后結(jié)合Logistic回歸分類(lèi)器對(duì)動(dòng)態(tài)網(wǎng)絡(luò)中的鏈路進(jìn)行分類(lèi)和預(yù)測(cè)。實(shí)驗(yàn)結(jié)果表明,該方法相比于其他方法有著明顯的性能提升。然而,深度RTRBM模型中的超參數(shù)需要根據(jù)網(wǎng)絡(luò)類(lèi)型和規(guī)模而決定,因此如何高效地選擇模型的超參數(shù)是今后要研究的主要問(wèn)題。