【論文筆記】LINE:大規模信息網絡嵌入

LINE: Large-scale Information Network Embedding

Arxiv 1503.03578算法

3、問題定義

咱們使用一階和二階鄰近度,正式定義了大規模信息網絡嵌入問題。 咱們首先定義一個信息網絡以下:網絡

定義 1(信息網絡):信息網絡定義爲G = (V, E),其中V是頂點集合,每一個頂點表明一個數據對象,E是頂點之間的邊集合,每一個邊表明兩個數據對象之間的關係。每一個邊e ∈ E是有序對e = (u, v)而且與權重w[uv] > 0相關聯,其表示關係的強度。 若是G是無向的,咱們有(u, v) ≡ (v, u)w[uv] = w[vu];若是G是有向的,咱們有(u, v) ≢ (v, u)w[uv] ≢ w[vu]異步

在實踐中,信息網絡能夠是定向的(例如引文網絡)或無向的(例如,Facebook 中的用戶的社交網絡)。邊的權重能夠是二元的,也能夠是任意實數。 請注意,雖然負邊權重是可能的,但在本研究中咱們只考慮非負權重。 例如,在引文網絡和社交網絡中,你須要二元值;在不一樣對象之間的共現網絡中,w[uv]能夠取任何非負值。 一些網絡中的權重可能會分散,由於一些對象共同出現不少次,而其餘對象可能只共同出現幾回。函數

將信息網絡嵌入低維空間在各類應用中都頗有用。 要進行嵌入,必須保留網絡結構。 第一個直覺是,必須保留局部網絡結構,即頂點之間的局部成對鄰近度。 咱們將局部網絡結構定義爲頂點之間的一階鄰近度:學習

定義 2(一階鄰近度):網絡中的一階鄰近度是兩個頂點之間的局部成對鄰近度。 對於由邊(u, v)連接的每對頂點,該邊上的權重w[uv]表示uv之間的一階鄰近度。 若是在uv之間沒有觀察到邊,則它們的一階鄰近度爲 0。優化

一階鄰近度一般意味着現實世界網絡中兩個節點的類似性。 例如,在社交網絡中彼此成爲朋友的人傾向於分享類似的興趣;在萬維網中相互連接的頁面傾向於談論相似的主題。 因爲這一重要性,許多現有的圖嵌入算法,如 IsoMap,LLE,拉普拉斯特徵映射和圖分解,目標是保留一階鄰近度。spa

然而,在現實世界的信息網絡中,觀察到的連接只佔很小的比例,許多其餘的連接是缺失的 [10]。缺失連接上的一對節點的一階鄰近度爲零,即便它們本質上彼此很是類似。 所以,單獨的一階鄰近不足以保留網絡結構,而且重要的是尋求解決稀疏問題的替代鄰近概念。 一種天然的直覺是,共享類似鄰居的頂點每每彼此類似。 例如,在社交網絡中,分享相似朋友的人每每具備類似的興趣,從而成爲朋友;在詞共現網絡中,老是與同一組詞共同出現的詞每每具備類似的含義。 所以,咱們定義了二階鄰近度,它補充了一階鄰近度並保留了網絡結構。code

定義 3(二階鄰近度):網絡中一對頂點(u, v)之間的二階鄰近度,是它們的鄰域網絡結構之間的類似性。 在數學上,讓p[u] = (w[u, 1], … , w[u, |V|])表示u與全部其餘頂點的一階鄰近度,而後uv之間的二階鄰近度由p[u]p[v]之間的類似性肯定。若是uv沒有連接到相同的頂點,則uv之間的二階鄰近度爲 0。orm

咱們研究了網絡嵌入的一階和二階鄰近度,其定義以下。對象

定義 4(大規模信息網絡嵌入):給定大型網絡G = (V, E),大規模信息網絡嵌入的問題,旨在將每一個頂點v ∈ V在低維空間R^d表示,即學習函數f[G]: V -> R^d,其中d << |V|。 在空間R^d中,保留頂點之間的一階鄰近度和二階鄰近度。

