【圖機器學習】cs224w Lecture 15 - 網絡演變

轉自本人:https://blog.csdn.net/New2World/article/details/106519773

網絡的形成不是一蹴而就的,就像一個人的人際關係並非出生就是完整的,而是在成長過程中通過接觸他人結識新朋友而逐步形成的。以時間爲變量,網絡結構的變化過程就是我們需要研究的。這個 Lecture 以三個層次進行研究討論,分別是

  • macro level: models, densification
  • meso level: motifs, communities
  • micro level: node, link properties (degree, centrality)

Macroscopic

從宏觀的角度我們主要研究節點數和邊的數目隨時間的變化趨勢、網絡直徑的變化以及節點度分佈的變化。
首先定義節點和邊爲時刻 \(t\) 的函數 \(N(t), E(t)\),若在下一時刻 \(t+1\) 節點數翻倍,那邊的數量會如何變化?大量實驗表明,邊和節點的數量關係服從 densification power law,即 \(E(t) \propto N(t)^a,\ a\in[1,2]\)。也就是說邊的數量增長的速度遠快於節點的增長速度。如果 \(a=1\) 說明是線性增長,即每個點的 out-degree 一樣;而當 \(a=2\) 時則爲完全圖。
那麼網絡直徑怎麼變化呢?出乎意料地減小了。比如你想認識 Jure,以你現有的人際關係可能得通過你們組的學長的大學同學的室友的高中同學才能實現。但如果你的人際關係中加入了你們組學長的大學同學的室友,那你就只需要通過他的高中同學就能跟 Jure 搭上線了,距離一下就縮短了不是嗎。然而這只是我們的願景,雖然實驗表明網絡直徑的確減小了,但通過 E-R 模型模擬出的結果恰恰相反。因此除了 densification 還有其它因素使得網絡直徑縮小。
經歷過 Lecture 2 後,提到其他因素,第一反應應該就是 degree 了吧。那麼對比真實網絡的演變和一個與真實網絡具有相同度分佈的隨機圖的演變,如下圖,效果出奇地好。那麼我們來研究下這個 degree 和 densification 的關係,不過首先我們得明確一點,即 degree sequence 通常服從 power law 分佈。

第一種可能是度的指數爲 \(r_t\) 且爲一個常數。如果 \(r_t=r\in[1,2]\),那麼 \(a=2/r\)。其實這裏我一直不知道 \(a\) 怎麼得到的,這一段的講解我看了不下5遍都沒聽到他講爲什麼,而是在解釋 \(r < 2\) 時 power law 的期望不存在(無限)。最終我發現 slide 裏用詞是 "fact",也就是說這是一個普遍規律?好吧,不管了,我就這麼理解了。

另一種可能是 \(r_t\) 隨着節點數變化。如果 \(r_t=\frac{4n_t^{x-1}-1}{2n_t^{x-1}-1}\),那麼 \(a=x\),這裏的 \(x\) 是 densification 的指數。好吧,依舊是 "fact"。但是這裏的兩張圖可以看一下,左邊是節點的度的分佈,右邊是隨着節點數增加度的指數的變化。不難看出度的指數在下降,也就是說隨着圖的規模增大,度很高的節點越來越多。在 power law 中,度的期望爲 \(E[X] = \frac{r_t-1}{r_t-2}x_m\)。因此要讓 densification 增加,即讓平均度增加就需要使 \(r_t\) 與圖的規模成比例降低。

option2

Forest Fire Model

Forest Fire 模型可以描述具有“隨着節點數增加,邊密度增大而圖直徑減小”特點的圖。這個模型的 idea 很簡單,在一個 party 上如果你想認識更多的人,你會怎麼做?首先結交一個派對上的朋友,通過這個人的人際關係逐漸認識他的朋友,然後再通過朋友的朋友結識更多的人。
這個模型有兩個參數:\(p\) 表示向前傳遞,\(r\) 表示向後傳遞。這兩個值分別表示在有向圖中走 in-link 和 out-link 的概率。那麼 Forest Fire 模型的整個流程如下

  1. 新加入節點 v,隨機選取一個已有節點 w 並將其與 v 連接;
  2. 根據服從參數 \(p\)\(r\) 的幾何分佈隨機 sample 兩個值 \(x, y\)。使得其平均爲 \(p/(1-p)\)\(r/(1-r)\)
  3. 選取 w 的 \(x\) 個 out-links 和 \(y\) 個 in-links 與 v 相連;
  4. 對步驟3中加入的節點使用步驟2的操作一直到沒有新節點加入。

