グラフ埋め込みとは何ですか?


12

最近、DeepWalkやLINEなどのグラフ埋め込みに出会いました。ただし、グラフの埋め込みが何を意味するのか、いつそれを使用するのか(アプリケーション)という明確な考えはまだありませんか?どんな提案でも大歓迎です!


1
グラフの埋め込みは、グラフの埋め込みです!したがって、グラフを取り、グラフ、エッジ、または頂点の埋め込みを返します。埋め込みにより、類似性検索が可能になり、一般的に表現を提供することで機械学習が促進されます。
エムール

@埋め込みとはどういう意味ですか?:)
Volka

1
埋め込みの意味として、物に何かを固定します。グラフの埋め込みは、頂点をサーフェスに固定し、エッジを描いてネットワークを表すようなものです。たとえば、平面グラフをエッジの交差なしで表面に埋め込むことができます。重みをエッジと適切なエッジ長に割り当てることができます。@Emre等の検索、類似述べたように、私たちは/見積りを理解するのに役立ちます2D
Kiriteeガクを

@KiriteeGakありがとう:)実際のアプリケーションは何ですか?彼らは、推薦などに使用できると言っていますか?しかし、どのように?
ボルカ

1
Youtubeのビデオの推奨は、現在見ているビデオが現在のノードであり、推奨にある次のビデオが、類似したユーザーが次に多く見たものに基づいて、あなたに最も類似したモデルであるモデルとして視覚化できますもちろん、さらに多くの要因があり、これは通過する巨大なネットワークです。このホワイトペーパーは、アプリケーションの理解に関する簡単な読み物です。
Kiriteeガク

回答:


18

グラフの埋め込みは、関連するネットワークプロパティを保持しながら、ネットワークからベクトル空間へのマッピングを学習します。

ベクトル空間は、グラフよりもデータサイエンスに適しています。グラフにはエッジとノードが含まれます。これらのネットワーク関係は、数学、統計、機械学習の特定のサブセットのみを使用できます。ベクター空間には、これらのドメインの豊富なツールセットがあります。さらに、ベクトル演算は多くの場合、同等のグラフ演算よりも簡単で高速です。

1つの例は、最近傍の検索です。グラフ内のノードから別のノードへの「ホップ」を実行できます。数ホップ後の多くの実世界のグラフでは、意味のある情報はほとんどありません(たとえば、友人の友人の友人からの推奨など)。ただし、ベクトル空間では、距離メトリックを使用して定量的な結果(ユークリッド距離やコサイン類似度など)を取得できます。意味のあるベクトル空間に定量的な距離メトリックがある場合、最近傍を見つけるのは簡単です。

グラフの埋め込み手法、アプリケーション、およびパフォーマンス:調査」は、さらに詳しく説明する概要記事です。


24

グラフ埋め込みとは何ですか? 「グラフ埋め込み」は、今日の機械学習の注目分野です。基本的に、グラフのトポロジを(非常に基本的な意味で)キャプチャするグラフの「潜在ベクトル表現」を見つけることを意味します。頂点と頂点の関係、エッジ情報なども考慮することで、この「ベクトル表現」を豊かにすることができます。グラフには、おおよそ2つのレベルの埋め込みがありますさまざまなサイズの部分グラフ):

  • 頂点の埋め込み -ここでは、指定されたグラフ内のすべての頂点の潜在ベクトル表現を見つけます。その後、これらのベクトルを空間にプロットすることにより、異なる頂点を比較できます。興味深いことに「類似」の頂点は、非類似または関連性の低い頂点よりも互いに近くにプロットされます。これは、Perozziの「DeepWalk」で行われたのと同じ作業です。
  • グラフの埋め込み -ここでは、グラフ全体の潜在ベクトル表現を見つけます。たとえば、化学物質のグループがあり、どの化合物が互いに似ているか、グループ内にある化合物の数(クラスター)などを確認します。これらのベクトルを使用して空間にプロットし、上記のすべての情報を見つけてください。これはYanardagによる「Deep Graph Kernels」で行われている作業です。

アプリケーション- 注意深く見ると、埋め込みは「潜在的な」表現であり、グラフが| V | * | V | | V |の隣接行列 = 1M、アルゴリズムで1M * 1Mの数字を使用または処理するのは困難です。したがって、次元「d」の潜在的な埋め込み(d << | V |)により、隣接行列| V |が作成されます。* dおよび比較的使いやすい。別のアプリケーションとしては、次のようなものが考えられます-ソーシャルネットワークに同様の関心を持つ人々に製品を推奨する簡単なシナリオを考えてみましょう。頂点の埋め込み(ここでは各人のベクトル表現を意味します)を取得することで、これらのベクトルをプロットすることで類似したものを見つけることができ、これにより推奨が簡単になります。これらはいくつかのアプリケーションであり、他にもあります。素敵な調査論文-Graph Embedding Techniques、a Surveyを参照できます。

どこから来たの?この分野には多くの研究があり、ほとんどすべてが自然言語処理分野の画期的な研究、つまりミコロフによる「Word2Vec」から来ています。グラフの埋め込みに関する調査を開始する場合は、まずWord2Vecの仕組みを理解することをお勧めします。あなたは素晴らしい説明を見つけることができます-Word2Vecパラメーター学習の説明スタンフォード講義。次に、リストした論文にジャンプできます。これらの作品は次のように分類できます。


2
すごい!! これは絶対に完璧な答えです。どうもありがとう:)非常によくやった:)
Volka

こんにちはMausam Jain。グラフの埋め込みを使用してネットワーク内の重要なノードを特定できるかどうかを教えてください。
ボルカ

こんにちは、ボルカ。この質問に答えるには、どのタイプのグラフに取り組んいるを知る必要があります。twitter、facebook、reddit、または他の何かですか?
flyingDope

お返事ありがとうございます。私は実際に、最も社会的な人々を特定したいソーシャルネットワークで働いています:)
Volka

0

論文では、レビンらによるランダムなドット積グラフのオムニバス埋め込みのための中心極限定理。論文では、特定の種類のグラフ埋め込み(オムニバス埋め込み)は、グラフ埋め込みを「グラフの頂点が低次元ユークリッド空間のベクトルにマッピングされる」方法論として定義しています。詳細については、リンクを確認してください。


フォーラムへようこそ。論文に言及したい場合は、テキストの一部としてその名前も書き留めてください(リンクが壊れる可能性があるため)。
Mark.F
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.