Dynamic Network Link Prediction by Learning Effective Subgraphs using CNN-LSTM
摘要:現有的方法大多涉及整個網絡和目標環節,這導致高計算成本。本文旨在通過使用深度學習方法提出一個新的框架來解決這些問題。DLP-LES使用基於公共鄰居的目標鏈路子圖,並學習給定動態網絡的過渡模式。此外,我們的模型引入了新的機制來降低計算成本。DLP-LES生成一個查找表來保存所需的網絡鏈路信息,並使用哈希方法來存儲和獲取鏈路信息。我們提出了一種構造進化子圖特征矩陣的算法來學習過渡鏈接模式。我們的模型使用長短期記憶神經網絡的卷積神經網絡將動態鏈接預測問題轉化為視頻分類問題。
為了驗證DLP-LES的有效性,在五個真實世界的動態網絡上進行了大量的實驗。我們將這些結果與四種網絡嵌入方法和基本啟發式方法進行了比較。
關鍵詞: 社交網絡,動態網絡,鏈接預測,子圖
為什么用子圖:
(然而,目標節點及其鄰居節點對鏈路預測的影響很大,分析整個網絡的部分可以降低時間復雜度(提取子圖)。
最近在靜態網絡中的突破性方法,WLMN [17]和SEAL[18]提出了神經網絡方法來自動選擇給定網絡的最佳啟發式,並介紹了基於鄰居節點的預測目標鏈路的子圖提取方法。然而,PLACN [19]聲稱目標鏈路的公共鄰居節點的子圖具有額外的信息僅僅來自鄰居節點的子圖,並且在各種類型的靜態網絡中取得了突出的結果。) 受此啟發,我們從目標鏈接的公共鄰居中提取子圖,並將啟發式的好處擴展到動態網絡設置。
文章提出的方法介紹:
我們提出的模型DLP-LES從給定動態網絡的最后一個快照中提取基於公共鄰居的子圖開始,並在每個時間步驟中使用啟發式特征分析子圖的過渡模式。由於復雜性,動態設置方面的研究大多忽略了鏈接權重,只考慮了鏈接的有無。在DLP-LES中,我們將鏈接權重作為具有啟發式特征的附加信息。除此之外,我們用給定動態網絡的每一個鏈路信息構造一個查找表。查找表的主要目的是當我們頻繁使用相同鏈接的信息時,減少時間和空間的復雜性。我們將在構建查找表一節中進一步闡述這一點。此后,本研究引入了一種有效的編碼方法來標記子圖的節點。在訓練神經網絡時,保持子圖的一致性是我們模型中的另一個重要任務。我們相信,檢查子圖的進化啟發式特征對於在動態網絡的任意兩個節點之間引入新的鏈接具有顯著的影響。
- 我們介紹了一種生成查找表的方法,以記錄給定動態網絡的鏈路信息,並在需要時使用哈希方法獲取必要的信息。
- 我們引入了一種新的子圖標記編碼方法。
- 我們提出了一種算法來有效地構造子圖的特征矩陣。
- 我們提出了一個新的動態網絡鏈路預測框架,使用卷積神經網絡(CNN)來有效提取子圖的高級特征,使用長短期記憶(LSTM)神經網絡來學習序列數據的長期相關性,並捕獲動態網絡中子圖的演化模式。
動態網絡鏈接預測建模
在這一節中,我們討論了所需的理論和技術的背景,以建立一個框架來預測未來的鏈接。
A、啟發式方法(Heuristic Methods)
1)公共鄰居(CN):CN的思想是,如果節點與其他節點共享鏈路,則形成新鏈路的幾率很高。這是最簡單的方法,計算任意兩個頂點v和u直接交互的鄰居數。
2)Jaccard Coefficient(JC):JC基於v和u擁有的鄰居總數產生歸一化形式的CN。
3)Adamic-Adar(AA):AA是JC的修改版。AA的首要目的是給鄰居很少或者程度較低的普通鄰居更高的優先級。
4)優先連接(PA):PA的概念是如果一個節點擁有更高的度,則建立新連接的幾率很高。
5)資源分配(RA): RA度量更類似於AA。不同的是RA給低度共同鄰居的優先級比AA高
B、CNN-LSTM
DLP-LES包括卷積神經網絡(CNN)和長短期記憶(LSTM)神經網絡[27]。
在這里,我們利用CNN模型提取子圖鄰接矩陣的啟發式特征,這些特征可以作為DLP-LES中的一幅圖像;LSTM模型已被證明在捕捉任意長度的長期時間相關性方面極其有效。
DLP-LES的體系結構
該模型的四個步驟:
- 1)鏈接特征查找表構造。
- 2)子圖提取和標注。
- 3)子圖中鏈接的特征矩陣構造。
- 4)用CNN和LSTM建模
前k個等距快照作為輸入,最后第(t)個快照作為輸出。
DLP-LES (Dynamic network Link Prediction by Learning Effective Subgraphs) 突出了我們對有效的基於公共鄰居的子圖的關注,以處理動態鏈路預測。
A.鏈接要素查找表構造
如上節所述,我們有給定動態網絡G的快照序列。對於最后的快照Gt,我們提取目標鏈接的子圖用於預測,並分析子圖中每個鏈接的啟發式特征。如果我們從具有公共鏈接的子圖中考慮兩個目標鏈接,評估鏈接的啟發式特征可能是一個重復的過程。為了避免這種重復的過程,我們首先構建一個查找表<R>,為給定網絡G的每個鏈路存儲以下信息。
tk<cn,jc,aa,pa,ra,wi>,指定tk處快照的啟發式特征值
最小跳數表示在最后一個快照t + 1,v和u之間的最小跳數
平均路徑權重是最小跳數的路徑權重與最小跳數之間的比率,在最后一次快照t + 1
鏈路的平均路徑權重可以計算如下:
我們的主要目標是構建一個倉庫<R>,它可以用來檢索鏈接的信息,而無需重復計算。使用散列函數訪問信息比以表的形式訪問存儲庫有更多的好處。為此,我們制定以下散列函數。
其中v和u是任意頂點,散列函數可以為任意順序的頂點對提供特征信息。我們首先將節點對<v,u>轉換成一個唯一的鍵,這個鍵對於任何順序的節點v和u都是相同的鍵(即<v,u>,<u,v>)。為了收集我們存儲在查找表中的任何信息,我們可以使用上面的函數9。所以,復雜度為O(1)來收集給定鏈接的信息。
B、子圖提取和節點標注
我們使用任何目標節點v和u的公共鄰居來創建子圖。公共鄰居可以從節點v和u的不同跳數中收集。收集節點v和u的公共鄰居將有更多的信息來決定它們之間未來鏈路的存在,而不僅僅是收集鄰居節點。我們設置了一個閾值θ來保持子圖中節點數的限制。
定義2 (基於公共鄰居的子圖) 動態網絡的最后一個快照Gt= <V,Et>,G' = <V',E't> 是兩個節點Vi∈V' 和vj∈ V' 的公共鄰居節點集合的子集,並且當且僅當V'⊆ V和E't ⊆ Et,v'是目標鏈路的公共鄰居集合,並且| v' | =θ。
(1)、基於公共鄰居的子圖提取
(2)、子圖節點標記
節點標注有助於保持子圖的一致性。在我們提取子圖之后,包含目標鏈接的節點得到標簽1和2。我們使用節點列表NΘ,它從子圖提取中返回。然后,我們從NΘ中移除屬於目標鏈路的節點。為了對剩余節點RΘ= NΘ - { 1,2} 進行排序,我們使用平均最小跳數和平均路徑權重的信息。我們可以使用 散列函數等式 9 來獲得所需的信息。然而,我們需要一個平均跳數(HAvg)和平均路徑權重(WAvg)。所以,我們用下面的公式來計算Havg和Wavg
hv,i(hi,u)是v和I之間的最小跳數。wavg<v,i> (wavg<i,u>)是鏈路<i,u>的平均路徑權重。
我們的目標是以一致的方式對Rθ中的節點進行排序。我們可以先按平均跳數升序排序,然后按平均路徑權重降序排序,這有助於打破第一次排序的束縛。
因此,我們提出了一個辦法,把hv,i和wavg編碼成一個單一的形式,以降低復雜性如下圖:
現在,我們根據編碼值對剩余節點列表進行排序,並存儲它們,直到總節點數等於閾值θ。算法2顯示了標記的逐步標記過程。例如,圖4表示子圖節點標注的過程。最左邊的圖顯示了目標鏈路<1,2>的給定動態網絡的最后快照的子圖。節點顯示平均跳數和平均重量的信息。我們對這些值進行編碼,生成一個唯一的代碼,如圖2中最右邊的第二個所示。最后,在對編碼值排序后,每個節點都獲得一個唯一的標簽。
基於編碼方法的子圖標注表示。最左邊的圖表示提取的具有邊緣權重的子圖,中間的圖顯示了編碼值,最右邊的圖代表最終的標記
最后,在對編碼值排序后,每個節點都獲得一個唯一的標簽。
C、特征矩陣構造
我們有一系列給定動態網絡的快照。子圖提取和節點標記已經在最后的快照t中進行了處理。相同的子圖應該已經在整個時間序列tk,tk1,.... ,tt。因此,我們為每個快照的子圖構建特征度量。正如我們在前面部分已經討論過的,我們構建CN、JC、AA、PA、RA和權重的特征矩陣。
算法3描述了特征矩陣的構造過程。我們創建空的鄰接矩陣列表來存儲每個快照中的特征,如下所示:
其中l是子圖的有序節點列表的大小。算法3繼續,直到通過從查找表中獲取節點列表的所需信息來填充上述空列表。
在加權圖的鄰接矩陣的每個最后快照中,我們將零分配給正目標鏈接,以隱藏鏈接存在的信息。在圖5中,下圖說明了我們如何構造鄰接矩陣。我們只填充矩陣的上部三角形,以避免重復值。在最后一個快照中,我們用一個紅色的方框表示該值始終為零。
D、用CNN和LSTM建模
DLP-LES使用CNN和LSTM對鏈路預測框架進行建模。如前所述,我們有一個目標鏈路子圖的鄰接矩陣序列,用於根據給定動態網絡的最后快照進行預測。DLP-LES的輸入數據是以θ×θ×h的形式構造的鄰接矩陣序列,其中θ是子圖的節點數,h是模型中使用的啟發式特征數。在DLP-LES中,我們將每個鄰接矩陣視為一幅圖像。我們有tk,tk-1,.... ,tt 如圖5底部所示。一系列圖像其實就是一個視頻。所以我們可以把我們的模型當作一個視頻分類問題,其中正和負鏈接是兩個不同的類。正鏈接表示鏈接存在,(vi,vj) ∈ Et,而負鏈接表示任意兩個節點之間沒有鏈接,(vi,vj)不屬於 Et。為了訓練分類器,我們使用動態網絡的最后快照來構建數據集,其中正鏈接類的所有現有鏈接和相同數量的不存在的鏈接使用下采樣技術。
CNN以圖像分類著稱。我們利用這個特征來學習和提取每個圖像的特征,在我們的例子中是每個鄰接矩陣。我們首先將輸入數據饋送到卷積層以提取特征,然后將這些序列傳遞到單獨的LSTM,以從輸入序列中學習長期時間相關性。在CNN模型中,我們使用整流線性單位(ReLu)作為激活函數,它是使用f(x) = max(0,x)計算的,其中,x是輸入數據。在LSTM模型和輸出層,我們使用sigmoid激活函數。在DLP-LES中,我們為損失函數分配二元交叉熵來度量分類模型的性能。它可以寫成 -(y.log(p)+(1-y).log(p)) ,其中y是標簽,p是預測概率。