图嵌入方法基础学习之Node2vec
圖嵌入方法之Node2vec
(Ⅰ)主要思想
node2vec的思想同DeepWalk一樣:生成隨機游走,對隨機游走采樣得到(節點,上下文)的組合,然后用處理詞向量的方法對這樣的組合建模得到網絡節點的表示。不過在生成隨機游走過程中做了一些創新。
DeepWalk介紹見我另一篇博客
(Ⅱ)核心介紹
Node2vec是DeepWalk的一個改進,只是隨機游走的差異很小。它有參數P和Q。參數Q定義了random walk發現圖中未發現部分的概率,而參數P定義了random walk返回到前一個節點的概率。參數P控制節點周圍微觀視圖的發現。參數Q控制較大鄰域的發現。它可以推斷出社區和復雜的依賴關系。
下圖中顯示了Node2vec中一個隨機行走步長的概率。我們只是從紅結點走了一步到綠結點。返回到紅色節點的概率是1/P,而返回到與前一個(紅色)節點沒有連接的節點的概率是1/Q。到紅結點相鄰結點的概率是1。
所以node2vec節點采樣的概率如上所示。
參數p、q的意義分別如下:
返回概率p:
- 如果 p > max(q,1) ,那么采樣會盡量不往回走,對應上圖的情況,就是下一個節點不太可能是上一個訪問的節點t。
- 如果 p < max(q,1) ,那么采樣會更傾向于返回上一個節點,這樣就會一直在起始點周圍某些節點來回轉來轉去。
出入參數q:
- 如果 q > 1 ,那么游走會傾向于在起始點周圍的節點之間跑,可以反映出一個節點的BFS特性。
- 如果 q < 1 ,那么游走會傾向于往遠處跑,反映出DFS特性。
當p=1,q=1時,游走方式就等同于DeepWalk中的隨機游走。
(Ⅲ)偽代碼賞析
首先看一下算法的參數,圖G、表示向量維度d、每個節點生成的游走個數r,游走長度l,上下文的窗口長度k,以及之前提到的p、q參數。
第6步中一條walk的生成方式如下:
https://zhuanlan.zhihu.com/p/100586855
https://zhuanlan.zhihu.com/p/46344860
總結
以上是生活随笔為你收集整理的图嵌入方法基础学习之Node2vec的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql8.0重置密码
- 下一篇: EEGLAB教程-1.2通道定位