在參數選得好的情況下這個模型能很好的滿足 densification 增加而 diameter 減小的條件,然而事實是這個參數選取的甜區很小。

forest fire

Microscopic

微觀上我們關注隨時間變化網絡中的邊會如何演變以及它對網絡上信息傳遞的影響。

Temporal Network

時序網絡是在固定的節點集上的一系列靜態有向圖,不過它們是有時序關係的。如果將這一系列靜態圖合併成一張圖,那每條邊都有 timestamp,比如節點 A,B 在時刻 1,3,4 有連接,而時刻 2 無連接。分開看的話就像是這個網絡的演變歷史。
我們可以通過 Dijkstra 算法的變種 TPSP-Dijkstra 來找最短的 temporal path。什麼是 temporal path?比如我現在從 A 點坐車到 D 點,A 到 B 9點有車,B 到 C 10點有車,C 到 D 9點半有車,每趟車行程半小時,那我到 D 點得多久?答案是到不了,因爲我會錯過 C 到 D 的車。如果 C 到 D 是 12點發車,那我就能趕上,且距離爲一個半小時車程。爲什麼不是三個半小時?因爲距離不考慮等待時間呀。雖然距離一直是一個半小時車程,但第一種情況下我無法到達 D,因此距離就是無窮了。
那麼 TPSP-Dijkstra 怎麼做的呢?大概思路是每次鬆弛的時候先判斷在該時刻鬆弛的邊是否可達。具體僞碼如下

TPSP-Dijkstra

得到 temporal path 後就可以計算 temporal closeness \(c_{clos}(x,t)=\frac1{\sum_yd(y,x|t)}\),分母的 \(d(y,x|t)\) 表示從時刻 0 到 t,y 到 x 的最短 temporal path。這個近似度可以用來衡量節點 x 在前 t 個時刻內與其他節點有多 close。

Temporal PageRank

Internet 也是瞬息萬變的,有些網站紅極一時然後慢慢“退燒”到最後無人問津,也是一個 temporal 的過程。它的 importance 會逐漸下降,那 PageRank 怎麼做的呢?首先需要明確一點,temporal path 中每條邊的 timestamp 得是遞增的。其次,在講 PageRank 的時候我們說它其實就是一個 random walk 的過程。那麼我們也以 random walk 的方式來考慮 temporal 的情況。

\[P[(u,x,t_2)|(v,u,t_1)]=\beta^{|\Gamma_u|},\ \beta\in(0,1] \\ \Gamma_u=\{(u,y,t')|t'\in[t_1,t_2],y\in V\}\]

我們來理解一下上面的表述。\(\Gamma\) 是時刻 \(t_1\)\(t_2\) 期間從 u 到 y 所有 temporal edge。而上面那個概率表示 \(t_1\) 時刻從 v 到 u 後再在 \(t_2\) 時刻從 u 到 x 的概率。隨着 \(t_1\)\(t_2\) 的時間跨度變大,\(|\Gamma|\) 會變多,從而導致上面的指數分佈概率變小。這很 make sense。那麼來看看 Temporal PageRank 的具體定義吧

\[r(u,t) = \sum\limits_{v\in V}\sum\limits_{k=0}^t(1-\alpha)\alpha^k\sum\limits_{z\inZ(v,u|t),|z|=k}P[z|t] \]

其中 \(Z(v,u|t)\) 是到時刻 \(t\) 爲止從 v 到 u 所有可能的 temporal walk。而 \(\alpha\) 是開始一個新的 walk 的概率。(然而這裏這個 \((1-\alpha)\alpha\) 並不是很理解,如果有朋友看懂了請私信我指點迷津。)
如果這裏的時間拓展到無窮,即整個演變的最後一刻,那麼 Temporal PageRank 就變成了一個在拓展了時間線的圖上的普通 PageRank 了,然後 \(\beta^{|\Gamma_u|}\) 就變成了均勻分佈。爲什麼?你把時間線展開,然後每個點和特定時刻連通的點相連,如圖。這樣只要按照普通 PageRank 的方式來做就可以得到各個時刻下所有節點的 rank。

temporal PageRank

Mesoscopic

這個部分 Jure 沒有講,我自己看的,內容其實不多。介於宏觀的整個網絡和微觀的節點及邊之間的結構就是 motif 了,那 meso 就是研究 temporal motif 的。slides 裏的定義寫得“花裏胡哨”,其實就是在普通的 k 個點 l 條邊的 motif 的邊上標上“先後關係”,且限制 motif 內邊的時間跨度 \(\delta\)。如圖

temporal motif

後面就是一些 case study 和應用實例,自己看看 slides 吧 ~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章