d3设置line长度_Graph Embedding之LINE算法解读
需要論文的朋友可以后臺私信我獲取
前言
上一篇文章給大家帶來了Graph Embedding技術中的代表算法Deepwalk,今天給大家介紹graph embedding又一代表算法——LINE,LINE(large-scale information Network,大規模信息網絡)致力于將大型的信息網絡嵌入到低維的向量空間中,且該模型適用于任何類型(有向、無向亦或是有權重)的信息網絡。并提出了一種解決經典隨機梯度下降限制的邊緣采樣算法,提高了算法的有效性和效率,且在應用方面更廣。總結下來LINE有以下幾個特點或者優勢:
(1)適用廣,適合任意類型的網絡,不論是有向圖還是無向圖還是帶權圖。
(2)信息全,目標函數(objective function)同時考慮了網絡局部特征和全局特征。
(3)效率高,提出一種邊采樣的算法,可以很好地解決SGD的效率問題。
(4)時間快,提出了十分高效網絡表示方法,在小時范圍內的單機節點上學習百萬級頂點網絡的表示。
下面一下來看看這篇文章吧。
重要定義
了解LINE算法之前需要了解一下論文里面的幾個重要概念。
信息網絡
信息網絡定義為 G=(V,E)其中V 是頂點集合,頂點表示數據對象, E 是頂點之間的邊緣的集合,每條邊表示兩個數據對象之間的關系。每條邊e(E)表示為有序對e=(u,v),并且與權重Wuv>0相關聯,權重表示關系的強度。如果G是無向的,我們有 (u,v) !=(v,u)和Wuv=Wvu ;如果G是有向的,我們有(u,v) !=(v,u) 和Wuv!=Wvu,一般情況下我們認為權重非負。
一階相似性
網絡中的一階相似性是兩個頂點之間的局部點對的鄰近度。對于有邊(u,v) 連接的每對頂點,該邊的權重Wuv 表示u 和v之間的一階相似性,如果在u 和v之間沒有觀察到邊,他們的一階相似性為0。
二階相似性
二階相似性指的是一對頂點之間的接近程度(u,v) 在網絡中是其鄰域網絡結構之間的相似性。數學上,讓
表示一階附近與所有其他的頂點,那么u和v之間的二階相似性由pu和pv之間的相似性來決定。如果沒有一個頂點同時和u與v 連接,那么u和v 的二階相似性是0。
大規模信息網絡嵌入
給定大網絡 G=(V,E),大規模信息網絡嵌入是將每個頂點v(V) 表示為低維空間(d)中的向量,學習一個函數:
其中d<<
以上圖為例:一階相似性表示兩個頂點直接相連,比如6和7兩個頂點,它們就是相似的;二階相似表示兩個兩個頂點有相同的連接頂點,比如5和6雖然不直接連接,但是同時和1,2,3,4相連,所以5和6是相似的,這和協同過濾是不是很像,說白了就是根據圖結構來表達頂點間的相似度。
算法介紹
一階相似性
對每個無向邊(i,j),定義頂點vi和vj的聯合概率分布為:
ui(d維)是頂點vi的低維向量表示,為保持其一階相似性,p(,)為空間VxV上的一個分布:
W為i,j兩點間邊權重總和。為了求解一階相似,直接方法是最小化以下的目標函數:
d(.,.)為兩種分布之間的距離,我們選擇盡量減少兩個概率分布的KL 散度。將d(,)替換為 KL 散度并省略一些常數,我們得到︰
注意一點:一階相似度僅適用于無向圖,而不適用于有向圖。
二階相似性
二階相似性適用于有向或者無向圖(比如Deepwalk里面就用到了有向的二階相似性),二階相似性假定與其他頂點共享鄰居頂點的兩個點彼此相似(無向有向均可),一個向量u和u'分別表示頂點本身和其他頂點的特定“上下文”,意為二階相似。對于每個有向邊(i,j),我們首先定義由生成“上下文”的概率:
其實這和word2vec里面的公式是一樣的代表一個條件分布,我們取i為研究對象,p(,vi),降維之后使其接近與經驗分布p2。因此最小化以下目標函數:
d(,)和一階里面定義一致,表示兩個分布的距離,λi來表示網絡中頂點i的聲望(可以理解為權重),在本文中即是頂點i的度數,因此二階相似性的計算公式為:
最后將得到一階相似向量和二階相似向量直接拼接在一起得到最終的節點向量。
模型優化
由于O2的計算代價十分的昂貴,因此目標函數優化時使用了負采樣方法,為每條邊指定了一個目標函數:
注:
就是sigmoid函數,K表示負采樣邊的個數,
其中dv是頂點v的出度(和詞向量里面的幾乎是一樣的)。
上述函數又可通過采用異步隨機梯度下降算法(ASGD)來優化。每一步中,ASGD算法對小批量邊緣進行抽樣,然后更新模型參數。但是這也帶來一個問題,如果我們根據小權重的邊緣選擇較大的學習率,那么大權重的邊上就會出現梯度爆炸,如果我們根據具有較大權重的邊選擇學習小的速率,那么小權重上的邊就會出現梯度消失。因此邊緣采樣同樣要優化。從起始邊緣采樣并將采樣的邊緣作為二進制邊緣,其中采樣概率與原始邊緣的權重成比例。
實驗分析與展示
與Deepwalk中的實驗類似。
數據集
- 語言網絡:基于英文維基百科頁面構建詞共同網絡
- 社交網絡:Flickr、Youtube
- 引用網絡:作者和論文引文網
算法
- GF
- Deepwalk
- LINE-SGD,
- LINE
- LINE (1st+2nd):
參數設置
對于所有方法,隨機梯度下降的小批量大小設置為1;以起始值p0= 0.025和pt= p0(1-t)設定學習速度, T是小批量或邊緣樣品的總數;為了公平比較,語言網絡嵌入的維度被設置為200;而其他網絡中,默認設置為128;其他的默認參數設置包括:LINE的負采樣k=5,樣本總數T=100億(LINE),T=200億(GF),窗口大小win = 10,步行長度t = 40,對于Deep Walk,每頂點行走y= 40;所有的嵌入向量最終通過設置 ||w||2 = 1進行歸一化。
語言網絡
評估學習嵌入的有效性:詞類比和文檔分類。
詞類比:給定一個單詞對(a,b)和一個單詞c,該任務旨在找到一個單詞d,使得c
和d之間的關系類似于a和b之間的關系。
由實驗結果可看出LINE(2nd)優于其他模型,相比于其他算法,LINE的二階相似性可以更好的衡量詞在空間中的關系。這個算法我沒有使用過,對于這個實驗結果我表示懷疑。
由上表可以看出LINE模型在文檔分類上效果強于其他模型。
上表比較一階相似性和二階相似性之間的效果。由表可以看出一階相似體現的是與目標詞句法和語義相關詞的混合。二階相似返回的是目標詞對應的所有語義相關詞。
社交網絡
與語言網絡相比,社交網絡更加稀缺;將每個節點分配到一個或多個社區的多標簽分類任務來評估頂點嵌入;隨機抽取不同百分比的頂點進行訓練,其余用于評估。結果在10次不同運行中進行平均。下面是在Flickr和Youtube數據集上的結果展示。
引用網絡
通過GF和LINE兩種方法對引用網絡進行評估。還通過多標簽分類任務評估頂點嵌入。 我們選擇7個流行會議,包括AAAI,CIKM,ICML,KDD,NIPS,SIGIR和WWW作為分類類別。
訓練結果
模型效果 &網絡稀疏度
參數分析
從低維向量維度個訓練樣本數來展示不同模型效果,總體來說LINE(2nd)好于其他。
穩定性
這些圖說明了一點,LINE算法很好,很穩定,好于Deepwalk等同類型算法。
總結
看這篇論文給我一種感覺是有一些很好的地方比如一階、二階相似性等,但是效果不應該這么大,可能是有一些工程經驗文章沒有說或者是我還是體會到,總結下來就是LINE是以圖的結構(邊)來構造樣本,并沒有Deepwalk里面隨機游走等方式構造序列,這種思想還是有很大的創新性的。
總結
以上是生活随笔為你收集整理的d3设置line长度_Graph Embedding之LINE算法解读的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【算法】一个简单的K近邻(KNN)原理
- 下一篇: 【算法】一个简单的线性判别分析(LDA)