节点name在graph中无法展示_图节点分类与消息传递
Message passing and node classification
本文主要解決的問題:
給定一個網絡, 其中部分節點有label, 如何能將其他的節點分配對應的節點label呢? (在生活中有很多這樣的例子, 比如通過交互行為來判斷用戶是否是薅羊毛黨)直覺上來說會考慮網絡節點間彼此的連接關系, 本文中會學習的模型是collective classification:
這其中會涉及到三類具體的方法:
- Relational classification;
- Iterative classification;
- Belief propagation;
Relational classification
Correlations Exists In Network
網絡中的節點的行為是corrlated, 具體表現為三種:
- Homophily:有相同性質的節點可能有更多的網絡聯系,如有相同音樂愛好的人更容易在相同的論壇版塊;
- Influence:一個節點的特征可能會受其他節點的影響,如假如我向我的朋友推薦我感興趣的音樂專輯, 朋友中的一些很有可能變成和我一樣對這些音樂專輯感興趣的人;
- Confounding:環境能夠對節點的特征和節點間的聯系產生影響;
Classification with network data
Motivation
相似的節點通常在網絡中彼此相連,或連接比較緊密; 而”Guilt-by-association“:關聯推定就是考慮這部分信息來對網絡中節點類型進行推斷; 所以網絡中節點類型的判斷主要通過以下三個來源的特征:
- 本身節點的特征;
- 節點相連鄰居的label;
- 節點相連鄰居的特征;
Guilt-by-association
"Guilt-by-association"的問題比較好定義,如下圖,給定Graph以及少量有label的節點,如何將剩余的節點標注為對應label,要求:網絡有同質性:
對該問題進行數學建模:給定鄰接矩陣W,大小為n*n, 以及Y為節點對應label,1為positive節點,-1位negative節點, 0位unlabeled節點,預測unlabeled的節點中postive的概率。 這里做馬爾科夫假設:節點的label類型,僅取決于相連節點的label類型:
Collective classification 通常包括三個步驟:
Probabilistic Relational Classifier
Probabilistic Relational Classifier 基本思路簡單,將每個節點類別的概率是其相鄰節點的加權平均,具體過程如下:
其中
是指節點i與節點j的連接權重。這個模型存在兩個問題:
如上圖,對初始化后的節點, 按label鄰接節點來進行加權計算,得到節點類型概率,直到收斂:經過5輪迭代之后:
Iterative Classifier
Iterative Classifier即加上節點特征后的迭代過程,主要包括兩個過程:
- Bootstrap Phase:將節點i用其特征表示,使用local classifier 去計算每個節點的label概率;
- Iteration Phase:重復針對網絡中每個節點,更新節點特征以及按local classifier對該節點進行分類,直到label穩定;
視頻教程中,舉了一個使用Iterative Classifier通過考慮網絡結構信息來做fake review detection的, 建議大家可以詳細看看論文: REV2_Fraudulent_User_Prediction_in_Rating_Platforms
Collective Classification
Belief Propagation是一個動態規劃過程, 通過節點間passing message的手段, 主要用于解決圖當中條件概率的問題。
Message Passing
舉個例子來解釋message passing的過程:
給定任務:統計圖當中所有節點的數量, 其中每個節點只能與它的鄰居節點來交互
如上圖,每一個節點會監聽來自于它鄰居的信息,然后更新信息,并將其向前傳遞, 如下圖,標紅圈的節點僅能接受到incoming messages:
在稍微更復雜的tree型的graph來展示:
Loopy Belief Propagation
為了講清楚, 這里做一個基礎的定義:
- Label-Label potential matrix : 表示節點i是類別 的條件下,其鄰接節點 j 為類別 的概率;
- prior belief :表示節點i為類別 的先驗概率;
- :節點i預測其鄰接節點j為狀態 :
上面其實很好理解:該公式考慮節點i為
?的先驗概率ψ,且根據類似于狀態轉移矩陣來得到節點j為 , 同時考慮所有鄰居節點傳遞的信息 , 隨機順序迭代,直到最終狀態穩定, 得到節點i為類別Y_{i}Yi?的概率:考慮到節點,在做message passing時,其實沒辦法判斷是否有cycle, 所以LBP在遇到cycles時會粗在一些問題,如下圖,這里稍稍有一些不明白,如果有理解的歡迎評論區討論:
LBP的優缺點如下:
- 優點:
- 挑戰:
- 勢函數:
Summary
本文基于cs224w學習整理而來,在本文中主要介紹了在node classification經典的三類處理方法:Relational classification、Iterative Classifier、Collective Classification, 介紹了經典的解決方案,如Probabilistic Relational Classifier、Message Passing, 文章中有若干案例,因為時間問題未整理,需要詳細了解的建議學習本章教程,以及相關paper, node classification是經典的graph的問題,在很多反欺詐案例中有應用。
總結
以上是生活随笔為你收集整理的节点name在graph中无法展示_图节点分类与消息传递的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑音频服务未运行怎么解决_电脑故障维修
- 下一篇: opencv4.5.0安装包_UG NX