1. グラフの構造
図: Linked Data を記述するための共通言語。グラフでは、ノードが関連しています。しかし、従来の機械学習では、データ サンプルは独立しており、同一に分散されています。
グラフは、任意のサイズ(不定の長さ) および複雑なトポロジの入力構造と 互換性がある必要があり、 (処理の開始点がある CNN や GNN とは異なり)参照アンカーがありません。また、グラフも動的に変化し、マルチモーダルな機能 (さまざまなタイプ) を備えています。
第二に、グラフの表現
グラフは次のもので構成されます: N で示されるノード(ノード)、E で示されるエッジ(エッジ)、G(N,E)で示される完全なグラフ(グラフ)
設計図の初めに、オントロジー図 を作成する必要があります(物事とそれらの可能な接続の図を作成します)。
オントロジー グラフの設計は、次の要件に従う必要があります: ①オントロジー グラフは一意であり、明確でなければなりません; ②ノードには多くの異なるデータ型が含まれる可能性があります。
1. グラフの性質
一般的なグラフは、無向グラフ(対称、双方向) と有向グラフ に分類できます。
さらに、異種グラフ(異種グラフ) と呼ばれる別の種類があり、異種グラフ (異種グラフ)にはさまざまなノードと接続が含まれます。異種グラフに種類2、これは二部グラフと呼ばれます。
2 部グラフ内の 2 つのノードを展開して、展開された 2 部グラフを生成します(折り畳みネットワーク)
具体的な展開方法は、2部グラフの異なる種類のノードを分離し、得られた2つの新たなグラフに、2部グラフの接続に応じて新たな接続を追加する。
接続数/ノードの次数
次の図の A ノード (無向グラフ) ; グラフ内の接続の平均数は次のとおりです(接続は両方のノードに寄与し、x2 が必要です)
有向グラフの場合、in-degreeとout-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