論文筆記之Structural Deep Network Embedding

本論文是kdd2016的一篇論文

主要的目的也是做node embedding。

主要的想法就是通過deep autoencode對node進行embedding,不過在在embedding的時候不僅考慮了1-hop的信息而且考慮了n-hop的信息。使其變成半監督學習的模式(其實就是對loss function改了改)

輸入是一個graph的n*n的鄰接矩陣S,其實可以看成有n個數據的訓練集,每個數據的feature個數是n,即與圖上各點的連接情況

框架如下:

這裏寫圖片描述

垂直看是正常的deep autoencode(沒有稀疏項),水平看,在每個smaple(node)的最後一個encoding層,還加上了和其他smaple(node)的約束關係,其實就是鄰接關係的約束。


具體看Loss function:

這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述

Lmix爲最後的loss function。

L2nd是在正常的算loss的平方差的基礎上點乘了一個B,

這裏寫圖片描述

其實就是放大了原本鄰接的那一項的loss,爲了使loss越小,bp後,鄰接項就會更有鄰接的趨勢。

L1st就是在最後一個encoding層,增加了與其他node的鄰接信息,這樣做的結果就是,在訓練時爲了使loss變小,那麼bp後,yi-yj更加趨於0,也是就是說鄰接項會更加的鄰接。這就是所謂的監督學習,並且這裏就體現了1-hop的信息;而原本的deep autoencode,是無監督學習,並且體現的是 n-hop的信息。因此結合起來就是半監督學習的,考慮1-hop和n-hop信息的一個structure。

Lreg就是L2正則。


訓練時,每次跑完n個node,然後計算loss和梯度,依次BP更新權重即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章