網絡表示
- 網絡表示學習(DeepWalk,LINE,node2vec,SDNE)
- 網絡表示學習相關資料
- NE(Network Embedding)論文小覽
- 網絡表示學習領域(NRL/NE)必讀論文匯總
- 一文詳解 Word2vec 之 Skip-Gram 模型
- 自編碼器
- skip-gram源碼解析的一些文章和見解
Word2Vec
word2vec是根據詞的共現關系,將詞映射到低維向量,並保留了語料中豐富的信息
- Skip-Gram
- 給定input word 預測上下文( 如已知 Wt 預測上下文Wt-2,Wt-1,Wt+1)
- CBOW
- 給定上下文,預測input word( 如已知 Wt 上下文Wt-2,Wt-1,Wt+1 預測 Wt)
分為兩個部分:
- 建立模型
- 目的:基於訓練數據構建神經網絡,訓練好后使用模型通過訓練數據所學到的參數(建模不是最終目的)
- 通過模型獲取嵌入詞向量
基於神經網絡的語言模型的目標函數通常取為如下對數似然函數:
關鍵是條件概率函數P的構造
基於Hierarchical softmax 的CBOW 模型優化目標函數如上
基於Hierarchical softmax 的skip-gram 模型,優化的目標函數如
DeepWalk
將一個網絡中的每個節點映射成一個低維的向量,即希望在原始網絡中關系越緊密的結點對應的向量在其空間中距離越近
- word2vec針對的是文本,或者說是有序的單詞序列
- Deepwalk針對的是帶有拓撲結構的網絡
- 針對每個節點跑了個隨機游走,游走過程中就得到了一系列的有序節點序列,這些節點序列可以類比於文章的句子,節點類比於句子中的單詞,然后再使用word2vec跑,得到對應的向量
過程:
- 為每個節點生成隨機游走Wv,然后用來更新網絡嵌入(7)
- 選擇skip-gram 作為更新節點表示的方法

skip -gram
關鍵思想:產長預測句子中附近的單詞嵌入
Node2vec
類似於deepwalk,主要的創新點在於改進了隨機游走的策略,定義了兩個參數p和q,在BFS和DFS中達到一個平衡,同時考慮到局部和宏觀的信息,並且具有很高的適應性
LINE(Large scale information network embedding)
2015年提出的一中網絡表示學習方法,該方法提出了一階相似度與二階鄰近度的概念,基於這兩個鄰近度,提出了優化函數,得到的最優化結果即為每個節點的向量表示
- 一階相似性:直接相連的節點表示盡可能相近(適用於無向)
- 二階相似性:兩個節點公共的鄰居節點越多,兩個節點的表示越相近,類似,使用預警相似的兩個單詞很有可能是同義詞(適用於有向圖和無向圖)
- 邊緣采樣算法優化目標,采樣概率與權重成比例
- 因為邊的權重差異大,直接 SGD 效果不好,這里按照邊的權重采樣,每條邊當作 binary 算
- DW 沒有提供明確的目標,沒有闡明哪些網絡屬性將被保留,僅適用於未加權網絡,LINE 適用於網絡的加權和不加權的邊
MMDW(Max-Margin DeepWalk Discriminative Learning of Network Representation)
DW本身是無監督的,如果能夠引入label數據,生成的向量對於分類任務會有更好的作用
將DeepWalk和Max-Margin(SVM)結合起來
TADW(Network Representation Learning with Rich Text Information.)
在矩陣分解這個框架中,將文本直接以一個子矩陣的方式加入,會使學到的向量包含更豐富的信息。
文本矩陣是對TFIDF矩陣的SVD降維結果
Extra Info
CANE
CENE(A General Framework for Content-enhanced Network Representation Learning)
問題
同時利用網絡結構特征和文本特征來學習網絡中節點的embedding
