網路表示學習論文閱讀之HARP
HARP: Hierarchical Representation Learning for Networks 閱讀筆記
摘要
在這篇文章中,作者提出了一種新的方法,能夠在做 network embedding 的時候保持網路高階的結構特徵,具體的做法是通過將原網路圖進行合併,合併為多個層次的網路圖。這個演算法應該可以說是一個通用處理框架,可以用於改進現有演算法的效果,這個在實驗中也有所展示。
介紹
Network embedding 領域在近幾年發展迅猛,出現了許多效果公認不錯的演算法,比如:DeepWalk 、Node2Vec 和 LINE 這三個演算法。不過,對於這些演算法,它們有兩個共同的問題:
基本都把考慮的重點放在了網路的區域性結構關係(如:一階相似性和二階相似性),而忽略了距離較長的全域性關係。
它們都是通過隨機梯度下降法對一個非凸的目標函式進行優化,這樣如果初始化不好就很容易陷入區域性最優。
所以,作者提出的 HARP 演算法希望通過遞迴地粗粒化方式,將原網路圖的節點和邊通過合併劃分成一系列分層的結構更小的網路圖,然後再利用現有的演算法進行不斷的特徵提取,從而實現最終的 network embedding 特徵提取。所以,在這篇文章中,作者的工作可以總結為以下幾點:
提出新的表示學習正規化
改進優化過程的效果
更好的 embedding 效果,有利於接下來的任務
演算法
對於給定的圖 ,圖表示學習的任務是找到一個對映函式 ,在這篇文章中,作者希望找到比原圖 更小的圖 ,其中 且 ,我們得到的圖 會更加有利於做 embedding,原因有以下兩個:
相比於原圖 , 的節點對之間關係更少,即 表示的空間要比 更小。
圖 的直徑要比圖 小,當小到一定程度時,基於區域性結構的演算法也能利用到圖的全域性結構。
對於整個演算法來說,大致可以看成是以下流程:
給定一個大的網路圖 和一個對映函式 ,並使用 進行初始化,得到
化簡 為一系列更小的圖
學習粗粒度 embedding
通過迭代地應用 ,改善粗粒度 embedding 為
總的演算法流程如下圖:
上述演算法中,第 1 行是將原圖劃分為多層次的小圖,具體演算法後面會介紹;第 2-3 行是初始化引數 , 是劃分到最後最小的圖,直接利用現有演算法對其求 embedding,第 *4-7 行是迭代地對比較高層次的(較大的)圖和對較低層次的(較小的)圖的 embedding 結果進行結合延伸,作為較大圖的 embedding 引數輸入進行 embedding,最後第 8 行返回原圖的 embedding 結果。
圖粗粒度化
作者使用一種混合圖粗粒度化的方法來維護不同規模的圖結構資訊,包括邊合併和中心點合併,分別維護的是一階相似度和二階相似度。示意圖如下:
邊合併
邊合併是為了保持圖結構中的一階相似度,先選擇 ,使得 中的兩條邊不會連線於相同的點,然後對於 中的每個節點對 ,合併為單一節點 ,並把之間的邊去掉,這樣,圖的規模就能夠大大的減小了。效果如上圖 2(a)。
中心點合併
在真實世界中的網路,經常符合無標度特性,也就是說,某一箇中心節點往往同時連線著非常多的節點,如果按照邊合併的策略,則這種情況對圖的粗粒度化作用非常不明顯,如上圖 2(b),所以,作者同時又採用了中心點合併的方法來進行粗粒度化操作,而它也能保持圖結構中的二階相似度。中心點合併的方法也很簡單,就是把共同以中心點為鄰居的節點兩兩進行合併,如上圖 2(c)。
混合粗粒度化
因為演算法中用到了兩種粗粒度化操作,所以,作者使用了一個簡單的方法將它們結合起來,就是先進行中心點合併,再將合併結果進行邊合併,這樣得到一張圖 ,然後再用 進行下一步合併,直到圖的節點小於某一個閾值為止。演算法如下圖:
嵌入延伸
當圖