網路表述學習經典論文——DeepWalk
論文題目:《DeepWalk: Online Learning of Social Representations》出版時間2014年6月
這篇文章是網路表示學習的經典文章,下面將簡單介紹這篇文章的演算法思想。
這篇論文提出的演算法可以將網路中的節點用低維度,連續的向量表示,以便進行進一步機器學習
本文提出的演算法的主要貢獻有:
1、使用隨機遊走的方法學習到的頂點表示,會更加具有健壯性(robust)
2、deepwalk甚至可以在只給出部分網路的情況下,學習到更好的頂點表示
3、這種方法更加有利於並行化
定義:
E⊆(V,E),這裡V是網路的節點集合,E是邊的集合,E⊆(V*V)。給出一個部分帶標籤的社群網路:G=(V,E,X,Y)。其中,X∈R^(|V|S),這裡S是特徵向量,就是每個點的特徵數,Y∈R^(|V||y|)這裡y是標籤的集合(就是有幾類)。我們的目標是學習一個XE∈R^(|V|*d)。這裡d就是我們學習到的低維的隱藏的表示。這裡的意思就是說,這裡d維的向量中,包含了社群結構,我們可以透過這個向量進行進一步的訓練和對整個社群的進一步的學習。
這個演算法學習到的主要的優點有:
1、自適應性:在新的點加進來之後,不用重新學習。
2、社群表示性:向量相似的點,對應在網路中,被分在同一個類的機率比較大。
3、低維度性:產生低維的向量可以加速進一步的分類及其他問題的求解。
4、連續性:在連續的空間中的頂點表示,可以進一步增強分類的效果。
下面是一些相關的演算法的基礎
1、隨機遊走:定義,從根節點出發,隨機遊走的結果定義為向量Wvi,向量中的每個值是當前頂點隨機選擇的下一步的鄰居。
2、冪率:如果在整個網路中的點遵循冪率分佈,那麼,在某個隨機遊走的點上也遵循冪率分佈。
冪率科普(網上資源+個人理解)如下圖:簡單來說,就是,擁有大量的度數的點的數量是少的,擁有少量的度數的點的數量是多的。
3、語言模型:假設,有個文章,我們給出一個詞序列:W=(w0,w1,……..,wn),我們在訓練的時候要最大化這個機率:Pr(wn| w0,…,wn-1)。同樣,放在隨機遊走的序列中,我們要最大化這個機率:Pr(Vi| (v1,v2,…,vi-1))。我們的目標是學習一個函式(隱含的表示方法)φ,這個φ對應一個點的d維表示,那麼:上面的機率值可以表示為:Pr(Vi| (φ(v1),….,φ(vi-1))。但是,這個不太好最大化。於是,可以用以下方法:1、用文章預測缺失詞,化為用詞預測上下文;2、上下文對應於給出的詞的左右兩邊;3、移除出現的詞的順序問題。最後,模型要求最大化一個詞在上下文出現的機率,在沒有給出詞的情況下(就是說,輸出一個向量,這個向量的每個機率表示這個向量的這個位置表示的詞出現在這個位置的機率)。
最終,最佳化問題變成了最小化下面這個式子(個人理解,這裡用log主要是將連乘變為連加,有利於最佳化):
最終產生的頂點的向量表示,由於隨機遊走,比較近的點遊走到的機率比較大,在網路上比較相似的點的表示會比較相似,這樣就可以用於其他機器學習演算法了。
演算法
DEEPWALK
這個演算法由兩個步驟組成:1、隨機遊走,2、更新步驟。
演算法引數:一個圖G(V,E),遊走視窗大小w,產生的向量的長度(頂點表示的維度)d,對於每個點走的次數γ,走的長度t。
輸出:一個頂點表示矩陣φ,大小為|V|*d
下面逐行介紹:
1:初始化φ
2:從V構建一個二叉樹T(應該是用來做分層softmax的)
3-9是演算法核心,外層迴圈代表了每個頂點產生多少個隨機序列,內層迴圈表示對每個點產生一個Wi,並用SkipGram進行更新φ。
SkipGram
這個演算法是語言模型中,最大化視窗w中出現的詞的機率的方法(梯度下降),如上圖所示
外層迴圈是對這個序列中的每個詞進行操作,內層迴圈是對每個詞的視窗大小為w的詞序列進行操作。具體操作是用一個似然函式J(φ)表示φ,然後求導,用梯度下降的方法更新,(這個α應該是學習率)。
Hierarchical Softmax
由於直接計算機率Pr(uk|φ(vj))不好計算,因此,如果把頂點放在二叉樹的葉子上,那麼預測的問題,就變成了最大化下面這個機率
路徑被定義為這樣一個序列:
計算複雜度由O(|v|)變為O(log|v|),可以加速訓練過程。
最佳化:
這裡最佳化使用隨機梯度下降(SGD),這裡的學習率α一般為0.25,然後線性減少。
通俗來講,v1在v3和v5之間,那麼,hierarchical Softmax會計算Pr(v3|φ(v1)和Pr(v5|φ(v1))的機率,而φ則向著v1的上下文是v3和v5的“方向”更新。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2641918/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Memory Networks02 記憶網路經典論文
- 論文解讀(DeepWalk)《DeepWalk: Online Learning of Social Representations》
- 深度學習與圖神經網路學習分享:CNN 經典網路之-ResNet深度學習神經網路CNN
- TopPaper:AI 初學者經典論文列表AI
- 深度學習經典卷積神經網路之AlexNet深度學習卷積神經網路
- 計算機經典論文計算機
- PointCloud及其經典論文介紹Cloud
- 大資料經典學習路線大資料
- 大彙總 | 一文學會八篇經典CNN論文CNN
- 巨經典論文!推薦系統經典模型Wide & Deep模型IDE
- ICML 2017大熱論文:Wasserstein GAN | 經典論文復現
- 深度學習筆記:CNN經典論文研讀之AlexNet及其Tensorflow實現深度學習筆記CNN
- 圖神經網路的介紹(基礎,DeepWalk和GraphSage)神經網路
- 理解卷積神經網路的利器:9篇重要的深度學習論文(上)卷積神經網路深度學習
- 理解卷積神經網路的利器:9篇重要的深度學習論文(下)卷積神經網路深度學習
- 大資料經典學習路線,必看!!大資料
- 用子圖網路補充原始網路特徵 | 圖學習論文快訊特徵
- 神經網路碰上高斯過程,DeepMind論文開啟深度學習新方向神經網路深度學習
- 高三學生憑神經網路論文研究網路暴力!00後也要出道了?神經網路
- 論文學習
- 人臉識別三大經典演算法(附經典論文列表)演算法
- 深度學習論文閱讀路線圖深度學習
- PyraNet:基於特徵金字塔網路的人體姿態估計 | 經典論文復現特徵
- Linux學習路線及網路程式設計經典書籍(轉載)Linux程式設計
- 經典論文復現 | 基於深度卷積網路的影像超解析度演算法卷積演算法
- 經典論文復現 | 基於深度卷積網路的影象超解析度演算法卷積演算法
- ZGC論文學習GC
- 牛津教授吐槽DeepMind心智神經網路,還推薦了這些多智慧體學習論文神經網路智慧體
- 【因果推斷經典論文】Direct and Indirect Effects - Judea Pearl
- 機器學習之神經網路機器學習神經網路
- 神經網路學習參考神經網路
- 大資料經典學習路線(及供參考)大資料
- 清華大學孫茂松組:圖神經網路必讀論文列表神經網路
- 神經網路圖的簡介(基本概念,DeepWalk以及GraphSage演算法)神經網路演算法
- KDD 18 & AAAI 19 | 異構資訊網路表示學習論文解讀AI
- 【深度學習篇】--神經網路中的卷積神經網路深度學習神經網路卷積
- 論文解讀 | 基於神經網路的知識推理神經網路
- 小白經典CNN論文復現系列(一):LeNet1989CNN