<DepthLGP : Learning Embeddings of Out-of-Sample Nodes in Dynamic Networks>筆記
AAAI 2018
博主的話:
- 第一次看有關network embedding(NE)和高斯過程的paper,很多東西都沒怎麼弄懂,若有疏漏錯誤望見諒,如果能提醒一下的話那就太好了。
- 目前的NE的演算法大部分都是針對靜態網路(static network),即在訓練之前所有的結點都已經在圖裡了,但如何有效得到訓練之後加入網路結點的embedding還是一個問題,尤其是如何讓新的embedding也能保存與in-sample結點相同的屬性(比如說高階鄰近)。
- 這篇paper主要研究的是在動態網路中,用一個帶有設計好的kernel的高階拉普拉斯高斯過程hLGP作用於out-of-sample 結點,後面再接上一個DNN,可以生成與原圖中結點有相似特徵(即在同一個特徵空間中)的embedding。
- DepthLGP是Deeply Transformed High-order Laplacian Gaussian Process的簡寫。
The DepthLGP Model
Problem Definition
這篇paper關注的是無向圖, 是給定的圖,其中 是圖中的結點,E是邊,NE的作用就是學習一個函數 得到V中結點的embedding。
而隨著網路的增大,m個新結點 加入網路,將G擴展為 ,其中 ,則 就是out-of-sample 結點,本文研究的問題就是,給定 和 ,來infer
Model Description
模型共有兩個function,一個是hLGP的latent function ,以及基於這個latent function的DNN的embedding function ,更詳細一點就是 其中 就是DNN所學習的函數。
DepthLGP認為 的s個維度是相互獨立的(這裡我一直沒懂為啥要這樣設計,難道是為了計算簡便?有沒有大佬能解答一下),所以後文都是以h的某個維度 為對象。
每個 對應一個kernel (以 為例)
是 的鄰接矩陣, 得到的是輸入向量的對角矩陣, 得到的是輸入矩陣的拉普拉斯矩陣,而 是kernel的參數(在train的過程中learn),其中 衡量的是一階鄰近(兩個相連的結點可能相似), 衡量的是二階鄰近(兩個有相同鄰居的結點可能相似),而 則代表的是結點權重,換句話說就是在prediction時在結點v上設置多少attention,當v是out-of-sample時均設為1,這個設計可以幫助DepthLGP識別無效結點(比如社交網路中隨機follow用戶的機器人)。
下面就是hLGP的核心部分了,模型設定了每個 都依賴於一個由kernel參數化的零和高斯過程, ,即
總結一下DepthLGP模型
Prediction
模型的任務在數學上就是maximize
這個目標函數的缺陷在於要整合所有新結點可能的h(v),所以作者換成了
也就是
先最大化第二項然後直接 ,也就是
因此可以把問題聚焦到最大化子問題
由 可知
然後就可以得到下面這些式子
其中 分別表示 的左上部分n*n方陣,左下部分m*n塊,以及右下部分m*n塊。當然這個計算量太大,因此換了個式子,其中M對應的是K的逆矩陣
這一段的數學公式太多了,最後得到的就是最小化下面這個式子
是結點u和v之間邊的權重。最後來個prediction的總結吧
Training
先直接上演算法流程吧
模型訓練方法用的是ERM,主要過程就是先在G中採樣一部分子圖,然後將各個子圖中的一小部分結點視為out-of-sample結點。
Empirical Results
用的數據集如下:
- DBLP:以http://dblp.org上的co-author network為數據,把不同的研究領域視為標籤。
- PPI:一個protein-protein interaction network,從中取樣了256個度小於16的結點為out-of-sample結點。
- BlogCatalog:一個社交網路,也是取樣256個結點為out-of-sample結點。
對比的baseline如下:
- LocalAvg:把鄰近結點的embedding平均一下作為out-of-sample結點的embedding。
- Manifold Regularization (MRG):是一種 manifold regularized神經網路。
- LabelProp:一個主要用於分類的方法。
作者先用node2vec來獲取initial network的128d embedding,然後用DepthLGP來訓練initial network,最後在evolved network上運行DepthLGP的prediction和baseline方法。
hLGP就是去掉了DNN部分的DepthLGP.
這是在多標籤分類任務上的結果
這是在鏈接預測任務上的結果
推薦閱讀:
TAG:自然語言處理 | 深度學習DeepLearning | 機器學習 |