Neo4j中的圖形算法:標籤傳播

圖算法提供了理解,建模和預測複雜動態的手段,例如資源或信息流,傳染或網絡故障傳播的途徑,以及羣體的影響和彈性。

本博客系列旨在幫助您更好地利用圖形分析和圖形算法,以便您可以使用Neo4j圖形數據庫更快地有效地創新和開發智能解決方案

上週我們繼續研究社區檢測算法,重點關注弱連通分量算法。

Neo4j的

本週我們將繼續探索社區檢測算法,並查看標籤傳播算法,該算法基於鄰域多數傳播標籤作爲推斷羣集的方法。這種極快的圖形分區幾乎不需要先驗信息,因此被廣泛用於大規模網絡中進行社區檢測。

關於標籤傳播

標籤傳播算法(LPA)是一種用於在圖中查找社區的快速算法。它僅使用網絡結構作爲指導來檢測這些社區,並且不需要預定義的目標函數或關於社區的先前信息。

LPA的一個有趣特性是您可以選擇分配初步標籤以縮小生成的解決方案的範圍。這意味着您可以將其用作查找社區的半監督方式,您可以在這些社區中挑選一些初始社區。

LPA是一種相對較新的算法,僅由Raghavan等人提出。2007年,在文章“ 近線性時間算法檢測大規模網絡中的社區結構”中它的工作原理是在整個網絡中傳播標籤,並根據標籤傳播過程形成社區。

該算法背後的直覺是,單個標籤可以在密集連接的節點組中迅速成爲主導,但是它將難以穿過稀疏連接的區域。標籤將被捕獲在密集連接的節點組內,並且當算法完成時最終具有相同標籤的那些節點被視爲同一社區的一部分。

標籤傳播算法

注意:算法的工作原理如下:

    • 每個節點都使用唯一標籤(標識符)進行初始化。

    • 這些標籤通過網絡傳播。

    • 在每次傳播迭代中,每個節點將其標籤更新爲其鄰居的最大數量所屬的標籤。領帶均勻隨機地打破。

    • 當每個節點具有其鄰居的多數標籤時,LPA達到收斂。隨着標籤的傳播,密集連接的節點組很快就在唯一標籤上達成共識。在傳播結束時,只剩下幾個標籤 - 大多數都會消失。據說在收斂時具有相同標籤的節點屬於同一社區。

我應該何時使用標籤傳播?

  • 標籤傳播已被用於指定推文的極性,作爲語義分析的一部分,其使用來自經過訓練的分類器的種子標籤以結合Twitter跟隨者圖來檢測正面和負面表情符號。有關更多信息,請參閱Twitter極性分類,標籤傳播通過詞彙鏈接和跟隨者圖表。“

  • 基於化學相似性和副作用特徵,標籤傳播已被用於估計與患者共同開處方的潛在危險藥物組合。該研究發現於基於臨牀副作用的藥物 - 藥物相互作用的標籤傳播預測中。“

  • 標籤傳播已被用於在機器學習模型的對話中推斷話語的特徵,以藉助於概念及其關係的維基數據知識圖來跟蹤用戶意圖。有關更多信息,請參閱基於維基數據圖表上DST標籤傳播的特徵推斷。“

提示:與其他算法相比,標籤傳播在同一圖表上多次運行時會產生不同的社區結構。如果一些節點被給予初步標籤,則解決方案的範圍變窄,而其他節點未標記。未標記的節點更可能採用初步標籤。

標籤傳播示例

讓我們看看Label Propagation算法的實際應用。以下Cypher語句創建了一個包含用戶和FOLLOWS它們之間關係的Twitter式圖表

MERGE(nAlice:用戶{id:“Alice”})
MERGE(nBridget:User {id:“Bridget”})
MERGE(nCharles:用戶{id:“Charles”})
MERGE(nDoug:User {id:“Doug”})
MERGE(nMark:用戶{id:“Mark”})
MERGE(nMichael:用戶{id:“Michael”})
MERGE(nAlice) -  [:FOLLOWS]  - >(nBridget)
MERGE(nAlice) -  [:FOLLOWS]  - >(nCharles)
MERGE(nMark) -  [:FOLLOWS]  - >(nDoug)
MERGE(nBridget) -  [:FOLLOWS]  - >(nMichael)
MERGE(nDoug) -  [:關注]  - >(nMark)
MERGE(nMichael) -  [:FOLLOWS]  - >(nAlice)
MERGE(nAlice) -  [:FOLLOWS]  - >(nMichael)
MERGE(nBridget) -  [:FOLLOWS]  - >(nAlice)
MERGE(nMichael) -  [:FOLLOWS]  - >(nBridget)
MERGE(nCharles) -  [:FOLLOWS]  - >(nDoug);

現在我們運行LPA來查找用戶之間的社區。執行以下查詢:

CALL algo.labelPropagation.stream(“User”,“FOLLOWS”,
{direction:“OUTGOING”,迭代次數:10 })

我們的算法找到兩個社區,每個社區有三個成

似乎Michael,Bridget和Alice都在一起,Doug和Mark也是如此。只有查爾斯不會強烈適應任何一方,但結果是道格和馬克。

結論

正如我們所見,標籤傳播算法具有多種應用,從理解社會羣體中的共識形成到識別生物化學網絡過程(功能模塊)中的蛋白質組合。


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