15.5 Pg2vecアルゴリズムの使用

Pg2vecは、エッジを主な学習ユニットとして使用し、表現学習タスクの各学習ユニットにより多くの情報(学習ユニットとして頂点を使用する場合との比較)をパックすることで、グラフレット(グラフ内のパーティション)の表現を学習します。

次の3つの主なステップで構成されています。

  1. 頂点ごとにランダム・ウォークが生成されます(事前定義されたウォークごとの長さと、事前定義された頂点ごとのウォーク数を使用します)。
  2. このランダム・ウォークの各エッジは、作成されたドキュメント(ドキュメント・ラベルはgraph-id)でproperty.edge-wordとしてマップされます。ここで、property.edge-wordはソース頂点と宛先頂点のプロパティの連結として定義されます。
  3. 生成されたドキュメント(およびそれにアタッチされたドキュメント・ラベル)は、各ドキュメントのベクトル表現(この場合はグラフ)を生成するdoc2vecアルゴリズムにフィードされます。

Pg2vecでは、特定のグラフレット・セットのグラフレット埋込みが作成され、これらのグラフレットに変更を組み込むように更新することはできません。かわりに、これらの変更されたグラフレットで新しいPg2vecモデルをトレーニングする必要があります。

Pg2vecモデルのメモリー消費量を次に示します。
O(2(n+m)*d)
説明:
  • n: グラフ内の頂点の数
  • m: グラフ内のグラフレットの数
  • d: 埋込み長

次に、4127グラフを含む例としてNCI109データセットを使用して、PGXでのPg2vecの実装における主な機能の使用方法を示します。