日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【图神经网络】GNN从入门到精通

發布時間:2023/12/16 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【图神经网络】GNN从入门到精通 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 1.Graph基本介紹
    • 1.1 圖的表示
    • 1.2 圖的特性
      • ? 子圖 Subgraph
      • ? 接通圖 Connected Graph
      • ? 連通分量 Connected Component
      • ? 最短路徑 Shortest Path
      • ? 圖直徑 Diameter
    • 1.3 圖中心性. Centrality
      • ? 度中心性 Degree Centrality
      • ? 特征向量中心性 Eigenvector Centrality
      • ? 中介中心性 Betweenness Centrality
      • ? 連接中心性 Closeness Centrality
    • 1.4 圖矩陣
      • 關聯矩陣
      • 度矩陣
      • 鄰接矩陣
      • 拉普拉斯矩陣
    • 1.5 網頁排序算法
      • ? PageRank
      • ? HITS
  • 2.Graph Embedding
    • 2.1 DeepWalk
    • 2.2 LINE
    • 2.3 node2vec

1.Graph基本介紹

1.1 圖的表示

  • 什么是圖?

    圖是由節點與邊構成的數據結構。

  • 圖的表示?

    無向圖(兩個節點之間的邊沒有方向)

    有向圖(兩個節點之間的邊有方向)

  • 如何去表示一張圖?

  • 使用鄰接矩陣:矩陣中兩個節點有邊則為1,無邊為0

  • 圖的性質:度(degree)

    無向圖的度:節點邊的條數

    有向圖的度:分為出度(該節點指向其它節點的邊的條數)、入度(其它節點指向該節點的邊的條數)

  • 1.2 圖的特性

    ? 子圖 Subgraph

    ? 大圖的一部分,子圖中所有節點與邊以及節點和邊的關系都是大圖的一部分。

    ? 接通圖 Connected Graph

    對于一個無向圖,如果任意的節點i能夠通過一些邊到達節點j ,則稱之為連通圖

    有向圖的連通性:

    ? 強連通圖:給定有向圖G=(VE),并且給定該圖G中的任意兩個結點u和v,如果結點u與節點v互相可達,即至少存在一條路徑可以由結點u開始,到結點v終止,同時存在至少有一條路徑可以由結點v開始,到結點u終止,那么就稱該有向圖G是強連通圖。

    ? 若連通圖:若至少有一對結點不滿足單向連通,但去掉邊的方向后從無向圖的觀點看是連通圖,則D稱為弱連通圖。

    ? 連通分量 Connected Component

    連通分量:無向圖G的一個極大連通子圖稱為G的一個連通分量(或連通分支)。

    連通圖只有一個連通分量,即其自身。

    非連通圖有多個連通分量。

    ? 最短路徑 Shortest Path

    連接圖中兩個節點的最短路徑。

    ? 圖直徑 Diameter

    圖中兩兩結點最短路徑的最大值。

    1.3 圖中心性. Centrality

    ? 度中心性 Degree Centrality

    NdegreeN_{degree}Ndegree? : 節點N的度,nnn : 節點總數

    ? 特征向量中心性 Eigenvector Centrality

    對圖的鄰接矩陣求特征值與特征向量,計算出最大的特征值所對應的特征向量就表示是這個節點的特征向量中心性。

    ? 其中AAA 為鄰接矩陣,所求的特征值有五個,其中2.4811943為最高值,對應的特征向量為小紅框的內容,乘以-1 對結果不影響,所以特征向量中心性為下面的值,其中1結點與5結點的值最大,表示1結點與5結點的度最大。其中4結點比2、3結點特征向量中心性大的原因是4結點連接的兩個節點度大。

    ? 不知考慮了自身節點度的情況還考慮了與它相鄰節點度的情況。表示了在圖中該節點所屬的位置情況。

    ? 中介中心性 Betweenness Centrality

    圖中其余兩兩節點如果想要最短路徑到達那么經過一個節點的次數就是中介中心性。

    在第一個式子中計算曹操的中介中心性時,分子中第一個括號里的內容表示蔡文姬到其余節點最短路徑的次數,0:蔡文姬到甄姬最短路徑為1,經過曹操節點的次數為0,1:蔡文姬到司馬懿與夏侯惇的最短路徑為3,經過曹操節點的次數為1,0.5:蔡文姬到典韋的最短路徑是2,有兩條路,所以為0.5。

    ? 連接中心性 Closeness Centrality

    1.4 圖矩陣

    一個圖G= (V,E)由它的頂點與邊之間的關聯關系唯一確定,也由它的頂點對之間的鄰接關系唯一確定.圖的這種關系均可以用矩陣來描述,分別稱為G的關聯矩陣鄰接矩陣.
    一個圖的矩陣表示不僅僅是給出了圖的一種表示方法,重要的是可通過對這些矩陣的討論得到有關圖的若干性質.此外,在圖論的應用中,圖的矩陣表示也具有重要的作用.。

    關聯矩陣



    度矩陣



    形狀:numnodes(G)×numnodes(G)
    對角線為節點的度,其他為0。

    鄰接矩陣




    性質

    形狀:numnodes(G)×numnodes(G)
    對角線為0,其他看兩節點間是否有關系連接,如果有則為1,沒有則為0.

    拉普拉斯矩陣

    對于一個給定的圖G=(V,E),拉普拉斯矩陣定義為L=D-W,D被稱為圖的度矩陣,W是圖的鄰接矩陣。度矩陣由鄰接矩陣轉換,W和D之間的關系如下:

    將W每列元素相加,放到對應行的對角線上就是D,那么拉普拉斯矩陣就是 L = D - W。


    L 的對角線元素指示節點的度,即 L(j,j) 是節點 j 的度。
    拉普拉斯矩陣。L 是對稱的稀疏方陣,大小為numnodes(G)×numnodes(G)。對于具有自環的圖,未定義圖拉普拉斯矩陣。

    1.5 網頁排序算法

    ? PageRank


    PageRank谷歌提出的網頁排序算法。
    邊的PageRank值等于這個節點的PageRank值除以指向其它節點邊的條數。
    節點的PageRank值等于所有指向該節點邊的PageRank值之和。
    阻尼系數:上個節點的PageRank值有多大的概率不傳到下一個節點。

    ? HITS


    節點的Hub值等于這個節點指向的節點的authority值的和。(出)
    節點的authority的值等于指向該節點的節點Hub值的和。(入)

    2.Graph Embedding


    想要表示圖中的每一個節點可能會使用n維長度的one-hot編碼向量,n為節點個數。
    one-hot缺點:
    1.如果節點比較多的話,向量長度就比較大。
    2. 丟失了節點在圖中的信息情況。
    網絡嵌入就是將網絡中的點用一個低維的向量表示,并且這些向量要能反應原先網絡的某些特性,比如如果在原網絡中兩個點的結構類似,那么這兩個點表示成的向量也應該類似。
    graph embedding(GE) = graph representation embedding(GRE) = network embedding(NE) = network presentation embedding(NPE)

    Graph embedding的作用:簡化了節點的特征長度,保留了節點在圖上的信息。

    Graph embedding算法:

    2.1 DeepWalk

    【論文筆記】DeepWalk
    一種網絡嵌入的方法叫DeepWalk,它的輸入是一張圖或者網絡,輸出為網絡中頂點的向量表示。DeepWalk通過截斷隨機游走(truncated random walk)學習出一個網絡的社會表示(social representation),在網絡標注頂點很少的情況也能得到比較好的效果。并且該方法還具有可擴展的優點,能夠適應網絡的變化。

    網絡節點的表示(node representation)就是利用了詞嵌入(詞向量)的的思想。詞嵌入的基本處理元素是單詞,對應網絡網絡節點的表示的處理元素是網絡節點;詞嵌入是對構成一個句子中單詞序列進行分析,那么網絡節點的表示中節點構成的序列就是隨機游走。

    所謂隨機游走(random walk),就是在網絡上不斷重復地隨機選擇游走路徑,最終形成一條貫穿網絡的路徑。從某個特定的端點開始,游走的每一步都從與當前節點相連的邊中隨機選擇一條,沿著選定的邊移動到下一個頂點,不斷重復這個過程。下圖所示綠色部分即為一條隨機游走。

    關于隨機游走的符號解釋:以 viv_ivi? 為根節點生成的一條隨機游走路徑(綠色)為 WviW_{v_i}Wvi?? ,其中路徑上的點(藍色)分別標記為 Wvi1,Wvi2,Wvi3...W^1_{v_i},W^2_{v_i},W^3_{v_i}...Wvi?1?,Wvi?2?,Wvi?3?... …,截斷隨機游走(truncated random walk)實際上就是長度固定的隨機游走。

    使用隨機游走有兩個好處:

    并行化,隨機游走是局部的,對于一個大的網絡來說,可以同時在不同的頂點開始進行一定長度的隨機游走,多個隨機游走同時進行,可以減少采樣的時間。
    適應性,可以適應網絡局部的變化。網絡的演化通常是局部的點和邊的變化,這樣的變化只會對部分隨機游走路徑產生影響,因此在網絡的演化過程中不需要每一次都重新計算整個網絡的隨機游走。

    Algorithm
    整個DeepWalk算法包含兩部分,一部分是隨機游走的生成,另一部分是參數的更新。
    其中第2步是構建Hierarchical Softmax,第3步對每個節點做γ次隨機游走,第4步打亂網絡中的節點,第5步以每個節點為根節點生成長度為t的隨機游走,第7步根據生成的隨機游走使用skip-gram模型利用梯度的方法對參數進行更新。
    參數更新的細節如下:

    2.2 LINE

    DeepWalk在無向圖上,LINE在有向圖可以使用。
    論文名稱:LINE: Large-scale Information Network Embedding
    這篇論文同樣是做網絡嵌入,文章的主要特點是:

  • 適合任意尺寸的網絡,不論是有向圖還是無向圖還是帶權圖。
  • 本文提出的目標函數(objective function)同時考慮了網絡局部特征和全局特征。
  • 提出一種邊采樣的算法,可以很好地解決SGD的效率問題。(這部分沒怎么看懂,因此沒寫出來,感興趣的可以去看看原文)
  • 本文提出的網絡表示方法十分高效,可以在小時范圍內的單機節點上學習百萬級頂點網絡的表示。
  • 將下面兩種情況的兩個頂點歸結為相似頂點:

  • 如果兩個頂點之間有一條強連接的邊(權重很大的邊),那么這兩個頂點就是相似的。圖中頂點6與7就是這種相似。
  • 如果兩個頂點共享了很多相同的鄰居頂點,那么這兩個頂點也是相似的。圖中頂點5和6雖然沒有直接相連,但是他們同時連接到了頂點1234,所以頂點5和6也是相似的。

    這兩種相似性在文中被描述成了1階相似性和2階相似性。1階相似性認為兩個頂點的邊權重越大,兩個頂點越相似。2階相似性認為兩個頂點的共同鄰居越多,兩個頂點越相似。
  • 相關工作中diss了一波傳統方法的效果,有一些方法使用的是矩陣分解的思想,對圖的特征矩陣(拉普拉斯矩陣、鄰接矩陣)做特征分解,然而這些方法需要大量的計算,并且效果也有局限性。文中還提到了上一篇論文DeepWalk,將本文與Deepwalk做了對比。






    2.3 node2vec

    論文名稱:node2vec: Scalable Feature Learning for Networks
    node2vec的思想同DeepWalk一樣:生成隨機游走,對隨機游走采樣得到(節點,上下文)的組合,然后用處理詞向量的方法對這樣的組合建模得到網絡節點的表示。不過在生成隨機游走過程中做了一些創新。
    首先介紹了復雜網絡面對的幾種任務,一種是網絡節點的分類,通俗點說就是將網絡中的節點進行聚類,我們關心的是哪些節點具有類似的屬性,就將其分到同一個類別中。另一種是鏈接預測,就是預測網絡中哪些頂點有潛在的關聯。
    一種結構特征是很多節點會聚集在一起,內部的連接遠比外部的連接多,我們稱之為社區。另一種結構特征是網絡中兩個可能相聚很遠的點,在邊的連接上有著類似的特征。比如下圖,u,s1,s2,s3.s4u,s_{1},s_2,s_3.s_4u,s1?,s2?,s3?.s4? 就屬于一個社區,而 u,s6u,s_6u,s6? 在結構上有著相似的特征。
    那么要設計的網絡表示學習算法的目標必須滿足這兩點:

  • 同一個社區內的節點表示相似。–同質性 homophily
  • 擁有類似結構特征的節點表示相似。–結構等價性 structural equivalence
  • 說到隨機游走的采樣,本文分析了兩種圖的游走方式,深度優先游走(Depth-first Sampling,DFS)和廣度優先游走(Breadth-first Sampling,BFS),之前的圖中也畫出了兩種游走的路徑,學過圖論或者數據結構的很好理解。游走的路徑就是采樣后得到的隨機游走。

    復雜網絡處理的任務其實離不開兩種特性,前面也提到過:一種是同質性,就是之前所說的社區。一種就是結構相似性,值得注意的是,結構相似的兩個點未必相連,可以是相距很遠的兩個節點。

    BFS傾向于在初始節點的周圍游走,可以反映出一個節點的鄰居的微觀特性;而DFS一般會跑的離初始節點越來越遠,可以反映出一個節點鄰居的宏觀特性。

    鋪墊了這么多終于到本文的工作了,能不能改進DeepWalk中隨機游走的方式,使它綜合DFS和BFS的特性呢?所以本文引入了兩個參數用來控制隨機游走產生的方式。


    上圖中,對于一個隨機游走,如果已經采樣了 (t,v)(t,v)(t,v),也就是說現在停留在節點v上,那么下一個要采樣的節點x是哪個?作者定義了一個概率分布,也就是一個節點到它的不同鄰居的轉移概率:

    ![在這里

    下面來逐行看看論文中提供的算法:

    首先看一下算法的參數,圖G、表示向量維度d、每個節點生成的游走個數r,游走長度l,上下文的窗口長度k,以及之前提到的p、q參數。

  • 根據p、q和之前的公式計算一個節點到它的鄰居的轉移概率。

  • 將這個轉移概率加到圖G中形成G’。

  • walks用來存儲隨機游走,先初始化為空。

  • 外循環r次表示每個節點作為初始節點要生成r個隨機游走。

  • 然后對圖中每個節點。

  • 生成一條隨機游走walk。

  • 將walk添加到walks中保存。

  • 然后用SGD的方法對walks進行訓練。
    第6步中一條walk的生成方式如下:

  • 將初始節點u添加進去。

  • walk的長度為l,因此還要再循環添加l-1個節點。

  • 當前節點設為walk最后添加的節點。

  • 找出當前節點的所有鄰居節點。

  • 根據轉移概率采樣選擇某個鄰居s。

  • 將該鄰居添加到walk中。

  • Experiments

    下圖是一些實驗結果和可視化效果:

    總結

    以上是生活随笔為你收集整理的【图神经网络】GNN从入门到精通的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 18成人在线 | 依人成人| 国产美女精品视频国产 | 国产精品久久久久久久无码 | 亚洲福利网站 | 中文字幕日日夜夜 | 婷婷丁香激情五月 | 婷婷六月激情 | 中文字幕在线观看欧美 | 人妻少妇精品一区二区三区 | 人体毛片 | 亚洲天堂一区二区在线 | 天堂成人 | 91视频黄色 | 日韩六区 | 激情xxx | 国产无遮挡又黄又爽免费视频 | 一本大道熟女人妻中文字幕在线 | 国产成人亚洲综合 | 香蕉视频2020| 最新色站 | 西西人体做爰大胆gogo直播 | 成人黄色片网站 | 中文字幕免费看 | 最新免费av | 九九综合 | 中文字幕人妻一区二区三区在线视频 | 精品国产aⅴ一区二区三区东京热 | 老熟妇仑乱一区二区av | 黄色日比视频 | 久久影片| 天堂中文字幕 | 伊人网在线播放 | 精品国产系列 | 天堂аⅴ在线最新版在线 | 懂色av一区二区三区免费 | 久久久久久久久蜜桃 | 首尔之春在线看 | 日韩高清影院 | 免费观看一区二区三区视频 | 日韩网站在线 | 少妇乱淫 | 精精国产xxxx视频在线 | 中文字幕乱码人妻二区三区 | av在线手机版 | 国产又粗又猛又爽69xx | xxxxx亚洲 | 久草影视在线 | 成年人在线免费观看视频网站 | 中日韩免费视频 | 伊人一区二区三区 | 午夜婷婷网 | 高h喷水荡肉少妇爽多p视频 | 日不卡| 欧美国产精品一二三 | 林天顾悦瑶笔趣阁 | 色呦呦入口 | 国产嫩草在线观看 | 久久资源365 | 一级性生活免费视频 | 亚洲成人免费在线观看 | 香蕉久久久久久 | 色吧婷婷| 日本xxxx高潮少妇 | 26uuu精品一区二区在线观看 | 日本性生活一级片 | 国外成人性视频免费 | 91视频看片 | 成人动漫在线免费观看 | 精品婷婷| 成人网视频 | 成年人精品 | 亚洲精品无码久久久久 | 中文在线免费看视频 | 国产啪视频 | 欧美日韩免费高清 | julia在线播放88mav | 黄色一级视频在线观看 | 午夜免费精品 | 91国内产香蕉 | 亚洲欧洲国产视频 | 性喷潮久久久久久久久 | 欧美性猛交xx | 任你躁av一区二区三区 | 亚洲制服一区二区 | 亚洲中文字幕无码av永久 | 久久成人一区二区 | 白石茉莉奈中文字幕在 | 黄色大片网站在线观看 | 亚洲图片综合区 | 少妇无套高潮一二三区 | 亚洲综合五月 | www.国产视频.com | 色哟哟网站在线观看 | 中文字幕在线视频网站 | 99视频在线精品免费观看2 | 黄色一几片 | 亚洲一区二区黄 | 人妻一区二区在线 |