接下來,咱們介紹一種大規模網絡嵌入模型,它保留了一階和二階鄰近度。

4、LINE:大規模信息網絡嵌入

用於現實世界信息網絡的理想嵌入模型必須知足若干要求:首先,它必須可以保留頂點之間的一階鄰近和二階鄰近度;第二,它必須適用於很是大的網絡,好比數百萬個頂點和數十億個邊;第三,它能夠處理具備任意類型邊的網絡:有向,無向和/或加權,無權。 在本節中,咱們提出了一種新的網絡嵌入模型,稱爲「LINE」,它知足全部這三個要求。

4.1 模型描述

咱們描述 LINE 模型來分別保留一階鄰近度和二階鄰近度,而後介紹一種組合兩個鄰近度的簡單方法。

一階鄰近度

一階鄰近度是指網絡中頂點之間的局部成對鄰近度。 爲了模擬一階鄰近度,對於每一個無向邊(i, j),咱們定義頂點v[i]v[j]之間的聯合機率,以下所示:

(1)

其中u[i] ∈ R^d是頂點v[i]的低維矢量表示。公式(1)定義空間V×V上的分佈p(·,·),其經驗機率可定義爲^p[1](i, j) = w[ij]/W,其中W = Σw[ij], (i, j) ∈ E。 爲了保留一階鄰近度,一種直接的方法是最小化如下目標函數:

(2)

其中d(·,·)是兩個分佈之間的距離。 咱們選擇最小化兩個機率分佈的 KL 散度。 用 KL 散度代替d(·,·)並省略一些常數,咱們獲得:

(3)

請注意,一階鄰近度僅適用於無向圖,而不適用於有向圖。 經過找到最小化公式(3)中的目標的{u[i]}, i = 1 .. |V|,咱們能夠表示d維空間中的每一個頂點。

二階鄰近度

二階鄰近度適用於有向圖和無向圖。給定網絡,在不失通常性的狀況下,咱們假設它是有向的(無向邊能夠被認爲是具備相反方向和相等權重的兩個有向邊)。 二階鄰近度假設共享與其餘頂點的許多鏈接的頂點彼此類似。 在這種狀況下,每一個頂點也被視爲特定的「上下文」,而且假設在「上下文」中具備類似分佈的頂點是類似的。 所以,每一個頂點扮演兩個角色:頂點自己和其餘頂點的特定「上下文」。 咱們引入兩個向量u[ i]u'[i],其中u[i]v[i]在被視爲頂點時的表示,而v'[i]是當v[ i]被視爲特定「上下文」時的表示。 對於每一個有向邊(i, j),咱們首先將頂點v[i]生成「上下文」v[j]的機率定義爲:

(4)

其中|V|是頂點或「上下文」數量。對於每一個頂點v[i],公式(4)實際上定義了上下文中(即網絡中的整個頂點集)的條件分佈p[2](·|v[i])。 如上所述,二階鄰近度假設在上下文中具備類似分佈的頂點彼此類似。 爲了保持二階鄰近度,咱們應該使由低維表示指定的上下文條件分佈p[2](·|v[i])鄰近經驗分佈^p[2](·|v[i])。 所以,咱們最小化如下目標函數:

(5)

