[論文閱讀筆記] Community aware random walk for network embedding
本文結構
- 解決問題
- 主要貢獻
- 演算法原理
- 參考文獻
(1) 解決問題
先前許多演算法都只考慮了網路的區域性拓撲結構資訊,忽略了原始網路中潛藏的社群資訊。
(2) 主要貢獻
Contribution: 為了結合聚類將表示學習應用於基於圖結構的社群發現任務上,本文在隨機遊走過程中結合了社群資訊,使得同社群節點具有相近的表示向量,方便聚類任務。
(3) 演算法原理
CARE演算法框架主要包含兩個部分:首先在圖上做隨機遊走(可以捕獲社群資訊),其次將得到的節點序列輸入Skip-Gram模型學習節點表示向量嵌入(不再贅述,參考DeepWalk)。
結合社群資訊的隨機遊走策略:
由於該隨機遊走策略設計得比較簡單,因此可以直接從原始碼進行剖析。首先,如果當前節點有鄰居(line 3),則下一跳節點是在當前節點鄰居中進行選擇還是在與當前節點同社群的其他節點上進行選擇是由一個超引數α確定的,可以使用生成隨機數的方式來確定(line 4)。以上是當前節點有鄰居的情況,那如果當前節點沒有鄰居呢?則往回遍歷該隨機遊走序列,選擇最近取樣的且有鄰居還沒有包含在該序列中的節點進行回溯(line 8 - 9)。
以上有一個問題,就是遊走向同社群節點跳轉,但是我們怎麼得到網路中的社群資訊呀? 論文中是通過基於模組度優化的Louvain演算法來構造社群資訊的。
通過以上方式生成同構網路上的隨機遊走序列之後,採用Skip-Gram模型訓練節點向量即可。
(4) 參考文獻
Keikha M M, Rahgozar M, Asadpour M. Community aware random walk for network embedding[J]. Knowledge-Based Systems, Elsevier, 2018, 148: 47–54.