【グラフニューラルネットワーク】グラフ構造とグラフ表現

1. グラフの構造

図: Linked Data        を記述するための共通言語グラフでは、ノードが関連しています。しかし、従来の機械学習では、データ サンプルは独立しており、同一に分散されています

グラフは、任意のサイズ(不定の長さ) および複雑なトポロジの入力構造と       互換性がある必要があり、 (処理の開始点がある CNN や GNN とは異なり)参照アンカーがありません。また、グラフも動的に変化しマルチモーダルな機能 (さまざまなタイプ) を備えています。

第二に、グラフの表現

        グラフは次のもので構成されます: N で示されるノード(ノード)、E で示されるエッジ(エッジ)、G(N,E)で示される完全なグラフ(グラフ)

設計図の初めに、オントロジー図        を作成する必要があります(物事とそれらの可能な接続の図を作成します)。

        オントロジー グラフの設計は、次の要件に従う必要があります: オントロジー グラフは一意であり、明確でなければなりません; ノードには多くの異なるデータ型が含まれる可能性があります。

        1. グラフの性質

一般的なグラフは、無向グラフ(対称、双方向) と有向グラフ                に分類できます

                さらに、異種グラフ(異種グラフ) と呼ばれる別の種類があり、異種グラフ (異種グラフ)にはさまざまなノードと接続が含まれます。異種グラフに種類2、これは二部グラフと呼ばれます。

      

               2 部グラフ内の 2 つのノードを展開して、展開された 2 部グラフを生成します(折り畳みネットワーク)

                具体的な展開方法は、2部グラフの異なる種類のノードを分離し、得られた2つの新たなグラフに、2部グラフの接続に応じて新たな接続を追加する

                接続数/ノードの次数

                次の図の A ノード (無向グラフ) ; グラフ内の接続の平均数は次のとおりです(接続は両方のノードに寄与し、x2 が必要です)

                有向グラフの場合、in-degreeout-degreeを区別する必要があります。以下の図の C ノード、、および全体の次数 = 入次数 + 出次数 ( )

                ノードの in-degree=0 の場合、それは Source と呼ばれ、out-degree=0 の場合、Sink と呼ばれます。平均接続数であり、1 対1対応のため、in-degree の平均は次と一致します。出次数の平均

        一般的な重みのないグラフに加えて、重み付きグラフと呼ばれる、接続に重みが付けられたグラフもあります。重み付きグラフを含む隣接行列の要素は、そのエッジの重みであり、1 でも 0 でもありません。ウェイト マップの読み取り値は、ゼロ以外のすべての要素の合計を接続数で割ったものです。

        グラフに自己ループがある場合、隣接行列の主な対角要素は 0 ではなくなります。接続数は主な対角要素を加算する必要があります (2 で割ることはできません)。

         グラフ内に複数の接続 (マルチグラフ) がある場合、隣接行列の要素は、その点の接続数の合計に等しくなります。

                 グラフの接続性

                        任意の 2 つのノードに到達/接続できるように、グラフ内にパス (おそらく複数) が存在する必要があります。この範囲は接続コンポーネントと呼ばれます。

2 つの点が接続されていない場合、それらの隣接行列は「ブロック対角                        の特性を持ちます。

                         2 つのグラフ間に接続が発生すると、この動作は壊れます。

                         有向グラフの場合、任意の 2 つのノードが有向接続を通じて相互に到達できる場合、それは強接続グラフと呼ばれます。下図の 3 つのノード ABC で構成されるサブグラフは強接続グラフであり、強接続グラフとも呼ばれます。接続されたドメイン( Scc )、Scc を指すノードをIn-Component (E、G など)、Scc から指すノードをOut-component (D、F など) と呼び、接続されているだけです方向を無視した場合の相互接続 通称:弱接続グラフ、以下の全体像が弱接続グラフです。

         2. グラフの行列表現

                ①隣接行列

通常、隣接行列                で表されます行列 でノード i とノード j の間に接続がある場合、接続がない場合はA ij=0になります。次の図は次のように表すことができます。

                グラフが無向の場合、隣接行列は対称であり、主対角線は 0 (自己入力接続がない場合)、ある点での接続の総数は、その行/列に沿った合計に等しくなります。点。

                そして有向グラフの場合。隣接行列は対称行列ではなくなりました。= ノード列の合計、ノード行の合計

                しかし、実際には、自然界のほとんどの接続は疎行列です(ほとんど存在しません)。この場合、接続リスト隣接リストで表すことができます。

                ②接続リスト

                接続リストの具体的な方法は、配列を使用して接続されているノードのペアのみを記録することです。これは次のように表されます。

(2,3)    #有一条边由节点2指向了节点3
(2,4)    #有一条边由节点2指向了节点4

                ③隣接リスト

                隣接関係リストの具体的な方法は次のとおりです。配列を使用して、その背後にある特定のノードに接続されているすべてのノードをリストします。これは次のように表されます。

2:3,4    #节点2指向节点3,节点4
3:2,4    #节点3指向节点2,节点4

おすすめ

転載: blog.csdn.net/weixin_37878740/article/details/129555310