經過學習使這個目標最小化的{u[i]}, i = 1 .. |V|以及{u'[i]}, i = 1 .. |V|,咱們可以用d維向量u[i]表示每一個頂點v[i]

組合一階和二階鄰近度

要經過保留一階和二階鄰近度來嵌入網絡,咱們在實踐中找到的一種簡單而有效的方法是訓練 LINE 模型,分別保留一階鄰近和二階鄰近度,而後鏈接由兩種方法爲每一個頂點訓練的嵌入向量。結合兩種鄰近度的更原則性方法,是聯合訓練目標函數(3)和(6),咱們將其留做將來的工做。

4.2 模型優化

優化目標(6)在計算上是昂貴的,其在計算條件機率p[2]時須要對整個頂點集合求和。 爲了解決這個問題,咱們採用 [13] 中提出的負採樣方法,根據每條邊(i, j)的一些噪聲分佈採樣多個負邊。 更具體地說,它爲每一個邊(i, j)指定如下目標函數:

(7)

其中σ(x) = 1 / (1 + exp(-x))是 sigmoid 函數。 第一項用於模擬觀察到的邊,第二項用於模擬從噪聲分佈中提取的負邊,K 是負邊的數量。 咱們設置 [13] 中提出的P[n](v) ∝ d[v]^3/4,其中d[v]是頂點v的出度。

對於目標函數(3),存在一個簡單的解決方案:u[ik] = ∞,對於i = 1, ..., |V|k = 1, ..., d。 爲了不這種簡單的解決方案,咱們仍然能夠經過將u'[j]^T改成u[j]^T來利用負採樣方法(7)。

咱們採用異步隨機梯度算法(ASGD)[17] 來優化公式(7)。 在每一個步驟中,ASGD 算法對小批量邊進行採樣,而後更新模型參數。 若是採樣邊(i, j),則頂點i的嵌入向量u[i]的梯度爲將計算爲:

(8)

請注意,梯度將乘以邊的權重。 當邊的權重具備高方差時,這將成爲問題。 例如,在單詞共現網絡中,一些單詞共同出現屢次(例如,數萬次),而一些單詞僅共同出現幾回。 在這樣的網絡中,梯度的尺度發散,很難找到良好的學習率。 若是咱們根據小權重的邊選擇較大學習率,大權重的邊緣上的梯度將爆炸,而且若是咱們根據大權重的邊選擇較小學習率,梯度將變得過小。

優化 VS 邊採樣

解決上述問題的直覺是,若是全部邊的權重相等(例如,具備二元邊的網絡),則不存在選擇適當學習率的問題。 所以,簡單的處理是將加權邊展開成多個二元邊緣,例如,權重爲w的邊展開成w個二元邊。 這將解決問題,但會顯着增長內存需求,特別是當邊的權重很是大時。 爲了解決這個問題,能夠從原始邊採樣並將採樣邊視爲二元邊,採樣機率與原始邊權重成正比。 經過這種邊採樣處理,整體目標函數保持不變。 問題歸結爲如何根據權重對邊採樣。

4.3 討論

咱們討論了 LINE 模型的幾個實際問題。

低度頂點:一個實際問題是如何精確地嵌入低度頂點。 因爲此類節點的鄰居數量很是少,所以很難準確地推斷其表示,尤爲是基於二階鄰近度的方法,這種方法嚴重依賴於「上下文」的數量。對此的直觀解決方案是擴展 這些頂點的鄰居經過添加更高階的鄰居,例如鄰居的鄰居。 在本文中,咱們只考慮向每一個頂點添加二階鄰居,即鄰居的鄰居。 頂點i與其二階鄰居j之間的權重測量爲:

實際上,人們只能添加頂點{j}的子集,它與低度頂點i具備最大鄰近度。

新頂點:另外一個實際問題是如何找到新到達頂點的表示。 對於新的頂點i,若是已知其與現有頂點的鏈接,咱們能夠在現有頂點上得到經驗分佈^p[1](·, v[i])^p[2](·|v[i])。 根據目標函數公式(3)和(6),爲了得到新頂點的嵌入,一種直接的方法是最小化如下任一目標函數。

(10)

經過更新新頂點的嵌入並保持現有頂點的嵌入。 若是沒有觀察到新頂點和現有頂點之間的鏈接,咱們必須求助於其餘信息,例如頂點的文本信息,並將其做爲咱們將來的工做。

相關文章
相關標籤/搜索